天天看點

幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調

摘要:本文主要講述空調接入到物聯網平台後,通過恒溫空調控制系統,不論空調是否開機,都可以調整空調預設溫度,待空調上電開機後,自動按預設溫度調節。

場景簡介

通過恒溫控制系統,不論空調是否開機,都可以調整空調預設溫度,待空調上電開機後,自動按預設溫度調節。

該場景主要描述的是應用側或控制台可以給離線裝置下發緩存指令,待裝置上線後執行,控制台通過裝置影子配置屬性,待裝置上線後上報的屬性不比對的話,會自動下發屬性修改的指令,直至修改成功。

核心知識點:産品模型、編解碼插件、裝置影子、屬性上報、屬性修改。

場景流程

幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調

流程解釋:

1.建立恒溫空調産品:物聯網平台以産品為粒度管理批量裝置。使用者可以通過平台提供的API接口或控制台建立産品。

2.上傳産品模型(編解碼插件):産品模型定義了裝置的基本屬性和指令。您可以通過控制台線上開發産品模型,通過模闆離線開發産品模型再上傳到控制台,也可以導入公共産品庫的模型。通過前面幾個示例,您應該發現當裝置若采用二進制上傳方式時,需要開發編解碼插件上傳到平台;若采用Json資料格式上傳,則無需編解碼插件。

3.注冊恒溫空調裝置:平台提供了應用側API接口可以注冊裝置,也可以通過控制台批量注冊。注冊時擷取的裝置ID,是裝置側與平台互動的唯一辨別。

4.配置恒溫預期溫度:這裡需要引入一個概念:裝置影子。當裝置不線上時,平台可以緩存來自應用側的裝置影子預期配置,待裝置上線後同步屬性給裝置,若裝置上報的對應屬性值與預期不一緻時,平台會繼續下發,直到屬性更改成功。這裡的預期是恒溫控制系統,根據季節情況,統一調整空調的預設溫度,例如冬天設定為28度,夏天設定為24度。

裝置影子可以通過控制台“裝置詳情 > 裝置影子 > 屬性配置”中進行設定。如果無法配置,那可能是您沒有添加産品模型。裝置影子依賴裝置屬性,而屬性又依賴産品模型的定義,是以裝置影子跟屬性一樣,您需要先有産品模型的屬性定義,才能正常使用裝置影子。

5.裝置影子緩存預期值:裝置影子是IoTDA裡面的一個服務,裝置在平台的孿生資料,主要提供緩存屬性修改,屬性同步的機制,目的是確定裝置屬性值與平台保持一緻,即使裝置離線,也能提供修改屬性的能力,待裝置上線後自動同步生效。

6.空調通電開機:空調開機後,通過二進制或MQTT都可以上線或上報(與平台建立連接配接),平台緩存的預期值就會通過裝置屬性修改下發給空調。

7.上報目前溫度屬性值:空調上報目前的溫度屬性值,即空調的預設溫度調節的度數。

8.裝置影子更新屬性值:如果預期溫度是28度,而空調上報的溫度調節度數是26度,則說明未設定成功,平台會重複下發屬性修改,通知空調調節溫度到28度。如果空調上報的度數是28度,說明預期值在裝置側設定成功,平台不再下發屬性修改。

9.上報空調溫度屬性值:當空調按預期設定溫度成功後,上報的屬性值平台會通知給應用側恒溫控制系統。當然,應用側和控制台都可以主動查詢裝置影子,來決定是否要做預期的調整。

最佳實踐

場景說明

通過恒溫控制系統,不論空調是否開機,都可以調整空調預設溫度,待空調上電開機後,自動按預設溫度調節。空調接入到物聯網平台後,使用者可以在應用側或者裝置接入控制台設定裝置影子,将預置的溫度通過裝置影子下達屬性修改給空調。空調收到修改屬性的要求後,自動調節溫度。

恒溫空調産品開發

(1)登入華為雲官方網站,通路裝置接入服務。

(2)單擊“立即使用”進入裝置接入控制台。

(3)單擊左側導航欄的“産品”,單擊右下角下拉框,選擇建立産品所屬的資源空間。

(4)單擊右上角的“建立産品”,建立恒溫空調産品,填寫參數後,點選“立即建立”。

幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調
幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調

(5)在功能定義頁面,選擇“自定義功能”,參考下表,完成産品模型配置。

幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調
幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調

(6)進入“裝置 > 裝置注冊”頁面,單擊“注冊裝置”,參考下表填寫參數。

幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調
幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調

配置裝置影子

使用者可以選擇在應用側調用配置裝置影子預期資料接口設定裝置影子,也可以在裝置接入控制台設定裝置影子。此處以在裝置接入控制台設定裝置影子為例。

1)登入控制台,在左側導航欄點選“裝置”,單擊步驟6注冊的裝置進入到恒溫空調裝置的詳情頁面。

2)選擇“裝置影子”頁簽,單擊“屬性配置”。

3)在彈出視窗中輸入服務屬性對應的期望值。此處設定“temperature”的屬性值為25。

幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調

驗證操作

方法一:

您可以使用MQTT.fx模拟裝置驗證。

(1)使用MQTT.fx模拟恒溫空調,并連接配接到物聯網平台。操作方法請參考通過MQTT.fx體驗裝置接入。

(2)選擇“Subscribe”頁簽,輸入訂閱裝置影子的topic=$oc/devices/{device_id}/sys/shadow/get/response/#,其中{device_id}與步驟6的裝置ID保持一緻,點選“Subscribe”按鈕。

幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調

(3)選擇“Pubish”頁簽,輸入請求裝置影子的Topic=$oc/devices/{device_id}/sys/shadow/get/request_id={request_id}。

(4)輸入一條擷取裝置影子的請求,點選“Publish”按鈕。

示例:

{
    "object_device_id": "40fe3542-f4cc-4b6a-98c3-61a49ba1acd4",
    "service_id": temperature"
}      

(5)選擇“Subscribe”頁簽,看到平台下發的裝置影子資料。

幹貨分享丨玩轉物聯網IoTDA服務系列六-恒溫空調

方法二:

您可以使用配置裝置接入服務時注冊的真實裝置接入平台,裝置會收到平台下發的裝置影子,修改空調的預設溫度值。

至此,通過該文檔的學習,您應該對恒溫空調場景有了一定的了解。接下來,可以在系列後續文章中,可以學習到更多的物聯網業務場景。

點選關注,第一時間了解華為雲新鮮技術~

繼續閱讀