Appearance
设备影子概览
设备管理平台提供设备影子功能,用于缓存设备上报的属性数据和应用程序下发的指令信息。设备在线时,可以直接获取平台指令;设备离线后,再次上线可以主动拉取平台指令信息。本文主要介绍设备影子的应用场景和使用方法。
什么是设备影子
设备影子是一个JSON文档,用于存储设备上报属性数据和应用程序期望属性的信息。
每个设备有且只有一个设备影子,设备可以通过MQTT获取和设置设备影子来同步状态,该同步可以是影子同步给设备,也可以是设备同步给影子。
应用场景
在以下场景中,您可选择使用设备影子功能,获取设备上报数据和应用程序期望数据。
- 应用程序请求获取设备状态。
场景描述:
设备网络不稳定,设备频繁上下线,无法正常响应应用程序的请求。
设备网络稳定,同时响应多个应用程序的请求,即使响应的结果一样,设备本身处理能力有限,也会无法负载多次请求。
使用设备影子机制,设备状态变更,只需同步状态给设备影子一次,应用程序请求获取设备状态,不论应用程序请求数量,和设备是否联网在线,都可从设备影子中获取设备当前状态,实现应用程序与设备解耦。
应用程序获取设备影子中状态的流程图如下。 其中数据流转过程,请参见设备主动上报属性。

- 应用程序下发指令给设备,变更设备状态。
场景描述:设备处于下线状态,或设备网络不稳定,设备频繁上下线,应用程序发送控制指令给设备,设备不在线,指令就会发送失败。
使用设备影子机制,可以将应用程序下发的指令,携带时间戳存储到设备影子中。设备再上线时,获取设备影子中指令,并根据时间戳确定是否执行。
应用程序更新设备状态的流程图如下。其中数据流转过程,请参见应用程序改变设备状态、设备主动获取影子内容、设备主动删除影子属性。
