物聯網平臺提供的設備影子功能,用于緩存設備上報的狀態和下發的指令。設備在線時,可以直接獲取物聯網平臺指令;設備離線后,再次上線可以主動獲取物聯網平臺的指令。本文介紹通過配置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中的狀態碼描述。