MQTT 主题格式
主题为三段式:{topicL1}/{mq_id}/{action}
topicL1 确定:
- 旧版网关(
api_version <= 1):module_code(如6zcrzknc) - 新版网关(
api_version > 1):mqtt{server_id}(如mqtt1)
业务主题
| 主题 | 数据方向 | 格式 | 说明 |
|---|---|---|---|
{topicL1}/{mq_id}/ble_in | hapi → 网关 | hex | BLE Mesh 控制指令下发 |
{topicL1}/{mq_id}/ble_out | 网关 → hapi | hex | BLE Mesh 设备状态上报 |
{topicL1}/{mq_id}/system | hapi → 网关 | JSON | 系统级指令(重启、OTA、门锁) |
{topicL1}/{mq_id}/system_out | 网关 → hapi | JSON | 系统级状态上报 |
{topicL1}/{mq_id}/at_in | hapi → 网关 | AT 命令 | 串口指令(如 at+restore) |
{topicL1}/{mq_id}/at_out | 网关 → hapi | 字符串 | AT 命令响应 |
EMQX 系统主题
| 主题 | 数据方向 | 格式 | 说明 |
|---|---|---|---|
$SYS/brokers/{node}/clients/{clientid}/connected | EMQX → mapi | JSON | 设备上线事件 |
$SYS/brokers/{node}/clients/{clientid}/disconnected | EMQX → mapi | JSON | 设备下线事件 |
system 主题 JSON 格式
门锁控制示例(control_lock action):
json
{
"module_sn": "GW001",
"mstype": 18,
"timestamp": 1693900000000,
"data": {
"lock_req": "<加密后的门锁指令>"
}
}| 字段 | 类型 | 说明 |
|---|---|---|
module_sn | string | 网关 SN 序列号 |
mstype | number | 消息类型(18=门锁控制) |
timestamp | number | 时间戳 |
data | object | 消息体 |
