華為云計算 云知識 基于華為云物聯(lián)網(wǎng)平臺實現(xiàn)溫度過高時自動關(guān)閉設(shè)備
基于華為云物聯(lián)網(wǎng)平臺實現(xiàn)溫度過高時自動關(guān)閉設(shè)備

場景說明

物聯(lián)網(wǎng)平臺 支持設(shè)備數(shù)據(jù)上報和設(shè)備命令下發(fā),但若要將兩者聯(lián)動起來,一般需要由應(yīng)用服務(wù)器實現(xiàn)對應(yīng)邏輯。

設(shè)備接入服務(wù) 提供規(guī)則引擎功能,平臺上簡單幾步操作即可實現(xiàn)數(shù)據(jù)上報特定數(shù)據(jù)時平臺自動下發(fā)指定命令,減少應(yīng)用服務(wù)器開發(fā)工作量。

本示例為設(shè)備自帶的溫度傳感器上報的溫度大于80度時,平臺自動下發(fā)命令關(guān)閉設(shè)備。

配置設(shè)備接入服務(wù)

在設(shè)備接入服務(wù)中創(chuàng)建產(chǎn)品模型、注冊設(shè)備并設(shè)置設(shè)備聯(lián)動規(guī)則,實現(xiàn)當(dāng)設(shè)備上報特定數(shù)據(jù)時平臺自動下發(fā)命令。

  1. 訪問設(shè)備接入服務(wù),單擊“立即使用”進(jìn)入設(shè)備接入控制臺。
  2. 選擇左側(cè)導(dǎo)航欄的“產(chǎn)品”。

    注:本文中使用的產(chǎn)品模型和設(shè)備僅為示例,您可以使用自己的產(chǎn)品模型和設(shè)備進(jìn)行操作。

  3. 單擊右上角的“創(chuàng)建產(chǎn)品”,創(chuàng)建一個基于MQTT協(xié)議的產(chǎn)品,填寫參數(shù)后,單擊“確認(rèn)”

    基本信息

    產(chǎn)品名稱

    自定義,如MQTT_Device

    協(xié)議類型

    選擇“MQTT”

    數(shù)據(jù)格式

    選擇“JSON”

    廠商名稱

    自定義

    所屬行業(yè)

    根據(jù)實際情況進(jìn)行填寫。

    設(shè)備類型

  4. 單擊Profile_tempSensor.zip,獲取產(chǎn)品模型文件樣例。
  5. 在模型定義頁面,單擊“上傳模型文件”,在彈出的頁面中加載產(chǎn)品模型文件,然后單擊“確認(rèn)”。
    圖1 上傳模型文件
  6. 選擇左側(cè)導(dǎo)航欄的設(shè)備 > 設(shè)備注冊,單擊右上角的“注冊設(shè)備”,填寫設(shè)備注冊參數(shù)。
    圖2 注冊設(shè)備

    參數(shù)名稱

    說明

    所屬產(chǎn)品

    選擇前面創(chuàng)建的產(chǎn)品。

    設(shè)備標(biāo)識碼

    即node_id,填寫為設(shè)備的IMEI、MAC地址或Serial No;若沒有真實設(shè)備,填寫自定義字符串,由英文字母和數(shù)字組成。

    設(shè)備名稱

    自定義。

    設(shè)備認(rèn)證類型

    選擇“密鑰”。

    密鑰

    設(shè)備密鑰,可自定義,不填寫物聯(lián)網(wǎng)平臺會自動生成。

    填寫完成后單擊“確定”,請注意保存注冊成功返回的“設(shè)備ID”和“設(shè)備密鑰”。

  7. 選擇左側(cè)導(dǎo)航欄的“規(guī)則>設(shè)備聯(lián)動”,單擊右上角的“創(chuàng)建規(guī)則”按鈕。(創(chuàng)建規(guī)則前需選擇所屬資源空間。)
  8. 參考下表參數(shù)說明,填寫規(guī)則內(nèi)容。以下參數(shù)取值僅為示例,您可參考用戶指南創(chuàng)建自己的規(guī)則,填寫完成后單擊“創(chuàng)建規(guī)則”。
    圖3 創(chuàng)建規(guī)則

    參數(shù)名稱

    說明

    規(guī)則名稱

    創(chuàng)建的規(guī)則名稱,例如“Overheated”。

    立即觸發(fā)

    勾選“激活規(guī)則”

    生效時間

    選擇“一直生效”。

    描述

    對該規(guī)則的描述,如“設(shè)備溫度高于80度時自動關(guān)閉設(shè)備”。

    觸發(fā)條件

    1. 單擊“添加條件”;
    2. 選擇“指定設(shè)備觸發(fā)”;
    3. 選擇已添加的設(shè)備;
    4. 服務(wù)選擇“tempSensor”,屬性選擇“temperature”,操作選擇“>”,值填寫“80”,單擊“觸發(fā)機(jī)制”,“觸發(fā)策略”選擇“重復(fù)抑制”,數(shù)據(jù)時效”填寫“300”,然后單擊“確定”。

    執(zhí)行動作

    1. 單擊“添加動作;
    2. “動作類型”選擇“下發(fā)命令”,下發(fā)設(shè)備選擇已創(chuàng)建的設(shè)備;
    3. 服務(wù)選擇“deviceSwitch”,命令選擇“ON_OFF”,單擊“參數(shù)配置”,“power”的值選擇“OFF”,然后單擊“確定”。

驗證操作

  • 您可以使用配置設(shè)備接入服務(wù)時注冊的真實設(shè)備接入平臺,上報“temperature”大于80的數(shù)據(jù)。
  • 您也可以使用模擬器模擬設(shè)備訂閱Topic: “$oc/devices/{device_id}/sys/properties/report”(其中{deviceId}需要替換成實際設(shè)備ID)后,上報“temperature”大于80的數(shù)據(jù),操作方法請參考在線開發(fā)MQTT協(xié)議的智慧路燈。
  • 您還可以使用虛擬設(shè)備進(jìn)行在線調(diào)試,上報“temperature”大于80的數(shù)據(jù)。

期望結(jié)果:

  • 若您使用真實設(shè)備上報數(shù)據(jù),設(shè)備會收到一條“power”取值為“OFF”的“ON_OFF”命令。
  • 若您使用模擬器上報數(shù)據(jù),可在“Subscribe”頁簽查看到平臺下發(fā)的“power”取值為“OFF”的“ON_OFF”命令。