esp826601s与mqtt的at指令
时间: 2025-03-22 10:11:33 AIGC 浏览: 56
### ESP8266-01S 使用 AT 指令连接 MQTT 的方法及命令列表
#### 方法概述
ESP8266-01S 是一款支持 Wi-Fi 功能的模块,可以通过 AT 指令集实现与 MQTT 服务器的通信。具体操作流程包括配置网络参数、建立与 MQTT 服务器的连接以及执行发布和订阅等基本功能。
#### 命令列表及其作用
以下是常用的 AT 指令用于设置和管理 ESP8266-01S 连接至 MQTT 服务的功能:
1. **初始化 WiFi 配置**
- `AT+CWMODE=<mode>`
设置工作模式(`<mode>=1` 表示 Station 模式)。此指令用于指定设备作为客户端运行[^1]。
2. **连接无线网络**
- `AT+CWJAP="<SSID>","<PASSWORD>"`
输入目标 AP 的 SSID 和密码完成接入点关联过程。
3. **启动 MQTT 客户端**
- `AT+MQTTCLIENT="client_id"` 或者不带 client id 参数直接调用默认值形式即 `AT+MQTTCONN=0,"mqtt_server_ip",port,keep_alive_time`
此处需替换实际使用的 broker 地址(IP或者域名),端口号通常为 1883 (非加密传输).
4. **发布消息到特定主题**
- `AT+MQTTPUB=channel_index,"topic_name","payload_data",qos,retain_flag`
channel index 默认设为零;QoS 可选级别有 0、1 或 2;Retain flag 则决定是否保留最后已知状态给新订阅者查看[^2].
5. **取消先前发布的某条信息**
- `AT+MQTTRSTMSG=channel_index,message_identifier`
6. **订阅某个主题下的更新通知**
- `AT+MQTTSUB=channel_index,"topic_filter",qos_level`
7. **退订不再感兴趣的主题**
- `AT+MQTTUNSUB=channel_index,"topic_to_unsubscribe"`
8. **断开当前会话链接**
- `AT+MQTTCLOSE=channel_index`
9. **查询在线状态**
- `AT+MQTTSTAT?`
以上每一步都需要确认返回 OK 才能继续下一步骤的操作[^3]。
```python
# 示例代码展示如何利用上述提到的一些重要at command来控制esp8266进行mqtt通讯
print("Setting up wifi...")
response_wifi_setup = send_at_command('AT+CWMODE=1\r\n') # Set mode to station only.
if 'OK' not in response_wifi_setup.decode():
raise Exception("Failed setting CWMODE")
ssid_password_pair = f'"your_ssid","your_password"'
connect_wifi_result = send_at_command(f'AT+CWJAP={ssid_password_pair}\r\n')
if 'WIFI CONNECTED' and 'WIFI GOT IP' not in connect_wifi_result.decode():
raise Exception("Could not join the network.")
broker_info = '"test.mosquitto.org"', '1883', '60'
setup_mqtt_conn_res = send_at_command(f'AT+MQTTCONN=0,{broker_info[0]}, {broker_info[1]}, {broker_info[2]} \r\n')
assert 'CONNECT' in setup_mqtt_conn_res.decode(), "Error establishing mqtt connection."
publish_message_response = send_at_command('AT+MQTTPUB=0,"my/test/topic","Hello from ESP!",0,0\r\n')
assert 'PUBLISH' in publish_message_response.decode(), "Publish failed."
```
阅读全文
相关推荐



















