MQTT Topic规则-带影子功能(V3.1)
V3.1
现有topic(不包含物影子topic)
topic说明:
- data:设备数据主题,用于设备上报数据;设备端发布,控制端(前端或手机APP等)订阅;
- control:设备控制主题,用于控制端(比如App用户)发送控制数据给设备;控制端发布,设备端订阅;
- command:设备指令主题,用于控制端(比如App用户)发送指令数据给设备;控制端发布,设备端订阅;
- status:指令回复主题,用于响应command topic的指令,,如果指令的响应为数据时,仍然使用data上报,如果为状态数据,比如wifi信号强度,固件版本等通过该topic上报(目前还没有数据需要使用该topic);设备发布,控制端订阅;
- online:设备在离线状态主题;设备端发布,控制端订阅;设备上/下线时需要往该主题发布数据;
- api:MQTT方式调用云端接口的主题;仅设备端可以使用,权限为发布;
- sys:接口Response主题;由云端Admin账户发布数据,设备端订阅该主题来接收api主题的Response等;
- m2m/json:用于App接收服务端推送的消息,比如设备绑定信息;服务端发布,App用户订阅;
api/sys消息说明
api消息格式
{ "type": "xxx", "data": { "key1": "v1", "key2": 123, "key3": "v3", "req_id": 123... }}
| 字段 |
类型 |
说明 |
| type |
string |
消息类型,如ota_check, bind_info等 |
| data |
json |
请求数据 |
| key1 |
- |
具体数据 |
| req_id |
int |
请求唯一id,用于消息追踪 |
sys消息格式
{ "type": "xxx", "meta": { "code": 0, "message": 提示信息 }, "data": { "key1": "v1", "key2": 123, "key3": "v3", }, "req_id": 123...}
| 字段 |
类型 |
说明 |
| type |
string |
消息类型,如ota_check, bind_info等 |
| meta |
json |
响应状态 |
| code |
int |
请求错误码 |
| message |
string |
错误提示信息 |
| data |
json |
响应数据 |
| key1 |
- |
具体数据 |
| req_id |
int |
请求唯一id,用于消息追踪 |
当前消息类型
superuser
{ "type": "superuser", "data": { "password": "password1", "req_id": 123... }}
| 字段 |
类型 |
说明 |
| password |
string |
设备密码 |
unbind
{ "type":"unbind", "data":{ "password":"password1", "req_id":123... }}
| 字段 |
类型 |
说明 |
| password |
string |
设备密码 |
ota_check
{ "type":"ota_check", "data":{ "password":"password1", "req_id":123... }}
| 字段 |
类型 |
说明 |
| password |
string |
设备密码 |
ota_log
{ "type":"ota_log", "data":{ "password":"password1", "ot_id":97, "update_ok":true, "req_id":123... }}
| 字段 |
类型 |
说明 |
| password |
string |
设备密码 |
| ot_id |
int |
任务ID |
| update_ok |
bool |
更新结果:true→成功,false→失败 |
m2m消息说明
格式
{ "type": "xxx", "data": { "key1": "v1", "key2": 123, "key3": "v3", }}
| 字段 |
类型 |
说明 |
| type |
string |
消息类型,如ota_check, bind_info等 |
| data |
json |
请求数据 |
| key1 |
- |
具体数据 |
当前消息类型
bind_info
- app接收服务端推送的绑定信息,app接收到该消息后,需要调用绑定接口来完成绑定操作,格式:
{ "type": "bind_info", "data": { "device_id": "dlof..." }}
| 字段 |
类型 |
说明 |
| device_id |
string |
设备ID |
device_unbind
- app接收服务端推送的设备主动解绑的消息,app接收到该消息后,需要刷新设备列表,格式:
{ "type": "device_unbind", "data": { }}