AT 命令集 (at_in / at_out)
hapi 通过 {topicL1}/{mq_id}/at_in 主题向网关下发 AT 命令,网关通过 {topicL1}/{mq_id}/at_out 上报响应。
主题
| 主题 | 方向 | 格式 | 说明 |
|---|---|---|---|
{topicL1}/{mq_id}/at_in | hapi → 网关 | AT 命令字符串 | 串口指令下发 |
{topicL1}/{mq_id}/at_out | 网关 → hapi | 字符串 | AT 命令响应 |
消息格式
AT 命令以纯文本字符串发送,以 \r\n 结尾:
at+restore\r\nAT 命令列表
| 命令 | 参数 | 响应 | 说明 |
|---|---|---|---|
AT | 无 | OK | 测试命令 |
AT+CWMODE | <mode> | OK / ERROR | WiFi 模式(1=STA, 2=AP) |
AT+CWJAP | <ssid>,<password> | +CWJAP:1 / +CWJAP:0 | 连接 AP |
AT+CIPSTA | 无 | +CIPSTA:ip:"x.x.x.x" | 查询 IP 地址 |
AT+CIPSTAMAC | 无 | +CIPSTAMAC:"xx:xx:..." | 查询 MAC 地址 |
AT+CPCODE | <code> / 无 | OK / +CPCODE:"..." | 设置/查询模块编码 |
AT+MQTTSTART | 无 | OK | 启动 MQTT 连接 |
AT+BLE_PAIR | <0/1> | OK | BLE 配对控制(0=停止, 1=开始) |
AT+RSSI | 无 | +RSSI:<dBm> | 查询 WiFi 信号强度 |
AT+RESTORE | 无 | OK | 恢复出厂设置 |
AT+FUNC | <sn> / 无 | OK / +FUNC:"..." | 设置/查询客户序列号 |
AT+GET_SCAN | 无 | <ssid>,<bssid>,<rssi>,<ch>,<auth> | WiFi 扫描结果 |
AT+NODE | meshkey=<hex> / 无 | +NODE:meshkey="..." | 节点/meshkey 管理 |
常用场景
恢复出厂设置
hapi 调用 resetGateway(deviceId) 下发 at+restore 命令,网关恢复出厂后自动重启。
Topic: {topicL1}/{mq_id}/at_in
Payload: at+restore\r\nWiFi 配网
配网流程中,小程序通过 ztUtil SDK 经 BLE 向网关发送 AT 命令配置 WiFi:
AT+CWMODE=1 ← 设置为 STA 模式
AT+CWJAP="ssid","psk" ← 连接 WiFi
AT+MQTTSTART ← 启动 MQTT查询设备信息
AT+CIPSTA → 查询 IP
AT+CIPSTAMAC → 查询 MAC
AT+RSSI → 查询信号强度
AT+FUNC → 查询序列号AT 命令处理流程
网关固件中 shell_task 负责处理 AT 命令:
- UART0 逐字节读取 → 行缓冲
- 遇到
\r\n触发 AT 命令解析 - 匹配命令前缀 → 分发到对应处理函数
- 执行操作 → 返回响应字符串
AT 命令同时支持 UART 串口直连和 MQTT 远程下发两种方式。MQTT 下发的 AT 命令通过
at_in主题接收,响应通过at_out主题上报。
