直连设备MQTT数据交互规范
概述
本规范描述直连设备通过MQTT协议连接到ThingsPanel平台的技术要求,定义了设备与平台之间的数据交互格式和通信协议。
核心概念
四大核心数据类型
在开始之前,了解四个核心概念对于理解本规范至关重要:
- 🔄 遥测(Telemetry) - 设备实时上报的数据,通常是随时间变化的测量值
- 例如:温度传感器定期上报的温度读数
- 📋 属性(Attributes) - 设备的静态或较少变化的特征信息
- 例如:设备的IP地址、MAC地址或固件版本
- 🎯 事件(Events) - 设备中发生的特定事件或状态变化
- 例如:检测到运动或设备启动完成
- ⚡ 命令(Commands) - 平台发送到设备的控制指令
- 例如:开关灯或重置设备
关键参数说明
📍 message_id(消息标识符)
- 作用:消息唯一标识符,确保消息不重复,长度不限
- 建议:使用毫秒时间戳的后七位
- 要求:在短期内保持唯一性
🏷️ device_number(设备编号)
- 作用:设备在系统中的唯一标识
- 要求:全局唯一,不可重复
🎭 method(方法标识)
- 定义:用来标识特定 命令或事件类型的字符串
- 命令示例:
"SetTemperature"、"TurnOnLight"、"RebootDevice" - 事件示例:
"TemperatureExceeded"、"MotionDetected"、"BatteryLow"
⚙️ params(参数对象)
- 作用:包含与method相关的详细信息或数据
- 命令场景:提供执行命令所需的具体参数
- 事件场景:包含描述事件的相关数据
MQTT认证规则
认证要求
MQTT主题规范
灵活实现
重要说明:设备无需实现所有列出的MQTT主题。应根据设备的具体功能和应用场景,选择性地实现相关主题。开发者应仔细评估设备需求,只实现必要的主题,以优化设备性能和资源利用。
设备上报主题
| 主题 | 说明 | 数据类型 | 是否必需 |
|---|---|---|---|
devices/telemetry |