1. 程式人生 > >乾貨分享丨玩轉物聯網IoTDA服務系列五-智慧家居煤氣檢測聯動

乾貨分享丨玩轉物聯網IoTDA服務系列五-智慧家居煤氣檢測聯動

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

場景簡介

煤氣檢測器發現煤氣濃度超標時,自動關聯無線推窗器把窗戶開啟,起到通風的作用。

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

核心知識點:產品模型、編解碼外掛、屬性上報、命令下發、MQTT協議、裝置聯動規則。

場景流程

流程解釋:

1.建立防煤氣洩漏產品:物聯網平臺是以產品為粒度管理批量裝置,產品的建立與管理,可以通過平臺提供的API介面或控制檯。

2.上傳產品模型和編解碼外掛:因為NB裝置是用LWM2M協議傳輸二進位制碼流通訊,而平臺需要做對應的編解碼轉換才能與之通訊。產品模型是定義一種裝置的基本屬性和命令。產品模型和編解碼外掛開發可以通過控制檯,也可以通過模板離線開發再上傳,也可以匯入公共產品庫的模型。

3.註冊煤氣檢測器和推窗器裝置:平臺提供了應用側API介面可以註冊裝置,也可以通過控制檯批量註冊。註冊的裝置ID,是裝置側與平臺互動的唯一標識。這裡可以分別註冊兩種裝置,一種是用於煤氣檢測的裝置,一種是可以推窗的裝置。

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

5.煤氣檢測值屬性上報:NB裝置是指集成了NB模組的裝置,模組集成了華為IOT Tiny SDK,把指令用二進位制碼流傳輸給平臺,平臺會用編解碼外掛解碼。

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

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

最佳實踐

場景說明

煤氣安全關係到千家萬戶的生命財產安全。本示例基於華為物聯網平臺提供的裝置接入服務,通過觸發裝置聯動規則,自動開啟推窗器。具體場景是煤氣監測器將煤氣濃度數值上報到物聯網平臺,當煤氣濃度超標時,會觸發設定好的裝置聯動規則,物聯網平臺會下發開啟窗戶的命令到無線推窗器,無線推窗器收到命令後,自動把窗戶開啟。

建立煤氣監測產品

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

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

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

4.單擊右上角的“建立產品”,建立煤氣濃度監測產品,填寫引數後,點選“立即建立”。

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

註冊裝置

1.進入“裝置 > 設備註冊”頁面,單擊“註冊裝置”,參考下表填寫引數。註冊煤氣濃度監測裝置,並記錄裝置ID和金鑰。

2.進入“裝置 > 設備註冊”頁面,單擊“註冊裝置”,參考下表填寫引數。註冊推窗器裝置,並記錄裝置ID和金鑰。

配置裝置聯動規則

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

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

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

驗證操作

方法一:

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

1.使用MQTT.fx分別模擬煤氣探測器裝置和推窗器,並連線到物聯網平臺。操作方法請參考通過MQTT.fx體驗裝置接入。

2.開啟模擬推窗器的MQTT.fx,訂閱平臺下發的命令。

  • 選擇“Subscribe”頁籤。
  • 輸入訂閱平臺下發命令的Topic=$oc/devices/{device_id}/sys/commands/#(其中與步驟2獲取的裝置ID保持一致。)。
  • 點選“Subscribe”按鈕,完成平臺命令下發訂閱。

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”按鈕上報屬性值。

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

方法二:

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

 

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