天天看點

幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯

摘要:該場景主要描述的是裝置可以通過LWM2M協定與物聯網平台進行互動,使用者可以在控制台或通過應用側接口建立裝置關聯規則,把裝置上報的屬性轉發,通過物聯網平台規則引擎轉變成指令下發給其他指定裝置。

場景簡介

瓦斯檢測器發現瓦斯濃度超标時,自動關聯無線推窗器把窗戶打開,起到通風的作用。

該場景主要描述的是裝置可以通過LWM2M協定與物聯網平台進行互動,使用者可以在控制台或通過應用側接口建立裝置關聯規則,把裝置上報的屬性轉發,通過物聯網平台規則引擎轉變成指令下發給其他指定裝置。

核心知識點:産品模型、編解碼插件、屬性上報、指令下發、MQTT協定、裝置關聯規則。

場景流程

幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯

流程解釋:

1.建立防瓦斯洩漏産品:物聯網平台是以産品為粒度管理批量裝置,産品的建立與管理,可以通過平台提供的API接口或控制台。

2.上傳産品模型和編解碼插件:因為NB裝置是用LWM2M協定傳輸二進制碼流通信,而平台需要做對應的編解碼轉換才能與之通信。産品模型是定義一種裝置的基本屬性和指令。産品模型和編解碼插件開發可以通過控制台,也可以通過模闆離線開發再上傳,也可以導入公共産品庫的模型。

3.注冊瓦斯檢測器和推窗器裝置:平台提供了應用側API接口可以注冊裝置,也可以通過控制台批量注冊。注冊的裝置ID,是裝置側與平台互動的唯一辨別。這裡可以分别注冊兩種裝置,一種是用于瓦斯檢測的裝置,一種是可以推窗的裝置。

4.建立裝置關聯規則:使用者可以通過控制台建立規則,指定裝置關聯規則,設定觸發條件和執行動作,給指定的裝置做定向轉發。

5.瓦斯檢測值屬性上報:NB裝置是指內建了NB模組的裝置,模組內建了華為IOT Tiny SDK,把指令用二進制碼流傳輸給平台,平台會用編解碼插件解碼。

6.按規則裝置關聯:IoTDA平台會根據瓦斯檢測器上報的屬性值,進行規則過濾,把屬性值轉成指令下發給無線推窗器裝置。

7.指令下發推開窗戶:平台把指令下發給無線推窗器,通知推開窗戶進行通風。

最佳實踐

場景說明

瓦斯安全關系到千家萬戶的生命财産安全。本示例基于華為物聯網平台提供的裝置接入服務,通過觸發裝置關聯規則,自動打開推窗器。具體場景是瓦斯監測器将瓦斯濃度數值上報到物聯網平台,當瓦斯濃度超标時,會觸發設定好的裝置關聯規則,物聯網平台會下發打開窗戶的指令到無線推窗器,無線推窗器收到指令後,自動把窗戶打開。

建立瓦斯監測産品

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

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

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

4.單擊右上角的“建立産品”,建立瓦斯濃度監測産品,填寫參數後,點選“立即建立”。

幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯
幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯

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

幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯
幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯

注冊裝置

1.進入“裝置 > 裝置注冊”頁面,單擊“注冊裝置”,參考下表填寫參數。注冊瓦斯濃度監測裝置,并記錄裝置ID和密鑰。

幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯
幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯

2.進入“裝置 > 裝置注冊”頁面,單擊“注冊裝置”,參考下表填寫參數。注冊推窗器裝置,并記錄裝置ID和密鑰。

幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯
幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯

配置裝置關聯規則

1.單擊左側導航欄的“規則”。在左上角的下拉框,選擇資源空間(與步驟3同一個資源空間),單擊右上角“建立規則”。

2.在彈出的頁面選擇“裝置關聯”。

3.參考下表配置裝置關聯規則。

幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯
幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯

驗證操作

方法一:

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

1.使用MQTT.fx分别模拟瓦斯探測器裝置和推窗器,并連接配接到物聯網平台。操作方法請參考通過MQTT.fx體驗裝置接入。

2.打開模拟推窗器的MQTT.fx,訂閱平台下發的指令。

  • 選擇“Subscribe”頁簽。
  • 輸入訂閱平台下發指令的Topic=$oc/devices/{device_id}/sys/commands/#(其中與步驟2擷取的裝置ID保持一緻。)。
  • 點選“Subscribe”按鈕,完成平台指令下發訂閱。
幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯

3.切換到模拟瓦斯探測的MQTT.fx,上報屬性。

  • 選擇“Publish”頁簽。
  • 輸入屬性上報的Topic:“$oc/devices/{device_id}/sys/properties/report(其中{deviceId}與步驟1擷取的裝置ID保持一緻。)。
  • 上報1條“gaslevel”大于6的屬性。

樣例:

{
    "services": [{
            "service_id": "gaslevel",
            "properties": {
                "gaslevel": 45
            }
        }
    ]
}      
  • 點選“Publish”按鈕上報屬性值。
幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯

4.切換到模拟推窗器的MQTT.fx,選擇“Subscribe”頁簽。可以看到收到平台下發的“switch”取值為“on”的指令。

幹貨分享丨玩轉物聯網IoTDA服務系列五-智能家居瓦斯檢測關聯

方法二:

您可以使用配置裝置接入服務時注冊的真實裝置接入平台,上報“gaslevel”大于6的資料。裝置會收到一條“switch”取值為“on”的指令,自動推開窗戶。

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

繼續閱讀