華為云計算 云知識 MQTT原生協議設備模擬器接入華為云物聯網平臺
MQTT原生協議設備模擬器接入華為云物聯網平臺

本文檔以設備接入模擬器為例,介紹以MQTT原生協議接入華為云 物聯網平臺 。此模擬器是MQTT客戶端,可以快速驗證是否可以與物聯網平臺服務交互發(fā)布或訂閱消息。

前提條件

  • 已注冊華為云官方帳號。未注冊可點擊注冊頁面完成注冊。
  • 已完成實名制認證。未完成可在華為云上點擊實名認證完成認證,否則無法使用設備接入功能。
  • 已開通 設備接入服務 。未開通則訪問設備接入服務,點擊“立即使用”后開通該服務。

獲取設備接入信息

在設備接入服務控制臺獲取設備接入平臺所需的信息。

  1. 訪問設備接入服務,單擊“立即使用”進入設備接入控制臺。
  2. 單擊“立即使用”進入控制臺,單擊左側導航欄的“總覽”,查看設備接入信息,記錄域名和端口。

     

    說明:

    針對不支持用域名接入的設備,通過在cmd命令框中執(zhí)行“ping 域名”獲取IP地址,用IP地址接入平臺。由于IP地址不固定,您需要將IP地址做成可配置項。

     

創(chuàng)建產品

  1. 創(chuàng)建MQTT協議產品(如果已有MQTT協議產品,可跳過此步驟)。
  2. 登錄管理控制臺,單擊左側導航欄“產品”,單擊頁面右上角的“創(chuàng)建產品”
  3. 根據頁面提示填寫參數,然后單擊“確定”。

     

    基本信息

    所屬資源空間

    平臺自動將新創(chuàng)建的產品歸屬在默認資源空間下。如需歸屬在其他資源空間下,下拉選擇所屬的資源空間。如無對應的資源空間,請先創(chuàng)建資源空間。

    產品名稱

    自定義。支持字母、數字、下劃線(_)、連字符(-)的字符組合。

    協議類型

    選擇MQTT。

    數據格式

    選擇JSON。

    廠商名稱

    自定義。支持中英文字符、數字、下劃線(_)、連字符(-)的字符組合。

    所屬行業(yè)

    請根據產品模型的所屬行業(yè)填寫。

    設備類型

    使用平臺預置的產品模型,會自動關聯設備類型,不需要再輸入設備類型。

    高級配置

    產品ID

    定制ProductID,用于唯一標識一個產品。如果攜帶此參數,平臺將產品ID設置為該參數值;如果不攜帶此參數,產品ID在物聯網平臺創(chuàng)建產品后由平臺分配獲得。

    產品描述

    產品描述。請根據實際情況填寫。

注冊設備

  1. 在管理控制臺頁面,選擇左側導航欄“設備 > 所有設備”,單擊頁面右上角的“注冊設備”。
  2. 根據頁面提示信息填寫參數,然后單擊“確定”。

     

    參數名稱

    說明

    所屬資源空間

    確保和這里創(chuàng)建的產品歸屬在同一個資源空間。

    所屬產品

    選擇這里創(chuàng)建的產品。

    設備標識碼

    即nodeID,設備唯一物理標識??勺远x,由英文字母和數字組成。

    設備名稱

    即device_name,可自定義。

    設備認證類型

    選擇“密鑰”

    密鑰

    設備密鑰,可自定義,不填寫物聯網平臺會自動生成。

    圖2 注冊設備

    成功注冊設備后,平臺會自動生成設備ID和密鑰,請妥善保管好設備ID(deviceId)和密鑰(deviceSecret),用于設備接入。

使用模擬器接入

  1. 下載模擬器(默認是64位操作系統),并啟動模擬器,如下圖:

     

     

  2. 界面展示

     

    1. 模擬器提供了界面顯示,填寫Server地址、設備ID、設備密鑰。請根據實際創(chuàng)建的設備信息填寫。
      • Server地址:即域名,參考平臺對接信息獲??;
      • 設備ID和設備密鑰:在這里獲取。
    2. 不同的Server地址SSL加密接入時要與對應的證書文件匹配使用,證書獲取請參考獲取資源,需要替換certificate文件夾下的證書,如下圖:

    3. 用戶可以選擇設備側建鏈時是否為SSL加密,選擇Qos方式是0還是1,當前不支持Qos2,可參考使用限制。

     

  3. 新建連接

     

    設備或網關在接入物聯網平臺時首先需要和平臺建立連接,從而將設備或網關與平臺進行關聯。開發(fā)者通過傳入設備信息,將設備或網關連接到物聯網平臺。點擊新建連接按鈕,域名、設備ID和秘鑰正確的情況下,可以看到日志設備連接成功,可在平臺查看設備狀態(tài),如下圖:

  4. 訂閱Topic

     

    訂閱某topic的設備才能接收broker發(fā)布的關于該topic的消息,關于平臺預置topic可參考Topic定義

    建鏈后,如果成功訂閱Topic,主界面日志欄顯示如下信息:

     

  5. 發(fā)布Topic

     

    發(fā)布Topic是指設備主動向平臺上報自己的屬性或消息,詳細見設備屬性上報接口文檔。

    在模擬器中實現了上報Topic、屬性上報功能。

    發(fā)布Topic后,Demo界面顯示如下:

    設備上報屬性成功后可在“設備詳情”頁面查看到上報的屬性:

     

  6. 接收下發(fā)命令

     

    模擬器支持接收平臺下發(fā)命令的功能,在MQTT建鏈完成并成功訂閱Topic后,可以在控制臺設備詳情中對該設備進行同步命令下發(fā)。下發(fā)成功后,在MQTT的回調函數中接收到平臺下發(fā)給設備的命令。

    例如下發(fā)參數名為smokeDetector: SILENCE,參數值為50的命令。

    同步命令下發(fā)成功后,Demo界面顯示如下: