華為云計算 云知識 華為云物聯(lián)網(wǎng)平臺使用自定義Topic進行通信
華為云物聯(lián)網(wǎng)平臺使用自定義Topic進行通信

場景說明

華為云設(shè)備接入IoTDA服務(wù)的自定義Topic功能用于MQTT協(xié)議設(shè)備接入 物聯(lián)網(wǎng)平臺 的場景,支持設(shè)備消息上報、平臺消息下發(fā)的Topic進行自定義。根據(jù)Topic不同,應(yīng)用側(cè)可實現(xiàn)不同的業(yè)務(wù)邏輯處理,也適用于應(yīng)用側(cè)和設(shè)備側(cè)之間,設(shè)備無法按照產(chǎn)品模型中定義的屬性上報或命令下發(fā)的場景。

本示例中,應(yīng)用服務(wù)器收到設(shè)備上報Topic為室內(nèi)溫度的數(shù)據(jù),判斷是否開啟或關(guān)閉室內(nèi)空調(diào)。

前提條件

新增自定義Topic

具體操作細節(jié)請參考新增自定義Topic

MQTT設(shè)備消息上報

  1. 訪問設(shè)備接入服務(wù),單擊“立即使用”進入設(shè)備接入控制臺。
  2. 選擇設(shè)備 > 所有設(shè)備,找到對應(yīng)的設(shè)備,單擊“查看”進入設(shè)備詳情頁。
  3. 選擇“消息跟蹤”頁簽,單擊“啟動消息跟蹤”跟蹤時長根據(jù)您的需求自定義。
  4. 參考MQTT設(shè)備快速接入,以MQTT.fx模擬器為例,模擬設(shè)備上報自定義Topic消息。

    說明:使用IoT Device SDK或原生MQTT協(xié)議接入的設(shè)備,需要在設(shè)備程序中,設(shè)置設(shè)備上報的自定義Topic名稱。
  5. 在消息跟蹤頁面,可以查看設(shè)備上報的自定義Topic消息。

  6. 應(yīng)用側(cè)通過數(shù)據(jù)轉(zhuǎn)發(fā)的方式,獲取MQTT設(shè)備上報的自定義Topic消息。更多數(shù)據(jù)轉(zhuǎn)發(fā)方式,請參考數(shù)據(jù)轉(zhuǎn)發(fā)。您也可以參考最佳實踐案例數(shù)據(jù)轉(zhuǎn)發(fā)到OBS長期存儲

MQTT設(shè)備消息下發(fā)

本示例通過使用postman,下發(fā)開啟室內(nèi)空調(diào)指令。

  1. 使用MQTT.fx模擬器,訂閱自定義Topic。

    說明:
     
    確保創(chuàng)建自定義Topic時,設(shè)備操作權(quán)限包含“訂閱”功能,詳細操作請參考自定義Topic。使用IoT Device SDK或者原生MQTT協(xié)議接入的設(shè)備,需要在設(shè)備程序中,設(shè)置設(shè)備訂閱的自定義Topic名稱。
  2. 使用postman工具模擬應(yīng)用側(cè)調(diào)用下發(fā)設(shè)備消息接口,下發(fā)開啟室內(nèi)空調(diào)的命令。

  3. 調(diào)用查詢設(shè)備消息接口,查看下發(fā)命令是否成功。若命令下發(fā)成功,室內(nèi)空調(diào)將會被開啟。