网关设备MQTT数据交互规范
概述
本规范描述通过MQTT协议连接到ThingsPanel的网关设备接入要求,定义了设备与平台之间的数据交互格式和流程。
重要说明
- message_id 为消息标识符,近期消息不重复即可,可取毫秒时间戳的后七位(仅为建议,实际不限制长度)
- device_number 为设备编号,设备唯一标识,平台可修改
- sub_device_address 为子设备地址,网关下唯一,平台可修改
- 核心交互数据分为四类:遥测、属性、事件、命令
灵活性说明
- 订阅和发布 - 设备对于主题的订阅和发布都是可选的,可根据实际需求选择
- 响应机制 - 设备响应也是可选的,可根据业务场景决定是否实现
- 报文格式 - 非规范的报文也支持,可通过平台脚本转换为规范格式
设备要求
设备需具备以下特性:
- ✅ MQTT客户端能力
- ✅ 可联网并稳定运行
接入步骤
- 注册设备 - 在ThingsPanel创建设备并获取配置
- 建立连接 - 设备连接到MQTT服务器
- 发送请求 - 设备发送连接请求消息
- 激活确认 - ThingsPanel确认并激活设备
- 数据交互 - 设备上报数据,接收平台控制
MQTT主题规范
设备上报主题(平台订阅)
主题 | 说明 | 数据类型 | 是否必需 |
---|---|---|---|
gateway/telemetry | 上报遥测数据 | 遥测 | 可选 |
gateway/attributes/{message_id} | 上报属性状态 | 属性 | 可选 |
gateway/event/{message_id} | 上报事件信息 | 事件 | 可选 |
gateway/command/response/{message_id} | 命令执行响应 | 响应 | 可选 |
gateway/attributes/set/response/{message_id} | 属性设置响应 | 响应 | 可选 |