本文檔以設備接入模擬器為例,介紹以MQTT原生協議接入華為云 物聯網平臺 。此模擬器是MQTT客戶端,可以快速驗證是否可以與物聯網平臺服務交互發(fā)布或訂閱消息。
前提條件
獲取設備接入信息
在設備接入服務控制臺獲取設備接入平臺所需的信息。
- 訪問設備接入服務,單擊“立即使用”進入設備接入控制臺。
- 單擊“立即使用”進入控制臺,單擊左側導航欄的“總覽”,查看設備接入信息,記錄域名和端口。
說明:
針對不支持用域名接入的設備,通過在cmd命令框中執(zhí)行“ping 域名”獲取IP地址,用IP地址接入平臺。由于IP地址不固定,您需要將IP地址做成可配置項。
創(chuàng)建產品
- 創(chuàng)建MQTT協議產品(如果已有MQTT協議產品,可跳過此步驟)。
- 登錄管理控制臺,單擊左側導航欄“產品”,單擊頁面右上角的“創(chuàng)建產品”。
- 根據頁面提示填寫參數,然后單擊“確定”。
基本信息
所屬資源空間
平臺自動將新創(chuàng)建的產品歸屬在默認資源空間下。如需歸屬在其他資源空間下,下拉選擇所屬的資源空間。如無對應的資源空間,請先創(chuàng)建資源空間。
產品名稱
自定義。支持字母、數字、下劃線(_)、連字符(-)的字符組合。
協議類型
選擇MQTT。
數據格式
選擇JSON。
廠商名稱
自定義。支持中英文字符、數字、下劃線(_)、連字符(-)的字符組合。
所屬行業(yè)
請根據產品模型的所屬行業(yè)填寫。
設備類型
使用平臺預置的產品模型,會自動關聯設備類型,不需要再輸入設備類型。
高級配置
產品ID
定制ProductID,用于唯一標識一個產品。如果攜帶此參數,平臺將產品ID設置為該參數值;如果不攜帶此參數,產品ID在物聯網平臺創(chuàng)建產品后由平臺分配獲得。
產品描述
產品描述。請根據實際情況填寫。
注冊設備
- 在管理控制臺頁面,選擇左側導航欄“設備 > 所有設備”,單擊頁面右上角的“注冊設備”。
- 根據頁面提示信息填寫參數,然后單擊“確定”。
參數名稱
說明
所屬資源空間
確保和這里創(chuàng)建的產品歸屬在同一個資源空間。
所屬產品
選擇這里創(chuàng)建的產品。
設備標識碼
即nodeID,設備唯一物理標識??勺远x,由英文字母和數字組成。
設備名稱
即device_name,可自定義。
設備認證類型
選擇“密鑰”。
密鑰
設備密鑰,可自定義,不填寫物聯網平臺會自動生成。
圖2 注冊設備成功注冊設備后,平臺會自動生成設備ID和密鑰,請妥善保管好設備ID(deviceId)和密鑰(deviceSecret),用于設備接入。
使用模擬器接入
- 下載模擬器(默認是64位操作系統),并啟動模擬器,如下圖:

- 界面展示

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

- 用戶可以選擇設備側建鏈時是否為SSL加密,選擇Qos方式是0還是1,當前不支持Qos2,可參考使用限制。
- 模擬器提供了界面顯示,填寫Server地址、設備ID、設備密鑰。請根據實際創(chuàng)建的設備信息填寫。
- 新建連接
設備或網關在接入物聯網平臺時首先需要和平臺建立連接,從而將設備或網關與平臺進行關聯。開發(fā)者通過傳入設備信息,將設備或網關連接到物聯網平臺。點擊新建連接按鈕,域名、設備ID和秘鑰正確的情況下,可以看到日志設備連接成功,可在平臺查看設備狀態(tài),如下圖:
- 訂閱Topic
訂閱某topic的設備才能接收broker發(fā)布的關于該topic的消息,關于平臺預置topic可參考Topic定義。
建鏈后,如果成功訂閱Topic,主界面日志欄顯示如下信息:

- 發(fā)布Topic
發(fā)布Topic是指設備主動向平臺上報自己的屬性或消息,詳細見設備屬性上報接口文檔。
在模擬器中實現了上報Topic、屬性上報功能。
發(fā)布Topic后,Demo界面顯示如下:

設備上報屬性成功后可在“設備詳情”頁面查看到上報的屬性:
- 接收下發(fā)命令
模擬器支持接收平臺下發(fā)命令的功能,在MQTT建鏈完成并成功訂閱Topic后,可以在控制臺設備詳情中對該設備進行同步命令下發(fā)。下發(fā)成功后,在MQTT的回調函數中接收到平臺下發(fā)給設備的命令。
例如下發(fā)參數名為smokeDetector: SILENCE,參數值為50的命令。
同步命令下發(fā)成功后,Demo界面顯示如下:
