本文用到的工具: 链接:https://pan.baidu.com/s/1ACqBRsk5VEGaNS7HMdns2A?pwd=0000 提取码:0000 还要下载MQTTfx

参考资料:ESP8266 01S之固件烧录与调试EMQx官网MQTT入门mqtt.fx | 一款超级好用的Mqtt客户端软件(下载、安装、使用详解)详细的MQTT指令大全


一、下载MQTT固件

ESP8266 01S之固件烧录与调试 1、打开文件夹里的 flash_download_tool_3.8.7.exe ,设置默认即可 2、使用资料里的固件 ESP8266-AT-1M.bin

esp01烧录 各引脚电平_esp01烧录 各引脚电平

3、设置烧录软件的参数

esp01烧录 各引脚电平_固件_02

别忘了上面的勾,一开始忘了以为下载成功了,后来折腾了不久。

4、验证。

打开串口调试助手 sscom5.13.1.exe

AT+MQTTUSERCFG=0,1,“MQTTID”,“username”,“123”,0,0,“”

输入一个MQTT指令,返回OK即说明安装成功

esp01烧录 各引脚电平_数据_03

二、去EMQx官网获取一个免费的MQTT服务器

EMQx官网

esp01烧录 各引脚电平_esp01烧录 各引脚电平_04

点进去记住代理(Broker)和TCP端口号

esp01烧录 各引脚电平_固件_05

三、MQTT基础知识

MQTT入门 简单来说,在同一个MQTT服务器中,有发布者和订阅者。发布者指定一个订阅号(主题)和发送内容发送,订阅该订阅号即可受到发布者的消息。

四、MQTTfx设置

mqtt.fx | 一款超级好用的Mqtt客户端软件(下载、安装、使用详解) MQTTfx用于验证能否发送和收到数据

esp01烧录 各引脚电平_esp01烧录 各引脚电平_06

此处的Client ID就类似一个QQ账号,一个客户端只能登陆一个。

本人在测试通信的时候,和ESP-01上设置的client ID一样,导致ESP连上MQTTfx就掉了。因此建议client ID填随机。

五、ESP-01s连接MQTT服务器进行通信Ⅰ、ESP-01s发送给MQTTfx

1、MQTTfx订阅 ESP8266(订阅号)

esp01烧录 各引脚电平_服务器_07

2、ESP-01s发送

先要配置好ESP8266,如下图

esp01烧录 各引脚电平_数据_08

AT+MQTTUSERCFG=0,1,“MQTTID”,“username”,“123”,0,0,“” 配置MQTT用户属性指定MQTT ID和用户名 密码(别跟MQTTfx的一样)。
AT+MQTTCONN=0,“broker-cn.emqx.io”,1883,0 连接MQTT服务器 , 重要参数 :broker-cn.emqx.io:IP地址;1883:端口号
AT+MQTTSUB=0,“emq”,1 订阅指定连接的 MQTT 主题, 可重复多次订阅不同 topic 重要参数:emq:订阅主题名
AT+MQTTPUB=0,“ESP8266”,“LED ON”,1,0 发布字符串数据 重要参数:ESP8266:主题;LED ON:发送的字符串内容

详细的MQTT指令大全

3、查看MQTTfx

收到数据

esp01烧录 各引脚电平_网络_09

Ⅱ、MQTTfx发送给ESP-01s

1、设置MQTTfx并发送数据

esp01烧录 各引脚电平_esp01烧录 各引脚电平_10

2、ESP-01s收到数据

esp01烧录 各引脚电平_网络_11