一、MQTT协议
MQTT 协议的全称是 Message Queuing Telemetry Transport,翻译为消息队列传输探测,它是 ISO 标准下的一种基于发布 - 订阅模式的消息协议,它是基于 TCP/IP 协议簇的,它是为了改善网络设备硬件的性能和网络的性能来设计的。MQTT 一般多用于 IoT 即物联网上,广泛应用于工业级别的应用场景,比如汽车、制造、石油、天然气等。
这种订阅类的协议很新颖,客户端只需要订阅服务器的消息即可;无需重复的去请求接口获取信息,在物联网方面的应用比较常见;然后我就翻出了我的ESP8266和温度传感器(DHT11);
二、实战
1、环境搭建
一如既往的使用arduino作为开发的,通过官网[Software | Arduino](https://www.arduino.cc/en/software下载按照后即可得到一个编译器;安装好对于的驱动和在arduino中设置开发板后即可进行开发步骤;
在计算机管理
->设备过管理器
中可以看到esp8266的端口号;
在arduino中开发板设置中选择相应的开发板,我选择的是“NodeMCU 1.0”(NodeMCU-12E和NodeMCU-12F没有太大的区别)
并在端口处设置好刚才在设备管理器中看到的端口号:
接下来就可以开始愉快的开发过程了;
2、代码开发
首先上网是关键,所以先让他连上网
联网成功后提示:
测试mqtt通讯,我这里使用的是公共的服务器:免费的公共 MQTT 服务器 | EMQ (emqx.com)
测试使用可以,但别使用在真实的生产中;
使用MQTT测试工具测试:
接下来就是把获取温度传感器的数据上传到MQTT服务器上:
传感器与ESP8266的连线为:
传感器: esp8266:
+(电源)————3v
-(电源)————G
out(信号)————3V
即可
上传测试连接情况:
至此就差不多了;
MQTT的应用还是很多的的,也可以作为一个IM通讯服务器来使用。在推送信息等方面的应用还是比较好的,生态链也是很完整的,在js,java,python等语言上都支持这个协议;
这篇文章只是我的一个记录吧,在物联网板块中,我还只是小白,还在不断的学习中,如果有错误的地方还望多多包涵。
评论