物联网平台提供设备影子功能,用于缓存设备上报的状态数据和应用程序下发的指令信息。设备在线时,可以直接获取物联网平台指令;设备离线后,再次上线可以主动拉取物联网平台指令。本文主要介绍设备影子的应用场景和使用方法。
设备影子是一个 JSON 文档,用于存储设备上报状态、应用程序期望状态信息。
每个设备有且只有一个设备影子,设备可以通过 MQTT 和设备影子同步状态,该同步可以是影子同步给设备,也可以是设备同步给影子。设备影子相当于一层设备缓存,解决了弱网环境下的设备消息同步的问题。
与平台描述有出入,设备影子 Topic 的发布、订阅的描述是否写反了。
物联网平台已为每个设备预定义了两个 Topic,用于实现设备影子数据流转。
sys/{ProductKey}/{DeviceName}/shadow/desired/get
:设备向云服务器更新影子/获取信息。sys/{ProductKey}/{DeviceName}/shadow/desired/set
:云服务器向设备下发内容。sys/{ProductKey}/{DeviceName}/shadow/report
:设备影子上报。sys/{ProductKey}/{DeviceName}/shadow/desired/get/reply
:设备影子获取 reply。您可以查看、更新指定设备的设备影子。
说明
此处设置将对期望状态进行全量更新,会覆盖之前设置的设备期望状态。