場景說明
本文以“智慧路燈”為示例,通過MQTT.fx的設(shè)備模擬器替代真實的設(shè)備,帶您快速體驗設(shè)備上報數(shù)據(jù)到華為云 物聯(lián)網(wǎng)平臺 和遠程下發(fā)控制命令到設(shè)備的全過程。
假設(shè):路燈設(shè)備上報一條光照強度(luminance)消息;支持遠程控制路燈開關(guān)狀態(tài)的命令(switch),上報數(shù)據(jù)的格式為JSON格式。
前提條件
- 已注冊華為云官方帳號。未注冊可單擊注冊頁面完成注冊。
- 已完成實名制認證。未完成可在華為云上單擊實名認證完成認證,否則無法使用設(shè)備接入功能。
- 已開通 設(shè)備接入服務(wù) 。未開通則訪問設(shè)備接入服務(wù),單擊“立即使用”后開通該服務(wù)。
業(yè)務(wù)流程
基于MQTT.fx體驗平臺功能是指以在MQTT.fx模擬器為例,介紹數(shù)據(jù)上報、命令下發(fā)等業(yè)務(wù)。
- 創(chuàng)建產(chǎn)品。創(chuàng)建一個MQTT協(xié)議的產(chǎn)品。
- 開發(fā)產(chǎn)品模型。通過定義產(chǎn)品模型,在物聯(lián)網(wǎng)平臺構(gòu)建一款路燈設(shè)備,支持上報光照強度、下發(fā)路燈開關(guān)狀態(tài)命令。
- 注冊設(shè)備。注冊一個MQTT協(xié)議的設(shè)備,體驗數(shù)據(jù)上報業(yè)務(wù)。
- 連接鑒權(quán)。使用MQTT.fx激活在物聯(lián)網(wǎng)平臺上注冊的設(shè)備。
- 數(shù)據(jù)上報。使用MQTT.fx向物聯(lián)網(wǎng)平臺上報數(shù)據(jù)。
- 命令下發(fā)。在管理控制臺下發(fā)命令,遠程控制設(shè)備。
創(chuàng)建產(chǎn)品
- 登錄管理控制臺,單擊左側(cè)導(dǎo)航欄“產(chǎn)品”,單擊頁面右上角的“創(chuàng)建產(chǎn)品”。
- 根據(jù)頁面提示填寫參數(shù),然后單擊“確定”。
基本信息
所屬資源空間
平臺自動將新創(chuàng)建的產(chǎn)品歸屬在默認資源空間下。如需歸屬在其他資源空間下,下拉選擇所屬的資源空間。如無對應(yīng)的資源空間,請先創(chuàng)建資源空間。
產(chǎn)品名稱
自定義。支持字母、數(shù)字、下劃線(_)、連字符(-)的字符組合。
協(xié)議類型
選擇MQTT。
數(shù)據(jù)格式
選擇JSON。
廠商名稱
自定義。支持中英文字符、數(shù)字、下劃線(_)、連字符(-)的字符組合。
所屬行業(yè)
請根據(jù)產(chǎn)品模型的所屬行業(yè)填寫。
設(shè)備類型
使用平臺預(yù)置的產(chǎn)品模型,會自動關(guān)聯(lián)設(shè)備類型,不需要再輸入設(shè)備類型。
高級配置
產(chǎn)品ID
定制ProductID,用于唯一標識一個產(chǎn)品。如果攜帶此參數(shù),平臺將產(chǎn)品ID設(shè)置為該參數(shù)值;如果不攜帶此參數(shù),產(chǎn)品ID在物聯(lián)網(wǎng)平臺創(chuàng)建產(chǎn)品后由平臺分配獲得。
產(chǎn)品描述
產(chǎn)品描述。請根據(jù)實際情況填寫。
開發(fā)產(chǎn)品模型
- 找到創(chuàng)建產(chǎn)品章節(jié)新增的產(chǎn)品,單擊產(chǎn)品進入產(chǎn)品界面。
- 在產(chǎn)品詳情“模型定義”頁面,單擊“自定義模型”,配置產(chǎn)品的服務(wù)。
- 新增服務(wù)類型“BasicData”。
- 在“添加服務(wù)”頁面,填寫“服務(wù)ID”、“服務(wù)類型”和“服務(wù)描述”,單擊“確定”。
- “服務(wù)ID”:BasicData
- “服務(wù)類型”:建議和服務(wù)ID保持一致
- “服務(wù)描述”:上報路燈數(shù)據(jù)
- 在“BasicData”服務(wù)列表右側(cè)區(qū)域,單擊“添加屬性”,填寫相關(guān)信息后,單擊“確定”。
- “屬性名稱”:luminance
- “屬性描述”:光照強度
- “數(shù)據(jù)類型”:int(整型)
- “訪問權(quán)限”:可讀、可寫
- “取值范圍”:0~65535
- “步長”:0
- “單位”:不填寫
- 在“添加服務(wù)”頁面,填寫“服務(wù)ID”、“服務(wù)類型”和“服務(wù)描述”,單擊“確定”。
- 新增服務(wù)類型“LightControl”。
- 在“模型定義”下單擊“添加服務(wù)”,填寫“服務(wù)ID”、“服務(wù)類型”和“服務(wù)描述”,單擊“確定”。
- “服務(wù)ID”:LightControl
- “服務(wù)類型”:建議和服務(wù)ID保持一致
- “服務(wù)描述”:路燈開關(guān)控制
- 在“LightControl”的下拉菜單下單擊“添加命令”,輸入命令名稱“Switch”。
- 在“新增命令”頁面,單擊“新增輸入?yún)?shù)”,填寫相關(guān)信息后,單擊“確定”。
- 在“模型定義”下單擊“添加服務(wù)”,填寫“服務(wù)ID”、“服務(wù)類型”和“服務(wù)描述”,單擊“確定”。
圖1 新增參數(shù)

