OpenHarmony3.0如何輕鬆連接華為雲IoT設備接入平臺?

来源:https://www.cnblogs.com/huaweiyun/archive/2022/09/06/16662047.html
-Advertisement-
Play Games

摘要:本文主要介紹基於OpenHarmony 3.0版本來對接華為雲IoT設備接入IoTDA,以小熊派BearPi-HM_Nano開發板為例,使用huaweicloud_iot_link SDK對接華為雲物聯網平臺的簡單流程。 本文分享自華為雲社區《OpenHarmony3.0如何輕鬆連接華為雲Io ...


摘要:本文主要介紹基於OpenHarmony 3.0版本來對接華為雲IoT設備接入IoTDA,以小熊派BearPi-HM_Nano開發板為例,使用huaweicloud_iot_link SDK對接華為雲物聯網平臺的簡單流程。

本文分享自華為雲社區《OpenHarmony3.0如何輕鬆連接華為雲IoT設備接入平臺》,作者:華為IoT雲服務 。

萬物互聯的全場景、全智能時代,使得人均持有設備量不斷攀升,設備和場景的多樣性,使應用開發變得更加複雜、應用入口更加豐富。當下依托OpenHarmony框架,搭建萬物智聯底座,重構物聯網格局,是當下熱門的物聯網開發方式之一,那OpenHarmony3.0如何連接an class="nolink">華為雲IoT設備接入平臺呢?註意事項又有哪些呢?

本文主要介紹基於OpenHarmony 3.0版本來對接華為雲IoT設備接入IoTDA,以小熊派BearPi-HM_Nano開發板為例,使用huaweicloud_iot_link SDK對接華為雲物聯網平臺的簡單流程。

前提條件

  • 已註冊華為雲官方帳號。未註冊可單擊註冊頁面完成註冊。
  • 已完成實名制認證。未完成可在華為雲上單擊實名認證完成認證,否則無法使用設備接入功能。
  • 已開通設備接入服務。未開通則訪問設備接入服務,單擊“管理控制台”後開通該服務。

硬體環境準備

BearPi-HM_Nano開發板、Type-C數據線、PC。

軟體環境準備

參考鏈接單擊這裡

圖1 軟體環境創建步驟

說明:

(1)如使用DevEco Device Tool參與調試的需要安裝Windows環境。

(2)獲取源碼:如果不使用Docker方式,強烈建議採用獲取方式一。

(3)在安裝開發板中的環境的安裝gcc_riscv32步驟時,強烈建議直接下載gcc_riscv32鏡像,否則可能出現某些插件下載或安裝失敗,具體操作如下圖2所示。

須知:

開源代碼量較大,下載時間可能較長,需預留好充足時間。

圖2 直接下載gcc_riscv32鏡像

一、創建產品

1.登錄管理控制台,單擊左側導航欄“產品”,單擊頁面右上角的“創建產品”。

2.根據頁面提示填寫參數,然後單擊“確認”,完成產品的創建。

圖3 創建產品

二、開發產品模型

  1. 找到新增的產品,單擊“產品”進入產品界面。
  2. 在產品詳情“模型定義”頁面,直接上傳模型文件BearPi_Agriculture.zip。

說明:

在產品列表中,單擊對應的產品,進入產品詳情頁。您可以查看產品ID、產品名稱、設備類型、數據格式、廠商名稱、所屬資源空間、協議類型等產品基本信息。其中產品ID(product Id)是物聯網平臺自動生成的,其餘信息均是由用戶創建產品時自定義。

產品創建成功後,您可以單擊“刪除”刪除不再使用的產品。刪除產品後,該產品下的產品模型、編解碼插件等資源將被清空,請謹慎操作。

三、註冊設備

  1. 訪問設備接入服務,單擊“管理控制台”進入設備接入控制台。
  2. 在左側導航欄選擇“ 設備 > 所有設備”,單擊右上角“註冊設備”,按照如下表格填寫參數後,單擊“確定”。

圖4 註冊單個設備

圖5 獲取設備密鑰

說明:

設備註冊成功後,請妥善保管好設備ID和密鑰,用於設備接入平臺認證。

若密鑰丟失,只能通過重置密鑰生成新的密鑰,無法找回註冊設備時生成的密鑰。

用戶可在設備列表刪除不再使用的設備。刪除設備不支持撤回,請謹慎操作。

四、Huaweicloud_iotlink SDK使用

  1. 下載源碼:oh3.0_hwcloud_iotlink-master.zip。
  2. 將上述源碼直接拷貝到OpenHarmony源碼的third-party文件目錄下,此處需要註意的是OpenHarmony和Huaweicloud_iotlink SDK共同具備的三方庫直接使用OpenHarmony的庫文件,如CJSON和mbedtls。
  3. 在OpenHarmony 3.0源碼device\bearpi\bearpi_hm_nano\app\BUILD.gn中添加如下代碼,根據#是否註釋來決定具體編譯demo的選擇。
 # "//third_party/hwcloud_iotlink/demos/test_iotlink:test_iotlink",  "//third_party/hwcloud_iotlink/demos/mqtt_tiny_v5_agriculture_demo:mqtt_tiny_v5_agriculture_demo",

圖6 demo的選擇

