Topic定义
设备使用MQTT协议接入平台时,平台和设备通过Topic进行通信。平台预置的topic列表如下:
|
Topic分类 |
Topic |
Publisher(发布者) |
Subscriber(订阅者) |
用途 |
|---|---|---|---|---|
|
设备消息相关Topic |
$oc/devices/{device_id}/sys/messages/up |
设备 |
平台 |
设备消息上报 |
|
$oc/devices/{device_id}/sys/messages/down |
平台 |
设备 |
平台下发消息给设备 |
|
|
设备命令相关Topic |
$oc/devices/{device_id}/sys/commands/request_id={request_id} |
平台 |
设备 |
平台下发命令给设备 |
|
$oc/devices/{device_id}/sys/commands/response/request_id={request_id} |
设备 |
平台 |
设备返回命令响应 |
|
|
设备属性相关Topic |
$oc/devices/{device_id}/sys/properties/report |
设备 |
平台 |
设备上报属性数据 |
|
$oc/devices/{device_id}/sys/gateway/sub_devices/properties/report |
设备 |
平台 |
网关批量上报属性数据 |
|
|
$oc/devices/{device_id}/sys/properties/set/request_id={request_id} |
平台 |
设备 |
平台设置设备属性 |
|
|
$oc/devices/{device_id}/sys/properties/set/response/request_id={request_id} |
设备 |
平台 |
属性设置的响应结果 |
|
|
$oc/devices/{device_id}/sys/properties/get/request_id={request_id} |
平台 |
设备 |
平台查询设备属性 |
|
|
$oc/devices/{device_id}/sys/properties/get/response/request_id={request_id} |
设备 |
平台 |
属性查询响应结果,这个结果不会对设备属性和影子产生影响 |
|
|
$oc/devices/{device_id}/sys/shadow/get/request_id={request_id} |
设备 |
平台 |
设备侧主动获取平台的设备影子数据 |
|
|
$oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id} |
平台 |
设备 |
设备侧主动获取平台设备影子数据的响应 |
|
|
设备事件相关Topic |
$oc/devices/{device_id}/sys/events/up |
设备 |
平台 |
设备事件上报 |
|
$oc/devices/{device_id}/sys/events/down |
平台 |
设备 |
平台事件下发 |
- {device_id}用于标识Topic路由的目标设备,设备侧订阅该topic或往topic推送消息时,该值需要替换为设备与平台建立MQTT连接时使用的设备ID参数值。
- {request_id}用于唯一标识这次请求。设备侧发起的消息带该参数时,需要保证设备侧该参数值的唯一性,可以用递增的数字或者UUID来实现。设备侧收到的消息带该参数时,响应消息需要将该参数值返回给平台。
- 设备侧订阅带{request_id}参数的topic时,可以使用通配#。如设备侧订阅命令下发请求的topic $oc/devices/{device_id}/sys/commands/request_id={request_id}时,可以用$oc/devices/{device_id}/sys/commands/#
Last Article: 设备与平台间通信方式概述
Next Article: 设备连接鉴权
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.