Esp8266模块连接MQTT服务器收发信息

波波之前整理了一篇《MQTT服务器搭建教程(简明版)》这篇笔记波波将以乐鑫ESP8266的模块为例,来分享连接服务器,实现通信的过程。

首先需要到安信可docs官网上下载MQTT固件,烧录的方法也在安信可官网上能找到,烧录成功后可用串口工具来检测功能,IO13为RX、IO15为TX作为AT串口,串口1作为log串口,波特率为115200。

ESP8266芯片DIY单片机

1、连接路由器,实现上网。

  1. AT+CWMODE=1  //设置为STA模式
  2. AT+CWJAP="CMW-AP","12345678" //输入路由ssid和密码

2、设置MQTT连接参数。

使用MQTT服务器,需连接 MQTT broker, 假设 MQTT broker IP 为 192.168.31.113, 端口为 1883,参考AT指令如下:

  1. AT+MQTTUSERCFG=0,1,"ESP8266""admin","xuhong123",0,0,"" //设置MQTT服务器信息
  2. AT+MQTTCONN=0,"192.168.31.113",1883,0 //连接至主机

3、发送信息。

当我们连接上MQTT服务器之后,就可以进行消息发布,这次展示的是字符串消息的发布,二进制消息的发布指令为AT+MQTTPUBRAW。现在我们先发布主题为World的消息字符串“hfauih4541”,其他订阅World主题的设备就可以收到来自我们发布的信息。

  1. AT+MQTTPUB=0,"World","hfauih4541",0,0 //发布主题为World的消息字符串“hfauih4541”

4、接收/订阅信息。

当我们需要订阅或查询主题的时候,就可以使用AT+MQTTSUB这条指令,查询时使用AT+MQTTSUB?。假设我们订阅一个主题为aithinker,当其他设备发布主题为aithinker的消息时,我们就能接收到这个主题的消息。

Esp8266模块连接MQTT服务器发送信息

5、其他相关指令。

  1. AT+MQTTUNSUB //取消订阅主题
  2. AT+MQTTCLEAN //关闭连接, 释放资源
  3. AT+MQTTCONNCFG // 配置 MQTT 连接属性

 

波波
你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!