波波之前整理了一篇《MQTT服务器搭建教程(简明版)》这篇笔记波波将以乐鑫ESP8266的模块为例,来分享连接服务器,实现通信的过程。
首先需要到安信可docs官网上下载MQTT固件,烧录的方法也在安信可官网上能找到,烧录成功后可用串口工具来检测功能,IO13为RX、IO15为TX作为AT串口,串口1作为log串口,波特率为115200。
1、连接路由器,实现上网。
- AT+CWMODE=1 //设置为STA模式
- AT+CWJAP="CMW-AP","12345678" //输入路由ssid和密码
2、设置MQTT连接参数。
使用MQTT服务器,需连接 MQTT broker, 假设 MQTT broker IP 为 192.168.31.113, 端口为 1883,参考AT指令如下:
- AT+MQTTUSERCFG=0,1,"ESP8266", "admin","xuhong123",0,0,"" //设置MQTT服务器信息
- AT+MQTTCONN=0,"192.168.31.113",1883,0 //连接至主机
3、发送信息。
当我们连接上MQTT服务器之后,就可以进行消息发布,这次展示的是字符串消息的发布,二进制消息的发布指令为AT+MQTTPUBRAW。现在我们先发布主题为World的消息字符串“hfauih4541”,其他订阅World主题的设备就可以收到来自我们发布的信息。
- AT+MQTTPUB=0,"World","hfauih4541",0,0 //发布主题为World的消息字符串“hfauih4541”
4、接收/订阅信息。
当我们需要订阅或查询主题的时候,就可以使用AT+MQTTSUB这条指令,查询时使用AT+MQTTSUB?。假设我们订阅一个主题为aithinker,当其他设备发布主题为aithinker的消息时,我们就能接收到这个主题的消息。
5、其他相关指令。
- AT+MQTTUNSUB //取消订阅主题
- AT+MQTTCLEAN //关闭连接, 释放资源
- AT+MQTTCONNCFG // 配置 MQTT 连接属性