物联网平台提供的设备影子功能,用于缓存设备上报的状态和下发的指令。设备在线时,可以直接获取物联网平台指令;设备离线后,再次上线可以主动获取物联网平台的指令。本文介绍通过配置C Link SDK,设备实现影子功能。
前提条件
- 已获取设备认证信息。
- 已获取C Link SDK。
定制SDK时,在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中的状态码描述。