注冊設(shè)備
- 在管理控制臺頁面,選擇左側(cè)導(dǎo)航欄“設(shè)備 > 所有設(shè)備”,單擊頁面右上角的“注冊設(shè)備”。
- 根據(jù)頁面提示信息填寫參數(shù),然后單擊“確定”。
參數(shù)名稱
說明
所屬資源空間
確保和步驟1創(chuàng)建的產(chǎn)品歸屬在同一個資源空間。
所屬產(chǎn)品
選擇步驟2創(chuàng)建的產(chǎn)品。
設(shè)備標識碼
即nodeID,設(shè)備唯一物理標識。可自定義,由英文字母和數(shù)字組成。
設(shè)備名稱
即device_name,可自定義,如streetlight。
設(shè)備認證類型
選擇“密鑰”。
密鑰
此處不填寫,物聯(lián)網(wǎng)平臺會自動生成。

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

連接鑒權(quán)
使用MQTT.fx工具激活在物聯(lián)網(wǎng)平臺上注冊的設(shè)備。
- 下載MQTT.fx(默認是64位操作系統(tǒng),如果是32位操作系統(tǒng),單擊此處下載MQTT.fx),安裝MQTT.fx工具。
- 訪問這里,填寫注冊設(shè)備后生成的設(shè)備ID(DeviceId)和密鑰(DeviceSecret),生成連接信息(ClientId、Username、Password)。
使用生成工具生成的clientId格式,默認不校驗時間戳:設(shè)備ID_0_0_時間戳。
參數(shù)
必選/可選
類型
參數(shù)描述
ClientId
必選
String(256)
一機一密的設(shè)備clientId由4個部分組成:設(shè)備ID、設(shè)備身份標識類型、密碼簽名類型、時間戳,通過下劃線“_”分隔。
- 設(shè)備ID:指設(shè)備在平臺成功注冊后生成的唯一設(shè)備標識,通常由設(shè)備的產(chǎn)品ID和設(shè)備的NodeId通過分隔符“_”拼裝而來。
- 設(shè)備身份標識類型:固定值為0,表示設(shè)備ID。
- 密碼簽名類型:長度1字節(jié),當前支持2種類型:
- “0”代表HMACSHA256不校驗時間戳。
- “1”代表HMACSHA256校驗時間戳。
- 時間戳:為設(shè)備連接平臺時的UTC時間,格式為YYYYMMDDHH,如UTC 時間2018/7/24 17:56:20 則應(yīng)表示為2018072417。
Username
必選
String(256)
設(shè)備ID。
Password
必選
String(256)
加密后的設(shè)備密鑰。Password的值為使用“HMACSHA256”算法以時間戳為密鑰,對secret進行加密后的值。
secret為注冊設(shè)備時平臺返回的secret。
- 當采用“HMACSHA256”校驗時間戳方式時,會先校驗消息時間戳與平臺時間是否一致,再判斷密碼是否正確。
- 當采用“HMACSHA256”不校驗時間戳方式時,鑒權(quán)消息也必須帶時間戳,但不檢驗時間是否準確,僅判斷密碼是否正確。
- 設(shè)備通過MQTT協(xié)議的connect消息進行鑒權(quán),對于構(gòu)造clientId的各個部分信息都必須包括進去,平臺收到connect消息時,會判斷設(shè)備的鑒權(quán)類型和密碼摘要算法。
- 打開MQTT.fx軟件,單擊設(shè)置圖標。

- 參考下表配置鑒權(quán)參數(shù),然后單擊“Apply”。
參數(shù)名稱
說明
Broker Address
填寫從設(shè)備接入服務(wù)控制臺獲取的設(shè)備對接地址,此地址為域名信息。不能通過域名接入的設(shè)備,通過在cmd命令框中執(zhí)行“ping 域名”獲取IP地址,用IP地址接入平臺。由于IP地址不固定,您需要將IP地址做成可配置項。
Broker Port
默認為1883。
Cliend ID
設(shè)備cliendID,請參考2中獲取。
User Name
即設(shè)備ID,請參考2中獲取。
Password
加密后的設(shè)備密鑰,請參考2中獲取。
- 單擊“Connect”,設(shè)備鑒權(quán)成功后,在物聯(lián)網(wǎng)平臺可以看到設(shè)備處于在線狀態(tài).

