OpenHarmony设备的开发环境搭建与工程管理(Ubuntu系统环境)
文章目錄
- 開始前的廢話
- 本篇文章是介紹在**Ubuntu環境**下,如何搭建一套完整的可視化開發環境。筆者經過測試Ubuntu 20.04系統環境下操作都可以實現。
- 開發環境的搭建
- 第一步: 修改Ubuntu Shell環境
- 第二步:下載DevEco Device Tool
- 第三步:解壓DevEco Device Tool軟件包
- 第四部:解壓后的文件夾進行賦權
- 第五步:安裝DevEco Device Tool
- 工程管理
- 導入OpenHarmony源碼
- 根據現有解決方案生成工程
開始前的廢話
本來筆者是沒有打算寫一篇關于如何搭建開發環境和創建項目的文章的,因為官方文檔已經寫的很清楚了。但是在筆者準備五一放假期間上傳一些關于開發板簡單基礎功能開發的文章的時候,發現官網文檔在4月30日進行了大變動,讓開發環境的搭建變得更簡單,輕松幾部便可以完成。
改版后的官方文檔對新手很友好,所以為什么筆者會這么激動呢,是因為筆者對于硬件開發其實一開始一點基礎都無,雖然官網文檔一直都很詳細,但是對于缺乏相關知識的筆者來說,閱讀學習還是很艱難。所以筆者想將新改版后官方文檔中關于開發環境的搭建與工程管理的知識整理輸出一份,當然這里看官方文檔也可以很簡單的完成開發環境的搭建和工程管理,筆者只是想對鴻蒙設備開發的官方文檔再作一些宣傳(可能官方并不需要(〃′-ω・) ),感謝官網工作人員的完善,并且重新整理輸出也是對筆者所學習的知識一個很好的鞏固。
本篇文章是介紹在Ubuntu環境下,如何搭建一套完整的可視化開發環境。筆者經過測試Ubuntu 20.04系統環境下操作都可以實現。
筆者是將自己的電腦的win10系統外,重新裝了一個Ubuntu 20.04系統(系統語言:英文),在搭建環境之前,只是安裝了搜狗輸入法和Chrome瀏覽器。
這里建議Ubuntu系統安裝時,系統語言選擇英文,可以省去不少麻煩。如果你在裝系統的過程中遇到什么問題可以聯系筆者。
開發環境的搭建
系統要求:
第一步: 修改Ubuntu Shell環境
執行命令如下命令,確認輸出的結果末尾是bash,如果輸出結果的末尾是dash,請根據步驟二,將Ubuntu Shell的環境修改為bash。
ls -l /bin/sh打開終端工具,執行如下命令,執行以后需要輸入密碼,然后選擇No,就可以將Ubuntu Shell由dash修改為bash。
sudo dpkg-reconfigure dash再次執行步驟一的命令,發現Ubuntu Shell的環境已經修改為bash。
第二步:下載DevEco Device Tool
- 點擊下載鏈接,選擇DevEco Device Tool Linux版本的軟件包,點擊旁邊的下載按鈕進行下載。
第三步:解壓DevEco Device Tool軟件包
-
進入DevEco Device Tool軟件包下載的文件夾目錄下,執行如下命令解壓軟件包,其中devicetool-linux-tool-3.0.0.401.zip為你下載的軟件包名稱,請根據你當前下載的實際情況進行修改。
unzip devicetool-linux-tool-3.0.0.401.zip
第四部:解壓后的文件夾進行賦權
-
解壓后的文件直接就在當前目錄下,繼續執行如下命令,賦予安裝文件可執行權限,其中devicetool-linux-tool-3.0.0.401.sh請根據實際進行修改。
chmod u+x devicetool-linux-tool-3.0.0.401.sh
第五步:安裝DevEco Device Tool
-
執行如下命令,安裝DevEco Device Tool,其中devicetool-linux-tool-3.0.0.401.sh請根據實際進行修改。
安裝過程中,會自動檢查Visual Studio Code和Python是否安裝,且版本符合要求,其中Visual Studio Code為1.62及以上版本,Python為3.8~3.9版本。如果不滿足,則安裝過程中會自動安裝,提示“Do you want to continue?”,請輸入“Y”后繼續安裝。
sudo ./devicetool-linux-tool-3.0.0.401.sh -- --install-plugins當界面輸出“Deveco Device Tool successfully installed.”時,表示DevEco Device Tool安裝成功。
打開打開Visual Studio Code,點擊左側導航欄的三角形的按鈕,便可以打開下載好的DevEco Device Tool工具界面。
工程管理
導入OpenHarmony源碼
獲取OpenHarmony源碼;
點擊Ubuntu環境下拉取OpenHarmony源碼的鏈接,根據鏈接網頁中的步驟下載源碼。
下載源碼之前,可以新建一個放源碼的文件夾,在此文件夾中運行命令,講源碼下載到該文件夾中。(沒有強迫癥的,直接運行也可以)
下載過程中repo sync -c這步時間很久,并且如果在下載中遇到問題,可以參考筆者以前寫過的博客,看是否能解決你的問題。
打開DevEco Device Tool,進入Home頁;
點擊Import Project,選擇待打開的工程目錄,點擊Import打開;
出現如下提示框,點擊Import;
在Select Project type界面,選擇Import from OpenHarmony Source;
在Import Project界面,選擇Product后,會自動填充對應的MCU、Board、company和kernel信息,然后ohosVersion選擇對應的OpenHarmony源碼版本。下圖以開發板Hi3861并導入wifiiot_hispark_pegasus為例進行說明。然后點擊Open打開工程或源碼;
彈出提示怎樣打開項目,筆者這里選擇在現有窗口下打開項目,你根據你的愛好可以自由選擇,不搭噶;
可以看到源碼和項目就說面導入成功;
然后在你寫好代碼需要編譯和燒錄之前,還需要進入Project頁。DevEco Device Tool會檢測你的開發環境所需的工具是否安裝完畢,如果檢測到有沒有安裝的,點擊Setup按鈕進行下載。
下載過程中需要你在下方終端頁面輸入密碼。
最后下載完畢,提示開發環境是完善的。
根據現有解決方案生成工程
打開DevEco Device Tool,進入Home頁,點擊Create Project創建新工程。
在新建工程的配置向導頁,輸入工程配置信息后,點擊Finish。
-
Project Name:輸入工程名稱,只能包含大寫字母、小寫字母、數字、下劃線(_)、短橫線(-)和點(.)。
-
Bundle:選擇產品對應的解決方案。
這里介紹一下開發板Hi3861的所有解決方案(因為筆者用到的是Hi3861開發板,所以先介紹關于Hi3861的解決方案)
解決方案名稱解決方案介紹 @ohos/hispark_pegasus 無線局域網解決方案 @ohos/mini_system 提供多種輕量級網絡協議,輕量級的圖形框架,以及豐富的IOT總線讀寫部件等的解決方案。可支撐的產品如智能家居領域的連接類模組、傳感器設備、穿戴類設備等。 @ohos/wifi_iot 適用于無線局域網模組開發,連接智能家居,小家電等的解決方案。 @opensource/hoperun_hm_ap 演示如何在Pegasus Wi-Fi IOT智能家居套件上開發wifi_AP模式的解決方案。 @opensource/hoperun_hm_brightlights 演示如何在Pegasus Wi-Fi IOT智能家居套件上使用PWM實現炫彩燈的解決方案。 @opensource/hoperun_hm_cleaner 采用潤和的智能小車套件為硬件模型,通過修改代碼具備了掃地機器人簡易的避障功能及防跌落功能,并且能通過wifi接入數字管家應用場景的解決方案。智能掃地機不僅能接收數字管家應用下發的指令啟動或停止掃地機器人,而且還可以加入到數字管家的日程管理中。通過日程可以設定智能掃地機啟動的時間段,使其在特定的時間段內,智能掃地機自動啟動或者停止。 @opensource/hoperun_hm_delay 基于Hi3861開發板并使用開源OpenHarmony開發的智能家居套件上使用cmsis2.0接口進行OS延時開發的解決方案。 @opensource/hoperun_hm_lem 演示如何在Pegasus Wi-Fi IOT智能家居套件上實現智能環境監測系統的解決方案 @opensource/hoperun_hm_ilcl 演示如何在Pegasus Wi-Fi IOT智能家居套件上使用ADC實現智能光控燈的解決方案 @opensource/hoperun_hm_ithc 演示如何在Pegasus Wi-Fi IOT智能家居套件上使用I2C實現智能溫濕度采集的解決方案 @opensource/hoperun_hm_lamp 演示如何在Pegasus Wi-Fi IOT智能家居套件上實現智能臺燈的解決方案 @opensource/hoperun_hm_led 演示如何在Pegasus Wi-Fi IOT智能家居套件上使用cmsis 2.0接口進行IO口控制開發的解決方案 @opensource/hoperun_hm_message 演示如何在Pegasus Wi-Fi IOT智能家居套件上使用cmsis 2.0接口進行消息隊列開發的解決方案 @opensource/hoperun_hm_moleds 演示如何在Pegasus Wi-Fi IOT智能家居套件上使用SSD 1306庫驅動OLED屏的解決方案 @opensource/hoperun_hm_music 基于Hi3861開發板并使用開源OpenHarmony開發的智能家居套件中的蜂鳴器播放兩只老虎音樂的解決方案 @opensource/hoperun_hm_mutex 基于Hi3861開發板并使用開源OpenHarmony開發的智能家居套件上使用cmsis2.0接口進行互斥鎖開發的解決方案 @opensource/hoperun_hm_oledplayer 基于Hi3516開發板并使用開源OpenHarmony開發的智能家居套件中的OLED屏播放視頻案例的解決方案 @opensource/hoperun_hm_safe 智能保險柜方案可以實時監測保險柜中振動傳感器,當有振動產生時及時向用戶發出警報。在連接網絡后,配合數字管家應用,用戶可以遠程接受智能保險柜的報警信息。后續可擴展攝像頭等設備,實現對危險及時報警,及時處理,守護家中財產安全 @opensource/hoperun_hm_semp 演示如何在Pegasus Wi-Fi IOT智能家居套件上使用cmsis 2.0接口進行信號量開發的解決方案 @opensource/hoperun_hm_sta 演示如何在Pegasus Wi-Fi IOT智能家居套件上開發wifi_STA模式的解決方案 @opensource/hoperun_hm_thread 基于Hi3861開發板并使用開源OpenHarmony開發的智能家居套件上使用cmsis2.0接口進行線程開發的解決方案 @opensource/hoperun_hm_timer 基于Hi3861開發板并使用開源OpenHarmony開發的智能家居套件上使用cmsis2.0接口進行定時器開發的解決方案 @opensource/hoperun_hm_trafficlights 演示如何在Pegasus Wi-Fi IOT智能家居套件上實現智能交通燈實驗的解決方案 @opensource/hoperun_hm_trashcan 智能垃圾桶解決方案可以通過數字管家應用來監測垃圾桶當前可用容量,提醒主人及時處理垃圾;通過日程管家可以實現和其他智能設備聯動。 @opensource/hoperun_hm_uart 演示如何在Pegasus Wi-Fi IOT智能家居套件上實現串口通信的解決方案 @opensource/yevk_hm_beep 該解決方案是基于LYEVK-3861開發板IOT套件開發的音樂播放器,通過不同頻率的PWM波驅動蜂鳴器可以產生不同音符的音樂,利用這一特色,就可以奏出一段音樂 @opensource/yevk_hm_park 該解決方案是基于LYEVK3861A IoT開發套件開發,通過獲取光照強度變化感知是否有車停放 @opensource/yevk_hm_snake 該解決方案是基于LYEVK-3861開發板IoT討價開發的簡易貪吃蛇小游戲,使用了套件中的OLED屏幕擴展板和帶按鍵的照明版。用OLED屏幕顯示游戲運行界面,按鍵復用為游戲選擇和游戲控制方向鍵 @opensource/yevk_hm_temp 該解決方案是基于LYEVK-3861A IoT開發套件開發,通過溫濕度傳感器模塊獲取溫度,并上華為云服務器 -
MCU:選擇開發板搭載的MCU。
-
Board:選擇支持的開發板類型。
-
Location:設置工程的存儲路徑,默認情況下存儲在工具指定的默認路徑。
根據選擇的Bundle,DevEco Device Tool將會自動通過hpm拉取源碼文件及配套的工具鏈,請耐心等待。
下載完成后,在左側的工程目錄中即可查看對應的源碼文件。
注:不同的開發板對于環境的依賴不同,需要開發者根據開發板類型,執行相應命令配置環境依賴信息。
| Hi3516DV300小型系統 | sudo apt-get install mtd-utils |
| Hi3516DV300標準系統 | sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g+±multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby |
| Hi3518EV300 | sudo apt-get install mtd-utils |
| Hi3861V100 | - |
| BearPi-HM Nano | - |
| Neptune | - |
以上就是筆者整理的關于Hi3861開發板在Ubuntu系統環境下的開發環境的搭建與項目管理,關于怎么簡單的實現一個項目的代碼編寫、編譯和燒錄。可以直接看官方文檔就可以很簡單的實現,我這里就不照搬官網的內容了。
后面筆者會接著發一些關于源碼的理解和開發板簡單基礎功能開發的文章,希望大家多多指導,共同進步。
總結
以上是生活随笔為你收集整理的OpenHarmony设备的开发环境搭建与工程管理(Ubuntu系统环境)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不注册微服务号如何使用Java实现每日给
- 下一篇: htttp返回码