萬物互聯(lián)的全場(chǎng)景、全智能時(shí)代,使得人均持有設(shè)備量不斷攀升,設(shè)備和場(chǎng)景的多樣性,使應(yīng)用開發(fā)變得更加復(fù)雜、應(yīng)用入口更加豐富。當(dāng)下依托OpenHarmony框架,搭建萬物智聯(lián)底座,重構(gòu)物聯(lián)網(wǎng)格局,是當(dāng)下熱門的物聯(lián)網(wǎng)開發(fā)方式之一。那OpenHarmony3.0如何連接華為云IoT設(shè)備接入平臺(tái)呢?注意事項(xiàng)又有哪些呢?
本文主要介紹基于OpenHarmony 3.0版本來對(duì)接華為云IoT 設(shè)備接入IoTDA ,以小熊派BearPi-HM_Nano開發(fā)板為例,使用huaweicloud_iot_link SDK對(duì)接華為云 物聯(lián)網(wǎng)平臺(tái) 的簡(jiǎn)單流程。
前提條件
- 已注冊(cè)華為云官方帳號(hào)。未注冊(cè)可單擊注冊(cè)頁(yè)面完成注冊(cè)。
- 已完成實(shí)名制認(rèn)證。未完成可在華為云上單擊實(shí)名認(rèn)證完成認(rèn)證,否則無法使用設(shè)備接入功能。
- 已開通 設(shè)備接入服務(wù) 。未開通則訪問設(shè)備接入服務(wù),單擊“管理控制臺(tái)”后開通該服務(wù)。
硬件環(huán)境準(zhǔn)備
BearPi-HM_Nano開發(fā)板、Type-C數(shù)據(jù)線、PC。
軟件環(huán)境準(zhǔn)備
參考鏈接單擊這里。
圖1 軟件環(huán)境創(chuàng)建步驟

說明:
(1)如使用DevEco Device Tool參與調(diào)試的需要安裝Windows環(huán)境。
(2)獲取源碼:如果不使用Docker方式(使用Docker方式),強(qiáng)烈建議采用獲取方式一。
(3)在安裝開發(fā)板中的環(huán)境的安裝gcc_riscv32步驟時(shí),強(qiáng)烈建議直接下載gcc_riscv32 鏡像 ,否則可能出現(xiàn)某些插件下載或安裝失敗,具體操作如下圖2所示。
須知:
開源代碼量較大,下載時(shí)間可能較長(zhǎng),需預(yù)留好充足時(shí)間。
圖2 直接下載gcc_riscv32鏡像

