目录
1、wifi配置指令表
2、连接连接wifi网络
3、连接巴法云MQTT
(1)配置用户属性AT+MQTTUSERCFG
① 命令格式:
② 命令参数:
③ 实际配置方式:
(2)配置ESP 设备连接的 MQTT broker
① 命令格式:
② 命令参数:
③ 实际配置方式:
4、巴法云MQTT发布和订阅Topic
(1)订阅MQTT的Topic信息
① 命令格式:
② 命令参数:
③实际配置方式:
(2)发布MQTT的Topic信息
① 命令格式:
② 命令参数:
③实际配置方式:
1、wifi配置指令表
-
AT+CWMODE:查询/设置 Wi-Fi 模式 (Station/SoftAP/Station+SoftAP)
-
AT+CWJAP:连接 AP
-
AT+CWRECONNCFG:查询/设置 Wi-Fi 重连配置
-
AT+CWLAPOPT:设置 AT+CWLAP 命令扫描结果的属性
-
AT+CWLAP:扫描当前可用的 AP
-
AT+CWQAP:断开与 AP 的连接
-
AT+CWSAP:配置 ESP32 SoftAP 参数
-
AT+CWLIF:查询连接到 ESP SoftAP 的 station 信息
-
AT+CWQIF:断开 station 与 ESP SoftAP 的连接
-
AT+CWDHCP:启用/禁用 DHCP
-
AT+CWDHCPS:查询/设置 ESP SoftAP DHCP 分配的 IP 地址范围
-
AT+CWAUTOCONN:上电是否自动连接 AP
-
AT+CWAPPROTO:查询/设置 SoftAP 模式下 802.11 b/g/n 协议标准
-
AT+CWSTAPROTO:设置 Station 模式下 802.11 b/g/n 协议标准
-
AT+CIPSTAMAC:查询/设置 ESP Station 的 MAC 地址
-
AT+CIPAPMAC:查询/设置 ESP SoftAP 的 MAC 地址
-
AT+CIPSTA:查询/设置 ESP Station 的 IP 地址
-
AT+CIPAP:查询/设置 ESP SoftAP 的 IP 地址
-
AT+CWSTARTSMART:开启 SmartConfig
-
AT+CWSTOPSMART:停止 SmartConfig
-
AT+WPS:设置 WPS 功能
-
AT+MDNS:设置 mDNS 功能
-
[ESP32 Only] AT+CWJEAP:连接 WPA2 企业版 AP
-
AT+CWHOSTNAME:查询/设置 ESP Station 的主机名称
-
AT+CWCOUNTRY:查询/设置 Wi-Fi 国家代码
2、连接连接wifi网络
通过串口给esp8266发送AT指令。
调试配置软件下载地址:https://docs.ai-thinker.com/_media/tools/aithinker_serial_tool_v1.2.3.7z
//用于设置ESP8266模块的Wi-Fi工作模式
//用于将ESP8266模块配置为Wi-Fi客户端(STA模式)
AT+CWMODE=1
//连接到指定的Wi-Fi网络"wifi_ssid"
AT+CWJAP="wifi_ssid","wifi_password"
//查询与 ESP Station 连接的 AP 信息
AT+CWJAP?
3、连接巴法云MQTT
(1)配置用户属性AT+MQTTUSERCFG
① 命令格式:
AT+MQTTUSERCFG=<LinkID>,<scheme>,<"client_id">,<"username">,<"password">,<cert_key_ID>,<CA_ID>,<"path">
② 命令参数:
-
<LinkID>:当前仅支持 link ID 0。
-
<scheme>:
-
1: MQTT over TCP;
-
2: MQTT over TLS(不校验证书);
-
3: MQTT over TLS(校验 server 证书);
-
4: MQTT over TLS(提供 client 证书);
-
5: MQTT over TLS(校验 server 证书并且提供 client 证书);
-
6: MQTT over WebSocket(基于 TCP);
-
7: MQTT over WebSocket Secure(基于 TLS,不校验证书);
-
8: MQTT over WebSocket Secure(基于 TLS,校验 server 证书);
-
9: MQTT over WebSocket Secure(基于 TLS,提供 client 证书);
-
10: MQTT over WebSocket Secure(基于 TLS,校验 server 证书并且提供 client 证书)。
-
-
<client_id>:MQTT 客户端 ID,最大长度:256 字节。
-
<username>:用户名,用于登陆 MQTT broker,最大长度:64 字节。
-
<password>:密码,用于登陆 MQTT broker,最大长度:64 字节。
-
<cert_key_ID>:证书 ID,目前 ESP-AT 仅支持一套 cert 证书,参数为 0。
-
<CA_ID>:CA ID,目前 ESP-AT 仅支持一套 CA 证书,参数为 0。
-
<path>:资源路径,最大长度:32 字节。
③ 实际配置方式:
//配置 MQTT 用户属性
AT+MQTTUSERCFG=0,1,"client_id","","",0,0,""
(2)配置ESP 设备连接的 MQTT broker
① 命令格式:
AT+MQTTCONN=<LinkID>,<"host">,<port>,<reconnect>
② 命令参数:
-
<LinkID>:当前仅支持 link ID 0。
-
<host>:MQTT broker 域名,最大长度:128 字节。
-
<port>:MQTT broker 端口,最大端口:65535。
-
<path>:资源路径,最大长度:32 字节。
-
<reconnect>:
-
0: MQTT 不自动重连。如果 MQTT 建立连接后又断开,则无法再次使用本命令重新建立连接,您需要先发送 AT+MQTTCLEAN=0 命令清理信息,重新配置参数,再建立新的连接。
-
1: MQTT 自动重连,会消耗较多的内存资源。
-
-
<state>:MQTT 状态:
-
0: MQTT 未初始化;
-
1: 已设置 AT+MQTTUSERCFG;
-
2: 已设置 AT+MQTTCONNCFG;
-
3: 连接已断开;
-
4: 已建立连接;
-
5: 已连接,但未订阅 topic;
-
6: 已连接,已订阅过 topic。
-
-
<scheme>:
-
1: MQTT over TCP;
-
2: MQTT over TLS(不校验证书);
-
3: MQTT over TLS(校验 server 证书);
-
4: MQTT over TLS(提供 client 证书);
-
5: MQTT over TLS(校验 server 证书并且提供 client 证书);
-
6: MQTT over WebSocket(基于 TCP);
-
7: MQTT over WebSocket Secure(基于 TLS,不校验证书);
-
8: MQTT over WebSocket Secure(基于 TLS,校验 server 证书);
-
9: MQTT over WebSocket Secure(基于 TLS,提供 client 证书);
-
10: MQTT over WebSocket Secure(基于 TLS,校验 server 证书并且提供 client 证书)。
-
③ 实际配置方式:
- 服务器地址:bemfa.com
- 普通端口:9501
AT+MQTTCONN=0,"bemfa.com",9501,1
4、巴法云MQTT发布和订阅Topic
MQTT(Message Queuing Telemetry Transport)协议是一种轻量级的消息协议,专为低带宽、不可靠或高延迟的网络环境设计,广泛应用于物联网(IoT)领域。MQTT的工作方式基于发布/订阅(publish/subscribe)模式,这种机制允许消息的生产者(发布者)和消费者(订阅者)之间解耦。
在MQTT中,设备或应用程序可以扮演发布者(Publisher)或订阅者(Subscriber)的角色,或者同时扮演两者。当设备1号订阅了一个特定的Topic时,它实际上是在告诉MQTT代理(Broker):“我对这个Topic上的消息感兴趣,请将它们转发给我。”MQTT代理是MQTT网络中的核心组件,负责消息的存储和转发。
随后,当设备2号(或任何其他发布者)向这个Topic发布消息时,MQTT代理会检查哪些订阅者订阅了这个Topic,并将消息推送给这些订阅者。因此,设备1号由于已经订阅了这个Topic,所以会自动接收到设备2号发送的数据。
这种机制提供了高度的灵活性和可扩展性,因为发布者和订阅者之间不需要直接通信,也不需要知道对方的存在或状态。它们只需关注自己感兴趣的Topic,MQTT代理会处理消息的传递和分发。这使得MQTT成为物联网场景中实现设备间通信和数据交换的理想选择。
具体理解:
MQTT通信 是当 设备1号 订阅了这个的 Topic 后,另外一个 设备2号 通过这个 Topic 发布数据,设备1号 由于订阅了这个 Topic 就会自动接收 设备2号 发送的数据。
(1)订阅MQTT的Topic信息
① 命令格式:
AT+MQTTSUB=<LinkID>,<"topic">,<qos>
② 命令参数:
-
<LinkID>:当前仅支持 link ID 0。
-
<state>:MQTT 状态:
-
0: MQTT 未初始化;
-
1: 已设置 AT+MQTTUSERCFG;
-
2: 已设置 AT+MQTTCONNCFG;
-
3: 连接已断开;
-
4: 已建立连接;
-
5: 已连接,但未订阅 topic;
-
6: 已连接,已订阅过 MQTT topic。
-
-
<topic>:订阅的 topic。
-
<qos>:订阅的 QoS。
③实际配置方式:
AT+MQTTSUB=0,"Atopic111",0
(2)发布MQTT的Topic信息
① 命令格式:
AT+MQTTPUB=<LinkID>,<"topic">,<"data">,<qos>,<retain>
② 命令参数:
-
<LinkID>:当前仅支持 link ID 0。
-
<topic>:MQTT topic,最大长度:128 字节。
-
<data>:MQTT 字符串消息。
-
<qos>:发布消息的 QoS,参数可选 0、1、或 2,默认值:0。
-
<retain>:发布 retain。