您的位置:首页 > 文旅 > 美景 > ESP8266用AT指令实现连接MQTT

ESP8266用AT指令实现连接MQTT

2024/12/28 10:31:07 来源:https://blog.csdn.net/qq_59527512/article/details/140632746  浏览:    关键词:ESP8266用AT指令实现连接MQTT

1准备工作

硬件(ESP8266)连接电脑

硬件已经烧入了MQTT透传固件

2实现连接

2-1(进入AT模式)

打开串口助手发送如下指令

AT

2-2(复位)

AT+RST

2-3(开启DHCP,自动获取IP)

AT+CWDHCP=1,1

这个指令的具体含义如下:

  • AT+CWDHCP 是设置DHCP的指令。
  • 1 表示操作的Wi-Fi接口。在ESP8266中,通常1代表station模式(即客户端模式)。
  • 1 表示启用DHCP。

2-4(设置为station模式)

AT+CWMODE=1

AT+CWMODE指令还支持以下参数:

  • 1:Station模式(STA模式)
  • 2:SoftAP模式(AP模式),ESP8266作为热点,其他设备可以连接到它
  • 3:Station和SoftAP共存模式(STA+AP模式),ESP8266既作为客户端连接到Wi-Fi网络,也作为热点供其他设备连接

2-5(连接WiFi)

AT+CWJAP="lid","110120119"

这个指令的具体含义如下:

  • AT+CWJAP 是连接到一个Wi-Fi网络的指令。
  • "lid" 是您想要连接的Wi-Fi网络的SSID(网络名称)。
  • "110120119" 是该Wi-Fi网络的密码。

2-6(配置MQTT用户信息)

AT+MQTTUSERCFG=0,1,"username","password","client_id",0,0,""

这个指令的具体含义如下:

  • AT+MQTTUSERCFG 是配置MQTT用户信息的指令。
  • 0 是配置的ID号。ESP8266支持多个MQTT配置,这个参数用于标识配置的索引。
  • 1 是指示MQTT版本,1 表示MQTT 3.1.1。
  • "username" 是MQTT服务器的用户名。
  • "password" 是MQTT服务器的密码。
  • "client_id" 是MQTT客户端的ID,用于标识客户端。
  • 0 是指示是否清除会话。0 表示不清除会话,1 表示清除会话。
  • 0 是指示是否使用SSL连接。0 表示不使用SSL,1 表示使用SSL。
  • 最后一个参数是一个空字符串,通常用于指定遗嘱消息的主题,在这里留空表示不使用遗嘱消息。

2-7(连接MQTT)

AT+MQTTCONN=0,"IP",端口,1

这个指令的具体含义如下:

  • AT+MQTTCONN 是用于连接到MQTT服务器的指令。
  • 0 是之前使用 AT+MQTTUSERCFG 指令配置的MQTT配置的ID号。这里应该与 AT+MQTTUSERCFG 指令中使用的ID号一致。
  • IP: 是MQTT服务器的域名或IP地址。
  • 端口号: 是MQTT服务器监听的端口号。
  • 1 表示连接的清晰会话标志。1 表示清除会话,意味着服务器将清除之前的所有订阅信息;0 表示不清除会话。

2-8(订阅信息)

AT+MQTTSUB=0,"WF1",1

这个指令的具体含义如下:

  • AT+MQTTSUB 是用于订阅MQTT主题的指令。
  • 0 是之前使用 AT+MQTTCONN 指令连接到MQTT服务器时指定的连接ID。这个ID应该与 AT+MQTTCONN 指令中使用的ID一致。
  • "WF1" 是你想要订阅的MQTT主题名称。
  • 1 是指定订阅的消息服务质量(QoS)等级。在这里,1 表示至少一次交付(至少交付一次,可能会重复)。

2-9(发布信息)

AT+MQTTPUB=0,"WF1","message",1,0

这个指令的具体含义如下:

  • AT+MQTTPUB 是用于发布MQTT消息的指令。
  • 0 是之前使用 AT+MQTTCONN 指令连接到MQTT服务器时指定的连接ID。这个ID应该与 AT+MQTTCONN 指令中使用的ID一致。
  • "WF1" 是你想要发布消息的MQTT主题名称。
  • "message" 是你想要发布的消息内容。
  • 1 是指定发布消息的消息服务质量(QoS)等级。在这里,1 表示至少一次交付(至少交付一次,可能会重复)。
  • 0 是指定是否保留消息的标志。0 表示不保留消息,1 表示保留消息。保留的消息可以被新订阅该主题的客户端接收到。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com