一、創(chuàng)建產(chǎn)品
- 登錄管理控制臺(tái),單擊左側(cè)導(dǎo)航欄“產(chǎn)品”,單擊頁(yè)面右上角的“創(chuàng)建產(chǎn)品”。
- 根據(jù)頁(yè)面提示填寫參數(shù),然后單擊“確認(rèn)”,完成產(chǎn)品的創(chuàng)建。
|
基本信息 |
|
|
所屬資源空間 |
平臺(tái)自動(dòng)將新創(chuàng)建的產(chǎn)品歸屬在默認(rèn)資源空間下。如需歸屬在其他資源空間下,下拉選擇所屬的資源空間。如無對(duì)應(yīng)的資源空間,請(qǐng)先創(chuàng)建資源空間。 |
|
產(chǎn)品名稱 |
自定義。支持字母、數(shù)字、下劃線(_)、連字符(-)的字符組合。 |
|
協(xié)議類型 |
選擇MQTT。 |
|
數(shù)據(jù)格式 |
選擇JSON。 |
|
廠商名稱 |
自定義。支持中英文字符、數(shù)字、下劃線(_)、連字符(-)的字符組合。 |
|
所屬行業(yè) |
請(qǐng)根據(jù)實(shí)際情況填寫。若使用平臺(tái)預(yù)置的產(chǎn)品模型,請(qǐng)根據(jù)產(chǎn)品模型所屬的行業(yè)填寫。沒有填無。 |
|
設(shè)備類型 |
請(qǐng)根據(jù)實(shí)際情況填寫。若使用平臺(tái)預(yù)置的產(chǎn)品模型,會(huì)自動(dòng)關(guān)聯(lián)設(shè)備類型,不需要再輸入設(shè)備類型。 |
|
高級(jí)配置 |
|
|
產(chǎn)品ID |
定制ProductID,用于唯一標(biāo)識(shí)一個(gè)產(chǎn)品。如果攜帶此參數(shù),平臺(tái)將產(chǎn)品ID設(shè)置為該參數(shù)值;如果不攜帶此參數(shù),產(chǎn)品ID在物聯(lián)網(wǎng)平臺(tái)創(chuàng)建產(chǎn)品后由平臺(tái)分配獲得。 |
|
產(chǎn)品描述 |
產(chǎn)品描述。請(qǐng)根據(jù)實(shí)際情況填寫。 |
3.圖3 創(chuàng)建產(chǎn)品
二、開發(fā)產(chǎn)品模型
- 找到新增的產(chǎn)品,單擊“產(chǎn)品”進(jìn)入產(chǎn)品界面。
- 在產(chǎn)品詳情“模型定義”頁(yè)面,直接上傳模型文件zip。
說明:
在產(chǎn)品列表中,單擊對(duì)應(yīng)的產(chǎn)品,進(jìn)入產(chǎn)品詳情頁(yè)。您可以查看產(chǎn)品ID、產(chǎn)品名稱、設(shè)備類型、數(shù)據(jù)格式、廠商名稱、所屬資源空間、協(xié)議類型等產(chǎn)品基本信息。其中產(chǎn)品ID(product Id)是物聯(lián)網(wǎng)平臺(tái)自動(dòng)生成的,其余信息均是由用戶創(chuàng)建產(chǎn)品時(shí)自定義。
產(chǎn)品創(chuàng)建成功后,您可以單擊“刪除”刪除不再使用的產(chǎn)品。刪除產(chǎn)品后,該產(chǎn)品下的產(chǎn)品模型、編解碼插件等資源將被清空,請(qǐng)謹(jǐn)慎操作。
三、注冊(cè)設(shè)備
- 訪問設(shè)備接入服務(wù),單擊“管理控制臺(tái)”進(jìn)入設(shè)備接入控制臺(tái)。
- 在左側(cè)導(dǎo)航欄選擇“ 設(shè)備> 所有設(shè)備”,單擊右上角“注冊(cè)設(shè)備”,按照如下表格填寫參數(shù)后,單擊“確定”。
圖4 注冊(cè)單個(gè)設(shè)備

|
參數(shù)名稱 |
說明 |
|
所屬資源空間 |
選擇設(shè)備所屬的資源空間。 |
|
所屬產(chǎn)品 |
選擇設(shè)備所屬的產(chǎn)品。如沒有,請(qǐng)先創(chuàng)建產(chǎn)品。 |
|
設(shè)備標(biāo)識(shí)碼 |
即node_id,填寫為設(shè)備的IMEI、MAC地址或Serial No;若沒有真實(shí)設(shè)備,填寫自定義字符串,由英文字母和數(shù)字組成。 |
|
設(shè)備名稱 |
即device_name,可自定義。 |
|
設(shè)備認(rèn)證類型 |
選擇“密鑰”。 |
|
密鑰 |
設(shè)備密鑰,可自定義,不填寫物聯(lián)網(wǎng)平臺(tái)會(huì)自動(dòng)生成。 |
圖5 獲取設(shè)備密鑰

說明:
設(shè)備注冊(cè)成功后,請(qǐng)妥善保管好設(shè)備ID和密鑰,用于設(shè)備接入平臺(tái)認(rèn)證。
若密鑰丟失,只能通過重置密鑰生成新的密鑰,無法找回注冊(cè)設(shè)備時(shí)生成的密鑰。
用戶可在設(shè)備列表刪除不再使用的設(shè)備。刪除設(shè)備不支持撤回,請(qǐng)謹(jǐn)慎操作。
四、Huaweicloud_iotlink SDK使用
- 下載源碼:0_hwcloud_iotlink-master.zip。
- 將上述源碼直接拷貝到OpenHarmony源碼的third-party文件目錄下,此處需要注意的是OpenHarmony和Huaweicloud_iotlink SDK共同具備的三方庫(kù)直接使用OpenHarmony的庫(kù)文件,如CJSON和mbedtls。
- 在OpenHarmony 3.0源碼device\bearpi\bearpi_hm_nano\app\BUILD.gn中添加如下代碼,根據(jù)#是否注釋來決定具體編譯demo的選擇。
# "http://third_party/hwcloud_iotlink/demos/test_iotlink:test_iotlink", "http://third_party/hwcloud_iotlink/demos/mqtt_tiny_v5_agriculture_demo:mqtt_tiny_v5_agriculture_demo",
圖6 demo的選擇

