OpenHarmony輕量和小型系統開發例程2023

一、前言
大家好,我是Hello Kun,一名OH愛好者。2021年因為一門物聯網課程開始接觸OpenHarmony,往后參加了各種公開課,不斷地嘗試深入了解OH。那年9月開始,本人陸續在社區分享一些個人創作,如門鎖、智能家居、Mrobot小機器人、OHCar、健康管理平臺等。發現各平臺也有一些小伙伴留言反饋:OH開發資源有些多,有些無從下手,想要一個完整詳細的教程。仔細想想,我也是經歷了一開始茫然的接觸OpenHarmony1.0,途中又拋棄OH1.0,逐漸過渡到OpenHarmony2.0的痛苦過程。截止目前,OpenHarmony更新到3.x版本,輕量和小型系統的常用接口也有所變化,這讓小白學起來是有些茫然了。由此我計劃對輕量和小型系統做一個系列分享,即OpenHarmony輕量和小型系統開發例程2023。關于教程,有幾點說明:
- 受眾對象? 小白,對OH開發感興趣但不知道如何入手的伙計。
- 為什么是開發例程?因為我想結合實際案例介紹常用的接口。
- 分享形式? 帖子+視頻教程,更新完放出全部pdf、代碼等資源(需要逐漸完善)。
- 能學到什么?輕量化小型設備開發流程,常用接口,常用模塊。
- 需要準備什么? 一臺電腦、一塊Hi3861板子【小熊派、HiSpark Pegasus都可】、足夠的耐心,具體例程實戰會有物料清單。
- 難嗎? 純Windows下開發,省去切換系統的各種麻煩問題。配合實例,盡量不枯燥。
- 你這例程保熟嗎? 有錯難免,歡迎指出。我也算是半路出家,借此機會鞏固一下知識。每一節盡量做得比較詳實,例程的目錄大致如下:
【第一篇 Windows開發環境搭建】
(視頻鏈接,視頻將在社區和B站發布)
1、搭建Windows開發環境
(1)開發準備
開發環境:DevEco Device Tool(簡稱DDT) 3.1 Beta2
源碼:hi3861_hdu_iot_application
工具鏈:DevTools_Hi3861V100_v1.0
(2)安裝DDT并導入源碼
步驟一:確認準備時下載的是devicetool-windows-tool-3.1.0.400.zip版,下載網址:https://device.harmonyos.com/cn/develop/ide#download。
步驟二:解壓DevEco Device Tool壓縮包,雙擊安裝,點擊"下一步"進行安裝(之前有安裝過,會彈出先卸載之前版本,再安裝,請按照要求先卸載)。


步驟三:解壓hi3861_hdu_iot_application源碼,工程名字不要太長,hi3861_hdu即可。打開Visual Studio Code,進入DevEco Decive Tool工具界面,,點擊“導入工程”。

在導入工程彈窗,SOC欄選擇Hi3861,開發板欄、框架欄默認,分別是hi3861、hb,之后點擊“導入”即可。

(3)配置開發工具
第一步。解壓工具鏈DevTools_Hi3861V100_v1.0。
第二步。點開工程配置,選擇點擊左側的“工程配置”,在右側窗口找到“compiler_bin_path”,選擇到之前下載的開發工具。注意工具目錄層級,選擇到最內層。

2、編譯燒錄驗證
(1)編譯源碼
第一步,我們需要編譯led閃爍的案例,需改更改applications/sample/wifi_iot/app/BUILD.gn文件。更改如下圖:

將features字段的內容替換為 iothardware:led_example ,第一個iothardware指的是需。
要編譯的工程目錄,第二個:led_example指的是applications/sample/wifi-iot/app/iothardware/BUILD.gn文件中的靜態庫,名稱為led_example。
在文件 "applications/sample/wifi-iot/app/iothardware/BUILD.gn"中。

- static_library:將sources中的源文件編譯后生成helloworld_demo庫文件。
- sources:實現本工程的功能需要編譯的所有.c源文件。
- include_dirs:sources中的所有.c源文件所包含的頭文件的路徑。
- 該文件中,實現led燈循環亮滅。
- 第二步,編譯


(2)燒錄
第一步,安裝驅動。安裝串口驅動:打開開發準備時下載的工具鏈,在DevTools_Hi3861V100_v1.0/usb_serial_driver文件夾下,雙擊CH341SER.EXE驅動,進入安裝界面,點擊安裝按鈕即可。
第二步,開發板連接電腦,配置COM口。

第三步,燒錄程序,復位運行。按照提示,復位開發板即可。







































