更新时间:2024-10-11 GMT+08:00

设备侧获取平台的设备影子数据

功能介绍

用于设备向平台获取设备影子数据。用户可以通过应用服务器或物联网控制台配置设备影子预期数据,设备上线时订阅该topic,可以获取到平台设备影子数据,以此来同步设备属性期望值,从而完成设备属性值的修改。

简单交互逻辑介绍如下:

① 应用调用“配置设备影子预期数据”接口或在控制台配置设备影子数据;

② 设备侧(已完成关联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来实现。
  • 设备侧上行请求参数中携带唯一标识,该唯一标识会在下行topic中request_id携带给设备以标记唯一请求链。
  • 订阅下行Topic时建议使用通配符“#”来替代“request_id={request_id}”即为:$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
    }
  ]
}