设备侧获取平台的设备影子数据
功能介绍
用于设备向平台获取设备影子数据。用户可以通过应用服务器或物联网控制台修改设备属性,设备上线时订阅该topic,可以获取到平台设备影子数据,以此来同步设备属性值,从而完成设备属性值的修改。
Topic
上行请求: $oc/devices/{device_id}/sys/shadow/get/request_id={request_id}
下行响应: $oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id}
- {request_id}用于唯一标识这次请求。设备侧发起的消息带该参数时,需要保证设备侧该参数值的唯一性,可以用递增的数字或者UUID来实现。
- 设备侧订阅带{request_id}结尾的topic时,可以使用#,设备侧订阅获取平台设备影子数据响应的topic为:$oc/devices/{device_id}/sys/shadow/get/response/#
上行请求参数说明
|
字段名 |
必选/可选 |
类型 |
参数描述 |
|---|---|---|---|
|
object_device_id |
可选 |
String |
需要获取设备影子的目标设备ID。 |
|
service_id |
可选 |
String |
需要获取设备影子的设备服务ID,不带的话查询所有服务ID的设备影子数据。 |
下行响应参数说明
|
字段名 |
必选/可选 |
类型 |
参数描述 |
|---|---|---|---|
|
object_device_id |
必选 |
String |
设备影子的目标设备ID。 |
|
shadow |
可选 |
List<ShadowData> |
服务影子数据。 |
ShadowData结构定义:
|
字段名 |
必选/可选 |
类型 |
参数描述 |
|---|---|---|---|
|
service_id |
必选 |
String |
设备的服务ID。 |
|
desired |
可选 |
PropertiesData |
设备影子desired区的属性列表。 |
|
reported |
可选 |
PropertiesData |
设备影子reported区的属性列表。 |
|
version |
可选 |
Integer |
设备影子版本信息 |
PropertiesData结构定义:
|
字段名 |
必选/可选 |
类型 |
参数描述 |
|---|---|---|---|
|
properties |
必选 |
Object |
设备服务的属性列表,具体字段在设备关联的产品模型里定义,可以设置多个字段。 |
|
event_time |
可选 |
String |
设备属性数据的UTC时间(格式:yyyyMMdd'T'HHmmss'Z'),如:20161219T114920Z。 |
上行请求示例
Topic: $oc/devices/{device_id}/sys/shadow/get/request_id={request_id}
数据格式:
{
"object_device_id": "40fe3542-f4cc-4b6a-98c3-61a49ba1acd4",
"service_id": "WaterMeter"
}
下行响应示例
Topic:$oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id}
数据格式:
{
"object_device_id": "40fe3542-f4cc-4b6a-98c3-61a49ba1acd4",
"shadow": [
{
"service_id": "WaterMeter",
"desired": {
"properties": {
"temperature": "60"
},
"event_time": "20151212T121212Z"
},
"reported": {
"properties": {
"temperature": "60"
},
"event_time": "20151212T121212Z"
},
"version": 1
}
]
}
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.