IoT Hub 注冊(cè)
注冊(cè) IoT Hub 之前拍鲤,必須先注冊(cè)華為云,并完成實(shí)名認(rèn)證汞扎。認(rèn)證完畢以后季稳,訪(fǎng)問(wèn) IoT平臺(tái)基礎(chǔ)版(IoT Hub),由頁(yè)面引導(dǎo)注冊(cè)澈魄。
注冊(cè)完畢后景鼠,進(jìn)入 IoT Hub 產(chǎn)品首頁(yè),點(diǎn)擊“立即使用”痹扇,此時(shí)會(huì)提示平臺(tái)的各種接入信息铛漓,需要記錄下來(lái):
點(diǎn)擊“進(jìn)入管理門(mén)戶(hù)”即可以進(jìn)入 IoT Hub 管理控制臺(tái)。以后我們可以使用系統(tǒng)分配給我們的用戶(hù)名和密碼直接從 IoT Hub 管理控制臺(tái) 入口登陸鲫构。
平臺(tái)使用
平臺(tái)使用的流程很簡(jiǎn)單浓恶,就如下圖所示,先創(chuàng)建應(yīng)用芬迄,然后創(chuàng)建產(chǎn)品模型问顷,最后分兩條線(xiàn),一條線(xiàn)完成設(shè)備相關(guān)的開(kāi)發(fā)和調(diào)試禀梳,另一條線(xiàn)完成應(yīng)用的開(kāi)發(fā)和調(diào)試杜窄。
創(chuàng)建應(yīng)用和創(chuàng)建產(chǎn)品的操作,均是手動(dòng)在 IoT Hub 管理控制臺(tái)中完成算途。IoT Hub 只支持創(chuàng)建一個(gè)應(yīng)用塞耕,可以參考 開(kāi)發(fā)文檔 操作,也可以隨便創(chuàng)建:
產(chǎn)品模型也是嘴瓤,也可以參考 開(kāi)發(fā)文檔 來(lái)操作扫外,也可以隨便創(chuàng)建:
應(yīng)用接入
使用應(yīng)用模擬器模擬登陸,完成應(yīng)用接入廓脆。應(yīng)用模擬器是一個(gè) Java 程序筛谚,基于 JDK1.8,因此事先需要安裝 JDK1.8停忿。JDK1.8 可以從 這里 下載驾讲,安裝完 JDK 后,可以參考 這篇文章 配置 Java 環(huán)境變量。
JDK 環(huán)境安裝配置完成后吮铭,可以從 這里 下載應(yīng)用模擬器时迫。模擬器運(yùn)行后的界面如下。如果看不到輸入框谓晌,把程序最大化即可掠拳。
屬性 | 值 | 備注 |
---|---|---|
Platform IP | 49.4.80.153 | 上面記錄的 |
Port | 8743 | 上面記錄的 |
App ID | PWbVXAzllQTML9bZrOxIVfcNea8a | 管理控制臺(tái)進(jìn)入應(yīng)用列表,為“應(yīng)用ID”字段的值 |
App Secret | gHojF3lQREBImNm2MMDSYypfY8Ia | 系統(tǒng)自動(dòng)生成的秘鑰纸肉,如忘記可重置 |
注:登陸過(guò)程調(diào)用了 OceanConnect 的 北向鑒權(quán) API溺欧,該 API 的輸入?yún)?shù)包括
appId
和secret
。
登陸成功以后進(jìn)入模擬器主界面毁靶。
注冊(cè)設(shè)備
注冊(cè)設(shè)備有兩種方式胧奔,一種是直接在管理控制臺(tái)里面操作,另外一種是調(diào)用北向 API预吆。這里肯定是嘗試調(diào)用 API:
屬性 | 值 | 備注 |
---|---|---|
Product ID | 5d811393-d72d-49bf-83e9-fc10702c344a | 從管理控制臺(tái)進(jìn)入產(chǎn)品模型,查看產(chǎn)品模型的“產(chǎn)品ID”字段 |
Node ID | 9090 | 需要構(gòu)造一個(gè)全網(wǎng)唯一的號(hào)胳泉,作為設(shè)備的唯一標(biāo)識(shí) |
pre Secre | 8989 | 隨便填拐叉,跟隨設(shè)備的預(yù)置密鑰,作為DTLS安全鑒權(quán)碼 |
注:設(shè)備注冊(cè)過(guò)程調(diào)用了 OceanConnect 的 注冊(cè)直連設(shè)備 API扇商,該 API 的必選參數(shù)為
nodeId
凤瘦。
該設(shè)備注冊(cè)成功后,將在“設(shè)備->所有設(shè)備”列表中顯示出來(lái)案铺。注意此時(shí)的這個(gè)設(shè)備蔬芥,是我們虛擬的,目前還并不存在其實(shí)體控汉。
設(shè)備接入
根據(jù)設(shè)備接入物聯(lián)網(wǎng)平臺(tái)的協(xié)議類(lèi)型笔诵,劃分為兩種場(chǎng)景:
使用CoAP或LWM2M協(xié)議接入:在此場(chǎng)景下,設(shè)備可以通過(guò)集成NB-IoT模組實(shí)現(xiàn)與物聯(lián)網(wǎng)平臺(tái)的對(duì)接姑子。在快速入門(mén)中乎婿,以CoAP設(shè)備模擬器(點(diǎn)擊獲取)為例進(jìn)行說(shuō)明。
使用MQTT/MQTTS協(xié)議接入:在此場(chǎng)景下街佑,設(shè)備可以通過(guò)集成Agent Lite SDK實(shí)現(xiàn)與物聯(lián)網(wǎng)平臺(tái)的對(duì)接谢翎。在快速入門(mén)中,以MQTT設(shè)備模擬器(點(diǎn)擊獲取)為例進(jìn)行說(shuō)明沐旨。
因?yàn)樯厦鎰?chuàng)建的產(chǎn)品模型使用的是 CoAP 協(xié)議森逮,因此下載 CoAP 模擬器。打開(kāi)CoAP協(xié)議模擬器磁携,根據(jù)提示褒侧,選擇是否開(kāi)啟DTLS加密傳輸。
如果選擇“是”,則需要在模擬設(shè)備接入時(shí)璃搜,填寫(xiě)“IP地址”拖吼、“設(shè)備標(biāo)識(shí)碼”、“設(shè)備密鑰”这吻〉醯担“IP地址”在IoT平臺(tái)管理控制臺(tái)查看(類(lèi)型:設(shè)備對(duì)接信息,協(xié)議:coaps)唾糯,“設(shè)備標(biāo)識(shí)碼”和“設(shè)備密鑰”在注冊(cè)設(shè)備時(shí)設(shè)置怠硼。
如果選擇“否”,則需要在模擬設(shè)備接入時(shí)移怯,填寫(xiě)“IP地址”香璃、“設(shè)備標(biāo)識(shí)碼”≈畚螅“IP地址”在IoT平臺(tái)管理控制臺(tái)查看(類(lèi)型:設(shè)備對(duì)接信息葡秒,協(xié)議:coap),“設(shè)備標(biāo)識(shí)碼”在注冊(cè)設(shè)備時(shí)設(shè)置嵌溢。(注:按鈕上寫(xiě)的是“注冊(cè)設(shè)備”眯牧,實(shí)則這個(gè)設(shè)備之前已經(jīng)注冊(cè)過(guò)了。現(xiàn)在的操作實(shí)際上是設(shè)備接入 OceanConnect)
登錄管理門(mén)戶(hù)赖草,選擇“設(shè)備->所有設(shè)備”学少,查看設(shè)備狀態(tài)是否已經(jīng)轉(zhuǎn)換為“在線(xiàn)”。
注:MQTT 設(shè)備接入秧骑,可以參考 在線(xiàn)文檔版确。
數(shù)據(jù)上報(bào)
設(shè)備接入物聯(lián)網(wǎng)平臺(tái)后,可以向物聯(lián)網(wǎng)平臺(tái)上報(bào)數(shù)據(jù)乎折。通過(guò)物聯(lián)網(wǎng)平臺(tái)的設(shè)備影子功能绒疗,可以查看設(shè)備最近一次上報(bào)的數(shù)據(jù)。
打開(kāi) CoAP 協(xié)議模擬器笆檀,在“數(shù)據(jù)”區(qū)域填寫(xiě)上報(bào)的數(shù)據(jù)忌堂,點(diǎn)擊“發(fā)送數(shù)據(jù)”:
登錄管理門(mén)戶(hù),選擇“設(shè)備->所有設(shè)備”酗洒,在“設(shè)備影子”中查看CoAP設(shè)備模擬器上報(bào)的數(shù)據(jù)士修。
注1:因?yàn)?OceanConnect 并不知道上報(bào)數(shù)據(jù)的格式,因此顯示出來(lái)就是一個(gè) RawData 類(lèi)型樱衷,其值也不是我們上傳的數(shù)字棋嘲。
注2:MQTT 設(shè)備上報(bào)數(shù)據(jù),可以參考 在線(xiàn)文檔
作者:tang
鏈接:http://www.reibang.com/writer#/notebooks/35970464/notes/44977666/preview
來(lái)源:簡(jiǎn)書(shū)
簡(jiǎn)書(shū)著作權(quán)歸作者所有矩桂,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處沸移。