2023年11月26日发(作者:)

ESP8266-MQTT收发消息

⽬录

MQTT简介

MQTT 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适⽤于受限环境。MQTT

有三种消息发布服务质量:

QS0:“⾄多⼀次”,消息发布完全依赖底层 TCP/IP ⽹络。会发⽣消息丢失或重复。 这⼀级别可⽤于如下情况,环境传感器数据,

丢失⼀次读记录⽆所谓,因为不久后还会有第⼆次发送。

QS1“⾄少⼀次”,确保消息到达,但消息重复可能会发⽣。

QS2“只有⼀次”,确保消息到达⼀次。这⼀级别可⽤于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

⼀、MQTT服务器搭建(ActiveMQ /Apollo

1、下载-安装

2、搭建MQTT服务器

2.1CMD进⼊⼯作⽂件夹

下⾯以 为例,

D:MQTT-apache

⽅法⼀:

⽅法⼆:

win+R键打开运⾏窗⼝,输⼊cmd,打开命令⾏界⾯CMD

②在cmd界⾯输⼊命令:盘符:

⽐如切换到D盘,那么命令就是

然后需要依次输⼊你的⽤户名、密码(窗⼝不显⽰出来了)、是否允许匿名访问。

完成实例的创建。

2.3、运⾏实例

进⼊ . [ 实例名 ] bin ⽬录,运⾏

cd .[实例名]bin

run

例:

cd .mybrokerbin

我的是在淘宝 买的ESP8266开发板(CH340),刚好板载串⼝

eixpsy店

没收⼴告费,就不放链接了

2、软件准备

3、软件操作

烧录完成

启动模块

打开串⼝,波特率115200,reset按钮重启单⽚机,串⼝收到部分乱码与模块信息

我后⾯使⽤串⼝调试助⼿与进⾏调试

如果连接成功,如下图。MQTT控制台中可看到连接。

发布消息

AT+MQTTPUB=0,“ESP8266/online”,“abc”,0,0

#发布⼀条topic为“ESP8266/online”,message为“abc”的数据, #QOS设置为0

订阅消息

AT+MQTTSUB=0,“ESP8266/ACtiveMQ”,0

#订阅⼀条topic为“ESP8266/ACtiveMQ”,QOS为0的数据

关闭MQTT连接

在串⼝中输⼊AT指令:AT+MQTTCLEAN=0