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
表示保留消息。保留的消息可以被新订阅该主题的客户端接收到。