物联网平台提供的设备影子功能,用于缓存设备上报的状态和下发的指令。设备在线时,可以直接获取物联网平台指令;设备离线后,再次上线可以主动获取物联网平台的指令。本文介绍通过配置C Link SDK,设备实现影子功能。

前提条件

背景信息

  • 设备影子是保存在物联网平台上的JSON文档,用于缓存设备上报属性(reported)数据和云上应用期望属性(desired)数据。

    更多信息,请参见设备影子概览

  • 设备影子的JSON格式表达方法,请参见设备影子JSON详解
  • 设备影子的数据流转过程,请参见设备影子数据流

功能原理

设备通过调用C Link SDK的API,基于MQTT协议,向物联网平台发送状态信息,物联网平台将其缓存为设备影子。设备可调用API,查询或删除影子中的属性。

如下功能时序图,以例程文件./demos/shadow_basic_demo.c为例,介绍设备使用该功能的流程。

设备影子时序图

设备影子功能API的更多信息,请参见aiot_shadow_api.h

使用示例

  • 设备影子功能的参考示例,请参见使用示例
  • 设备影子功能相关错误码,请参见aiot_shadow_api.h中的状态码描述