步驟說明:
- 圖6中1為單元測(cè)試代碼,可以根據(jù)修改c文件中最后一行代碼中,APP_FEATURE_INIT()中的入口函數(shù),來進(jìn)行不同的測(cè)試用例的執(zhí)行,分別測(cè)試OSAL層不同的組件適配,包括任務(wù)、互斥鎖、信號(hào)量、隊(duì)列、以及SDK本身隊(duì)列等一系列驗(yàn)證,部分內(nèi)容可以對(duì)比BearPi-HM_Nano開發(fā)板的官方樣例代碼進(jìn)行對(duì)比驗(yàn)證程序結(jié)果的正確性,具體如圖7。
- 圖6中2為使用MQTT對(duì)接華為云的demo,看一下該demo的gn文件,具體如圖8所示,其中A區(qū)域包含開發(fā)板硬件和wifi相關(guān)的庫(kù)文件,B區(qū)域包括MQTT對(duì)接華為云必須的一些庫(kù)文件,如cJson,mqtt相關(guān)、osal相關(guān)以及配置庫(kù)文件,C區(qū)域表示編譯該文件時(shí)需要編譯hwcloud_iotlink庫(kù),編譯是會(huì)按照指定路徑找到該文件所必要的庫(kù)以及C文件進(jìn)行編譯。
圖7 單元測(cè)試

圖8 代碼編譯文件

圖9 demo的主函數(shù)文件

步驟說明:
圖9中A區(qū)域表示MQTT對(duì)接華為云所必須的一些庫(kù)文件以及dtls的庫(kù)文件,入口函數(shù)IoTMainTaskEntry()中務(wù)必先調(diào)用link_main_task_entry()函數(shù),來確保osal的安裝以及其他配置的初始化。
- 設(shè)置參數(shù)。
圖10 參數(shù)修改

注意:
如果需要對(duì)接上云需要根據(jù)自己的設(shè)備修改配網(wǎng)信息,wifi熱點(diǎn)賬號(hào)以及密碼以及自己在云端注冊(cè)的設(shè)備ID和設(shè)備秘鑰,設(shè)備僅支持2.4G頻段的wifi。
五、設(shè)備接入平臺(tái)
代碼燒錄到設(shè)備后重啟設(shè)備(首次使用需重啟兩次,第一次燒錄時(shí)可能需要配置一下內(nèi)部信息),第二次設(shè)備重啟之后可以正常對(duì)接華為云。
登錄平臺(tái)可以看見數(shù)據(jù)上報(bào)的具體信息,也可以進(jìn)行命令下發(fā)等操作控制設(shè)備,具體如下圖11-13。
圖11 數(shù)據(jù)上報(bào)

圖12 命令下發(fā)

圖13 日志信息

總結(jié):
傳統(tǒng)的終端操作系統(tǒng)主要是面向單端,基于 OpenHarmony 開源項(xiàng)目開發(fā)的系統(tǒng)似乎天生是面向萬物互聯(lián)的,可以運(yùn)行在大大小小的各種智能終端上。熟悉使用OpenHarmony和華為云IoT平臺(tái)結(jié)合是物聯(lián)網(wǎng)開發(fā)者的必經(jīng)之路。
最新文章
- 設(shè)備接入平臺(tái)_IOT設(shè)備接入平臺(tái)
- 物聯(lián)網(wǎng)是指什么_物聯(lián)網(wǎng)應(yīng)用平臺(tái)有哪些_物聯(lián)網(wǎng)卡購(gòu)買平臺(tái)
- 什么是設(shè)備接入管理服務(wù)_華為云設(shè)備接入平臺(tái)_設(shè)備管理與發(fā)放
- 華為iot設(shè)備接入_物聯(lián)網(wǎng)設(shè)備接入云平臺(tái)_設(shè)備接入IOTDA
- 設(shè)備接入服務(wù)怎么用_華為云IoT設(shè)備接入_設(shè)備接入管理平臺(tái)
- 設(shè)備接入平臺(tái)_設(shè)備接入什么意思_iot設(shè)備接入