LiteOS雲端對接教程04-華爲OC平臺創建MQTT產品使用mqtt.fx測試

1. 雲端準備工作 —— 註冊並登錄OC平臺

註冊並登錄華爲OceanConnect平臺,需要使用華爲雲賬號登錄。

進入後界面如下:

華爲雲界面

2. 雲端操作 — 創建雲端設備

2.1. 創建項目

點擊創建項目:

填寫信息之後提交:

mark

創建之後,系統會彈出分配的應用ID和祕鑰,應點擊下載,及時保存:

mark

打開下載的文件,可以看到其中存放的ID和祕鑰信息:

mark

接下來點擊進入項目,進入之後界面如下:

mark

2.2. 創建產品

mark

選擇創建自定義產品:

mark

填寫產品信息:

mark

創建產品成功之後如圖:

mark

接下來我們需要創建該設備的屬性和控制命令。

2.2.1. 創建設備屬性

創建一個新的服務:

mark

添加設備亮度值屬性Lightness:

mark

編輯屬性值的詳細信息:

mark

設置完成之後如下:

mark

2.2.2. 創建下發命令

點擊添加命令:

mark

mark

然後添加下發命令的字段:

mark

mark

添加完成之後如圖:

mark

一個完成的產品創建完成。

2.3. 創建設備

2.3.1. 創建虛擬設備測試數據流

在設備管理界面點擊創建虛擬設備:

mark

創建成功,點擊調試產品:

mark

調試界面如下:

mark

在設備模擬中模擬上報數據:

mark

設備數據上報成功,接下來測試命令下發:

2.3.2. 創建真實設備

mark

mark

mark

mark

創建設備之後查看對接信息:

mark

3. 準備證書和連接信息生成工具

連接信息生成工具

下載連接信息生成工具,運行“MqttClientIdGenerator.jar”,填寫設備ID和密鑰,生成連接信息:

設備ID:在設備詳情中查看。

mark

設備祕鑰:剛剛創建設備之後彈出的,如若未保存,無法查看,需要重新創建設備。

填寫完成之後點擊生成,即可看到信息:

mark

這個信息後續使用,暫時先不要關閉軟件。

下載證書

下載證書

其中使用的證書文件在Agent LiteJava

mark

4. 使用mqtt.fx作爲客戶端測試加密傳輸(mqtts)

配置 MQTT 的應用客戶端,可以快速驗證是否可以實現與物接入服務交流發送或者接收消息。

4.0. 前提條件

參考我的另一篇博客,下載並安裝MQTT.fx客戶端(1.7.1版本)。

4.1. 添加配置文件

  1. 打開MQTT.fx,單擊“設置”圖標:

  1. 單擊彈出的對話框的左下角的“添加”圖標,新增一個配置文件,按照下面的設置填寫相應字段:
  • Profile Name:Test Huawei OceanConnect
  • Broker Address:49.4.93.24
  • Broker Port:8883
  • Client ID:填寫小工具中生成的

mark

mark

  1. 選擇“User Credentials”選項卡,並且按以下字段填寫:
  • User Name: 填寫小工具中生成的
  • Password: 填寫小工具中生成的

mark

mark

  1. 選擇“SSL/TLS”選項卡,勾上“Enable SSL/TLS”,並選擇填寫之前我們下載的證書文件:

mark

  1. 單擊“OK”按鈕保存設置。

4.2. 連接服務器

選擇“Test Huawei OceanConnect”,然後單擊“Connect”按鈕,連接成功之後如圖:

mark

在雲平臺可以看到設備在線:

mark

點擊調試設備進入調試:

mark

調試界面如下:

mark

4.3. 客戶端發佈消息——向平臺上報數據

打開Publish標籤,填寫主題topic,例如:

/huawei/v1/devices/2db7f786-53c1-4e28-9897-0cac80d178ed/data/json

  • “codecMode”爲上報的編解碼類型,當用戶使用自身開發的編解碼插件時“codecMode”取值爲“binary”,沒有開發編解碼插件的“codecMode”取值爲“json”。
  • “deviceId”的值,對一機一密設備,使用deviceId接入時填寫爲設備註冊成功後返回的“deviceId”值。

此處應該是:

/huawei/v1/devices/{deviceId}/data/{codecMode}

消息質量選擇默認的QoS 0,輸入框中填寫以下有效信息:

{
    "msgType": "deviceReq",
    "data": [{
        "serviceId": "Lightness",
        "serviceData": {
            "Lightness": 123
        }
    }]
}

mark

在平臺調試界面可以看到:

mark

4.4. 客戶端訂閱消息——接收平臺下發指令

成功連接後,即可開始訂閱消息。

打開 Subscribe 標籤,填寫主題 topic,例如:

/huawei/v1/devices/{deviceId}/command/{codecMode}

這裏應該是:

/huawei/v1/devices/2db7f786-53c1-4e28-9897-0cac80d178ed/command/json

mark

然後在平臺下發指令:

mark

可以看到客戶端訂閱了,所以接收到該命令:

mark

如有興趣,大家可以再測試命令響應字段,方法相同。

發佈了50 篇原創文章 · 獲贊 2 · 訪問量 5590
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章