上報數(shù)據(jù)
使用MQTT.fx工具向物聯(lián)網(wǎng)平臺上報數(shù)據(jù)。
設(shè)備若通過MQTT通道上報數(shù)據(jù),需要發(fā)給指定的topic,上報消息的topic格式為:$oc/devices/{device_id}/sys/properties/report,其中deviceId的值,對一機一密設(shè)備,使用deviceId接入時填寫為設(shè)備注冊成功后返回的deviceId值。
- 填寫接口地址,此處以$oc/devices/{device_id}/sys/properties/report為例,如$oc/devices/5e4e2e92ac-164aefa8fouquan1/sys/properties/report。

- 在工具中間的空白處填寫上報的數(shù)據(jù)。請求參數(shù)ServiceProperty定義表:請求示例{ "services": [{ "service_id": "BasicData", "properties": { "luminance": 30 } } ] }
字段名
必選/可選
類型
參數(shù)描述
service_id
必選
String
設(shè)備服務(wù)的ID。
properties
必選
Object
設(shè)備服務(wù)的屬性列表,具體字段在設(shè)備關(guān)聯(lián)的產(chǎn)品模型中定義。
eventTime
可選
String
設(shè)備采集數(shù)據(jù)UTC時間(格式:yyyyMMddTHHmmssZ),如:20161219T114920Z。
設(shè)備上報數(shù)據(jù)不帶該參數(shù)或參數(shù)格式錯誤時,則數(shù)據(jù)上報時間以平臺時間為準。
字段名
必選/可選
類型
參數(shù)描述
services
必選
List
設(shè)備服務(wù)數(shù)據(jù)列表(具體結(jié)構(gòu)參考下表ServiceProperty定義表)
- 單擊“Publish”,可以在物聯(lián)網(wǎng)平臺上查看設(shè)備是否成功上報數(shù)據(jù)。

命令下發(fā)
在管理控制臺下發(fā)命令,遠程控制設(shè)備。
- 選擇“設(shè)備 > 所有設(shè)備”,找到注冊設(shè)備章節(jié)新建的設(shè)備,單擊“查看”進入設(shè)備詳情頁面。
- 單擊“命令”頁簽,下發(fā)同步命令。
說明:MQTT協(xié)議設(shè)備僅支持同步命令下發(fā),NB-IoT設(shè)備僅支持異步命令下發(fā)。 - 您可以在MQTT.fx模擬器端查看到下發(fā)的命令。
說明:
- 由于MQTT.fx模擬器不支持查看下發(fā)的命令參數(shù)。具體下發(fā)內(nèi)容,請參考平臺命令下發(fā)。
- 界面提示命令下發(fā)失敗,是因為下發(fā)的同步命令需要設(shè)備側(cè)及時回響應(yīng),響應(yīng)內(nèi)容請參考平臺命令下發(fā)。
進階體驗
按照本頁面的指導(dǎo),使用MQTT.fx模擬MQTT設(shè)備接入物聯(lián)網(wǎng)平臺后,您應(yīng)該已經(jīng)基本了解MQTT設(shè)備調(diào)用物聯(lián)網(wǎng)平臺開放的接口與平臺交互。
若您想要進一步體驗設(shè)備接入服務(wù),可參考開發(fā)指南開發(fā)真實應(yīng)用和真實設(shè)備,并接入物聯(lián)網(wǎng)平臺,體驗更多功能。
- 物聯(lián)網(wǎng)平臺_邊緣設(shè)備接入_設(shè)備接入服務(wù)是什么意思
- IoT物聯(lián)網(wǎng)平臺開發(fā)需要具備什么技能_物聯(lián)網(wǎng)全棧云服務(wù)_物聯(lián)網(wǎng)安全如何保障
- 設(shè)備接入服務(wù)怎么用_華為云IoT設(shè)備接入_設(shè)備接入管理平臺
- 什么是華為云IoT_華為云物聯(lián)網(wǎng)云平臺的優(yōu)勢_物聯(lián)網(wǎng)平臺中心
- 物聯(lián)網(wǎng)是指什么_物聯(lián)網(wǎng)應(yīng)用平臺有哪些_物聯(lián)網(wǎng)卡購買平臺
最新文章
- 物聯(lián)網(wǎng)設(shè)備接入平臺_設(shè)備接入方案_終端設(shè)備接入
- 華為iot設(shè)備接入_物聯(lián)網(wǎng)設(shè)備接入云平臺_設(shè)備接入IOTDA
- 物聯(lián)網(wǎng)設(shè)備接入平臺_mqtt設(shè)備接入_Iot設(shè)備接入驗證
- 華為云IoT設(shè)備接入使用教程
- 設(shè)備接入云平臺_設(shè)備接入mqtt_設(shè)備接入物聯(lián)網(wǎng)平臺
- 農(nóng)業(yè)物聯(lián)網(wǎng)_物聯(lián)網(wǎng)的特點_農(nóng)業(yè)物聯(lián)網(wǎng)云平臺