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

場(chǎng)景說明

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

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

前提條件

新增自定義Topic

具體操作細(xì)節(jié)請(qǐng)參考新增自定義Topic。

MQTT設(shè)備消息上報(bào)

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

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

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

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

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

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

    說明:
     
    確保創(chuàng)建自定義Topic時(shí),設(shè)備操作權(quán)限包含“訂閱”功能,詳細(xì)操作請(qǐng)參考自定義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)用查詢?cè)O(shè)備消息接口,查看下發(fā)命令是否成功。若命令下發(fā)成功,室內(nèi)空調(diào)將會(huì)被開啟。