物聯網平台提供的裝置影子功能,用於緩衝裝置上報的狀態和下發的指令。裝置線上時,可以直接擷取物聯網平台指令;裝置離線後,再次上線可以主動擷取物聯網平台的指令。本文介紹通過配置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中的狀態代碼描述。