MicroPython入坑记(四)利用MQTT实现0编程远程控制(上)(用安卓手机)

其实你被标题党骗了,0编程那是不可能的( ̄▽ ̄)"

不过也算近似零编程了哈哈

MQTT我就不详细介绍了,毕竟看到这个标题进来的一般也就有些基础知识了。简单说说:

MQTT是IBM发布的一个物联网协议,怎么说呢,微信大家都知道,微信是大家互相联系用的,MQTT其实就类似一个物联网的微信,各个设备间可以通过MQTT来沟通信息。

其实设备间联系的协议有很多,比如TCP/UDP,HTTP等。MQTT作为很晚才出现的后辈,当然是解决以前协议的痛点的。

1.TCP/UDP(SOCKET通讯)这个是物联网甚至是互联网的基础。在应用层面,这算底层了,优点当然是灵活,其实灵活,往往就意味着难用(比如C++就很灵活)你如果想开发一个基于TCP通讯,你需要考虑通讯的方方面面,比如断线重连,比如心跳包,比如加密传输,这些都得自己来实现,可能会占用你大量的调优时间。

2.HTTP,HTTP协议大家都知道是网页传输协议,其实网页传输是HTTP的一种应用而已,HTTP属于对TCP的高层封装,是一种短链接协议,可用于设备间连接。基于HTTP协议的连接方式又有个名字叫RESTful,这个编程就简单了,因为短链接么,就不用考虑啥断线重连之类的了,并且python有urllib,requsets等库,通讯就是一句代码的事,简单至极,但也有缺点:包头太长,每次通讯都要重新连接一次。如果几秒或者几分钟以上通讯一次还差不多,如果太过频繁,不但浪费资源,也太占带宽。

MQTT完美解决了上边这些协议的痛点,并且由于是个标准,现在各种语言,乃至安卓、IOS上都有现成的客户端,特别适合我这种懒得开发JAVA APP的懒人。这里介绍一个好用的安卓APP:ioT MQTT Panel,装了这个APP,设置一下,就能通过MQTT控制设备了,下边是我随便做了个界面:

 

怎么样?是不是有点意思,值得说的是: 这是完全不需要编写代码的装上这个APP,设置一下就可以了,嗯这是跟我的树莓派连接的:

树莓派上我接了一个继电器,一个超声波测距仪,手机客户端则是实时显示树莓派CPU温度、超声波测距的距离,以及控制继电器吸合、断开。

下一篇,我会实战介绍下用这个APP控制ESP8266(nodemcu)来实现无线控制LED灯的亮灭。

转载于:https://www.cnblogs.com/yafengabc/p/8684755.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
Micropython是一种适用于微控制器的Python版本,可以使用MQTT协议进行消息的订阅和发布。以下是使用Micropython实现订阅发布MQTT消息的步骤: 1. 安装MQTTMicropython可以使用umqtt.simple库来实现MQTT的订阅和发布。可以通过pip命令来安装: ``` pip install umqtt.simple ``` 2. 连接MQTT服务器 在Micropython中,可以使用socket库来连接MQTT服务器。首先需要设置服务器的地址和端口号,然后使用socket.connect()方法连接服务器。 ```python import socket SERVER = "mqtt.example.com" PORT = 1883 sock = socket.socket() sock.connect((SERVER, PORT)) ``` 3. 订阅MQTT主题 可以使用umqtt.simple库中的mqtt.subscribe()方法来订阅MQTT主题。订阅成功后,会收到相应的消息。 ```python from umqtt.simple import MQTTClient TOPIC = "example/topic" def callback(topic, msg): print("Received message: {} from topic: {}".format(msg, topic)) client = MQTTClient("client_id", SERVER) client.set_callback(callback) client.connect() client.subscribe(TOPIC) while True: client.wait_msg() ``` 4. 发布MQTT消息 可以使用umqtt.simple库中的mqtt.publish()方法来发布MQTT消息。 ```python from umqtt.simple import MQTTClient TOPIC = "example/topic" client = MQTTClient("client_id", SERVER) client.connect() client.publish(TOPIC, "Hello, MQTT!") ``` 以上就是使用Micropython实现订阅发布MQTT消息的步骤。需要注意的是,在使用socket库连接MQTT服务器时,需要按照MQTT协议的格式发送和接收消息。具体的格式可以参考MQTT协议文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值