步驟說明:

  • 圖6中1為單元測試代碼,可以根據修改test_main.c文件中最後一行代碼中,APP_FEATURE_INIT()中的入口函數,來進行不同的測試用例的執行,分別測試OSAL層不同的組件適配,包括任務、互斥鎖、信號量、隊列、以及SDK本身隊列等一系列驗證,部分內容可以對比BearPi-HM_Nano開發板的官方樣例代碼進行對比驗證程式結果的正確性,具體如圖7。
  • 圖6中2為使用MQTT對接華為雲的demo,看一下該demo的BUILD.gn文件,具體如圖8所示,其中A區域包含開發板硬體和wifi相關的庫文件,B區域包括MQTT對接華為雲必須的一些庫文件,如cJson,mqtt相關、osal相關以及配置庫文件,C區域表示編譯該文件時需要編譯hwcloud_iotlink庫,編譯是會按照指定路徑找到該文件所必要的庫以及C文件進行編譯。

圖7 單元測試

圖8 代碼編譯文件

圖9 demo的主函數文件

步驟說明:

圖9中A區域表示MQTT對接華為雲所必須的一些庫文件以及dtls的庫文件,入口函數IoTMainTaskEntry()中務必先調用link_main_task_entry()函數,來確保osal的安裝以及其他配置的初始化。

  1. 設置參數。

圖10 參數修改

註意:

如果需要對接上雲需要根據自己的設備修改配網信息,wifi熱點賬號以及密碼以及自己在雲端註冊的設備ID和設備秘鑰,設備僅支持2.4G頻段的wifi。

五、設備接入平臺

代碼燒錄到設備後重啟設備(首次使用需重啟兩次,第一次燒錄時可能需要配置一下內部信息),第二次設備重啟之後可以正常對接華為雲。

登錄平臺可以看見數據上報的具體信息,也可以進行命令下發等操作控制設備,具體如下圖11-13。

圖11 數據上報

圖12 命令下發

圖13 日誌信息

總結:

傳統的終端操作系統主要是面向單端,基於 OpenHarmony 開源項目開發的系統似乎天生是面向萬物互聯的,可以運行在大大小小的各種智能終端上。熟悉使用OpenHarmony和華為雲IoT平臺結合是物聯網開發者的必經之路。

 

點擊關註,第一時間瞭解華為雲新鮮技術~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • MVCC全稱是Multi-Version Concurrency Control(多版本併發控制),是一種併發控制的方法,通過維護一個數據的多個版本,減少讀寫操作的衝突。 如果沒有MVCC,想要實現同一條數據的併發讀寫,還要保證數據的安全性,就需要操作數據的時候加讀鎖和寫鎖,這樣就降低了資料庫的併發... ...
  • 數據的分類: 結構化數據:有固定的格式,例如一個表格裡面的信息 非結構化數據:無固定格式,例如圖片、網頁、語音、視頻 半結構化數據:html、xml格式的數據 資料庫:存放數據的一個集合,可以是文件的方式,也可以是其他的方式。 資料庫的發展: 萌芽階段:文件系統 使用磁碟文件來存儲數據,比如一個文檔 ...
  • 1.創建備份目錄: mkdir -p /dcits/sx_xmz/sx_data_bak chown -R oracle18c:oinstall /dcits/sx_xmz/sx_data_bak 2.腳本文件編寫 vi databak.sh 輸入如下內容 #設置環節變數 export ORACLE ...
  • aliases: [Oracle表空間] tags: [資料庫,Oracle,Blog] summary: [Oracle表空間常用操作,包括查詢、分析、擴容、刪除、優化等] date: [2022-09-06] links: 一、表空間查詢 相關表和視圖: dba_data_files dba_t ...
  • 摘要:GaussDB(for Redis)的雙活解決方案,支持同域主備、同域雙主、異地主備、異地雙主四大應用場景,提供了安全可靠的容災能力。 一場火災引發的思考 2021年3月10日,歐洲某雲服務提供商的數據中心發生火災,當地消防部門出動上百名消防員才將大火撲滅,受影響的伺服器共托管了約360萬個網 ...
  • 摘要: “一分鐘,我要這個人的全部信息”,霸道總裁拍了拍你,並提出這個要求。 本文分享自華為雲社區《大規模數據如何實現數據的高效追溯》,作者: DevAI。 “一分鐘,我要這個人的全部信息”,霸道總裁拍了拍你,並提出這個要求。秘書開始發力,找到了:姓名、年齡、聯繫方式、愛好,這些信息。不太夠?那就再 ...
  • 9月3日,2022世界人工智慧大會(WAIC)在上海圓滿落幕。WAIC2022 秉持“智聯世界”理念,通過線上線下聯動的會展形式,匯聚頂級科學家、企業家、政府官員、專家學者、國際組織、投資人、創新團隊一同探討科技前沿話題,推動全球“共創、共建、共融、共治、共用、共贏”。 WAIC 是經國務院批准,由 ...
  • StoneDB_5.7_v1.0.0 的發行日誌 支持MySQL 5.7 功能添加或改變 編譯相關改動 配置相關改動 文檔變更 BUG修複 歡迎大家關註我們的Github:https://github.com/stoneatom/stonedb 也可以前往我們的官網下載最新的編譯包:https:// ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...