OpenHarmony3.0已于2021年9月30號(hào)正式發(fā)布,本篇文章詳細(xì)給出OpenHarmony3.0在樹莓派3B上的燒錄與通訊步驟,對(duì)其中使用的指令進(jìn)行詳細(xì)解釋,同時(shí)附有燒錄與通訊過程中使用的各類軟件的下載鏈接,歡迎各位瀏覽指正。
1、OpenHarmony3.0編譯及燒錄
1.1 安裝必要的依賴包
(1)安裝必要的依賴包
執(zhí)行sudo的apt update命令,用來檢查已安裝的軟件包是否有可用的更新;再執(zhí)行sudo的apt install -y命令,用來下載安裝后續(xù)需要使用的依賴包。
sudo apt update
sudo apt install -y 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 lib32z-dev ccache
libgl1-mesa-dev libxml2-utils xsltproc unzip m4 wget bc Python python3
Android-tools-fsutils libssl-dev mtools
此處需要注意的是,在Ubuntu20的環(huán)境下執(zhí)行上一步命令時(shí),可能會(huì)出現(xiàn)android-tools-fsutils工具安裝失敗的情況,如圖1所示。只需將上述安裝指令中的android-tools-fsutils替換為圖1紅框中的android-sdk-libspares和android-sdk-ext4-utils,并重新執(zhí)行即可。
圖1 android-tools-fsutils安裝失敗示意圖
(2)安裝repo工具
使用curl命令從Gitee網(wǎng)站上下載repo工具,并通過sudo的tee命令將下載后的結(jié)果以repo命名,標(biāo)準(zhǔn)輸出到/usr/local/bin/repo路徑下,實(shí)現(xiàn)repo安裝。
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 | sudo tee /usr/local/bin/repo >/dev/null
安裝完成后,使用sudo的chmod命令為已安裝后的文件添加權(quán)限,此處設(shè)置的是a+x,即為全部使用者添加此文件的可執(zhí)行權(quán)限。
sudo chmod a+x /usr/local/bin/repo
(3)將/bin/sh重新指向/bin/bash
此步驟由sudo的ln -sf命令實(shí)現(xiàn),命令含義是由/bin/sh重新指向/bin/bash。
sudo ln -sf bash /bin/sh
(4)設(shè)置git信息
在前面安裝依賴包的步驟中,我們已經(jīng)成功安裝好了git,由于git是分布式版本控制系統(tǒng),因此需要設(shè)置git自己的名字和電子郵件以作區(qū)分。
git config --global user.name your_name
git config --global user.email your_email
1.2 下載編譯內(nèi)核需要的工具鏈
編譯內(nèi)核需要下載和安裝工具鏈
gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf,安裝路徑此處設(shè)置為/ohos,因此需要先創(chuàng)建并切換至此路徑。
mkdir ~/ohos
cd ~/ohos
使用Wget下載命令可以從官網(wǎng)進(jìn)行下載,然后使用tar命令對(duì)已下載的工具鏈安裝包進(jìn)行解壓即可。
Wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz
tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz
1.3 編譯OpenHarmony
拉取源碼同樣將路徑切換至/ohos下,新建名為openharmony的文件夾并進(jìn)入此文件夾,通過前面已安裝好的repo工具從Gitee網(wǎng)站上(
https://gitee.com/xfan1024/oh-rpi3b.git)拉取代碼。
cd ~/ohos
mkdir openharmony
cd openharmony
repo init -u https://gitee.com/xfan1024/oh-rpi3b.git -m oh-rpi3b.xml -b refs/tags/v20210823 --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
./build/prebuilts_download.sh
在openharmony文件夾中,先打補(bǔ)丁;之后進(jìn)入/ohos路徑下使用export命令設(shè)置環(huán)境變量;設(shè)置完成后再回到openharmony文件夾,即可開始編譯。編譯完成的界面如圖2所示。
cd ~/ohos/openharmony
python3 projectpatch/patch.py
cd ~/ohos
export PATH="$PATH:$(pwd)/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin"
cd openharmony
python3 build-rpi3.py build
圖2 編譯完成界面圖
1.4 燒錄到SD卡(windows燒錄方法)
編譯完成后生成的映像firmware.img的位置路徑是
out/ohos-arm-release/packages/phone/images/firmware.img。在開始燒錄之前,最好先檢查下映像firmware.img的大小,這是為了防止由于未拷貝完成可能造成的燒錄失敗。經(jīng)查看后,其大小為941MB,如圖3所示。
圖3 firmware.img映像大小示意圖
之后將此firmware.img拷貝到window電腦上使用Win32DiskImager(下載地址:
https://sourceforge.net/projects/win32diskimager/)進(jìn)行燒錄。此處我們需要使用SD卡+讀卡器的組合,將映像燒錄到SD卡所在的分區(qū)上。
- 首先將SD卡正確安裝在讀卡器中,然后將讀卡器插到電腦上,“設(shè)備與驅(qū)動(dòng)器”中會(huì)增加SD卡的分區(qū)。
- 按照下圖所示配置Win32DiskImager工具后,點(diǎn)擊寫入即可完成燒錄。
圖4 Win32DiskImager工具配置界面
1.5 點(diǎn)亮樹莓派的開發(fā)板的屏幕
燒錄完成后,接下來需要點(diǎn)亮樹莓派的開發(fā)板的屏幕,此部分主要分為如下4個(gè)步驟:
(1)插入SD卡
將SD卡插入到樹莓派開發(fā)板的SD卡槽中,正確插入后的效果如圖5紅框中所示。
圖5 在樹莓派開發(fā)板上插入SD卡示意圖
(2)連接開發(fā)板和其他硬件
按照?qǐng)D6所示的硬件連接示意圖(圖中每?jī)蓚€(gè)相同的序號(hào)分別表示同一根數(shù)據(jù)線的兩端),用HDMI線①為樹莓派開發(fā)板連接顯示屏,用DC線②為顯示屏供電,用電源線③連接開發(fā)板和電源。
圖6 連接示意圖
(3)開發(fā)板通電和顯示屏點(diǎn)亮
在正確完成上述所有硬件連接后,需要先給開發(fā)板通電,再開啟顯示屏:
- 打開上述電源線③已連接的電源開關(guān),給開發(fā)板通電,若硬件連接正常,即可啟動(dòng)樹莓派開發(fā)板,效果如圖7所示。
圖7 開發(fā)板通電示意圖
- 長按顯示器側(cè)面的按鍵“Power”約3~5秒,若硬件連接正常,屏幕就會(huì)點(diǎn)亮,注意此時(shí)顯示器暫不支持觸屏功能。
圖8 點(diǎn)亮顯示屏示意圖
(4)設(shè)置顯示器觸屏
先使用一根數(shù)據(jù)線(圖9中灰色數(shù)據(jù)線),在圖9所示位置處,將顯示器側(cè)面標(biāo)有“TOUCH”標(biāo)志的端口和開發(fā)板的USB口相連。再在串口工具(串口工具下載使用方法見2.1)中使用reboot命令,重啟設(shè)備即可設(shè)置顯示器實(shí)現(xiàn)可觸屏的效果,若命令未生效,可多次重啟后再進(jìn)行嘗試。
圖9 設(shè)置觸摸屏的硬件連接示意圖
2、開發(fā)板的通信和文件傳輸
OpenHarmony3.0在燒錄到樹莓派3B后,可以實(shí)現(xiàn)基本的顯示、觸屏等功能,接下來嘗試與樹莓派3B開發(fā)板實(shí)現(xiàn)通信,目前嘗試的通信方式包括:串口通訊、SSH通訊、文件可視化傳輸三種通訊方式。
2.1 與樹莓派開發(fā)板實(shí)現(xiàn)串口通訊
連接好串口線硬件設(shè)備,并且能成功識(shí)別串口的基礎(chǔ)上,借助XCOM工具或者XSHELL工具可實(shí)現(xiàn)串口通信。
(1)連接串口線
將電腦和樹莓派開發(fā)板使用串口線相互連接,其中USB端②與電腦連接,串口線①按照紅線、黑線、白線、綠線的順序依次與開發(fā)板連接,效果如圖10所示。
圖10 串口線連接效果
(2)檢查USB端口是否顯示
在電腦中,打開設(shè)備管理界面,來查看USB端口是否可以顯示。若能夠正常顯示,則效果如圖11;
圖11 端口正常顯示的界面
若端口名上出現(xiàn)了黃色嘆號(hào),則說明無法正常顯示端口,此時(shí)需要右鍵端口名,查看其屬性中的詳細(xì)信息,檢查是否是由于缺少驅(qū)動(dòng)造成的。若確實(shí)是此原因造成,則需要在相應(yīng)下載地址(
http://www.wch.cn/downloads/CH341SER_EXE.html)中下載驅(qū)動(dòng),并重啟電腦;在重啟后重新打開設(shè)備管理界面即可看到已顯示的USB端口。
(3)使用XCOM工具實(shí)現(xiàn)串口通訊
在連接好串口線且USB端口能在電腦上正常顯示后,就可以測(cè)試通訊功能是否正常了。此處需要使用XCOM工具,此工具能夠準(zhǔn)確地自動(dòng)識(shí)別串口,還能夠查看接收到的歷史數(shù)據(jù),可以單條發(fā)送也可以多條發(fā)送。在完成下載安裝之后(下載地址為
http://www.downcc.com/soft/317457.html,僅供參考),XCOM工具的正常運(yùn)行界面如圖12所示。在右上角的紅框區(qū)域可以設(shè)置端口和波特率,注意此處端口應(yīng)選擇上一步中能正常顯示的USB端口;在界面中左下角的紅框區(qū)域可輸入cat命令用于測(cè)試串口是否正常。
圖12 XCOM工具運(yùn)行界面
(4)使用XSHELL工具實(shí)現(xiàn)串口通訊
使用XSHELL工具也可以實(shí)現(xiàn)串口通訊功能(下載地址為xshellcn.com/xiazai.html),在完成下載安裝之后,正常運(yùn)行界面如圖12所示。
正常運(yùn)行后,在XSHELL下新建一個(gè)會(huì)話,完成相關(guān)參數(shù)的設(shè)置。設(shè)置連接屬性可參考圖13上圖,選擇協(xié)議為紅框中的SERIAL協(xié)議;設(shè)置串口參數(shù)可參考圖13下圖,其中端口號(hào)可以在上述步驟中提到的設(shè)備管理器中查找,其余參數(shù)保持默認(rèn)設(shè)置即可。
圖13 XSHELL工具運(yùn)行界面(上:設(shè)置連接,下:設(shè)置串口)
在完成上述所有設(shè)置之后,就可以通過XSHELL實(shí)現(xiàn)串口連接了,若出現(xiàn)“Connected”則說明成功連接,效果如圖14所示。
圖14 成功實(shí)現(xiàn)串口連接效果圖
2.2 與樹莓派的板子實(shí)現(xiàn)SSH通訊
實(shí)現(xiàn)SSH通訊的前提是需要先獲取樹莓派的IP地址并與mac地址綁定,在成功綁定后,使用上一節(jié)中設(shè)置好的串口打開樹莓派的SSH服務(wù),然后就可以建立SSH通訊了。
(1)獲取樹莓派的IP地址并綁定
由于需要借助路由器來獲取樹莓派的IP地址,因此需要使樹莓派開發(fā)板和電腦主機(jī)處于同一局域網(wǎng)下。流程如下:
- 將網(wǎng)線一端連接至樹莓派開發(fā)板的網(wǎng)口,另一端連接至路由器網(wǎng)口,實(shí)現(xiàn)樹莓派開發(fā)板聯(lián)網(wǎng)。
- 給電腦主機(jī)連接此路由器的WiFi。
- 在瀏覽器中輸入路由器的后臺(tái)管理IP進(jìn)入后臺(tái)管理界面,輸入密碼進(jìn)行登錄,如圖15中紅框所示。
圖15 登錄路由器后臺(tái)管理
- 成功登錄后,按照?qǐng)D16中標(biāo)記的序號(hào)順序,依次點(diǎn)擊設(shè)置紅框部分:高級(jí)設(shè)置—IP----添加—彈出“綁定設(shè)備”提示框----記錄樹莓派的IP地址并更改設(shè)備名稱(圖中鼠標(biāo)所致處)-----一鍵綁定。
圖16 獲取并綁定樹莓派IP流程
(2)通過串口打開樹莓派的SSH服務(wù)
如圖17,在前面介紹的串口工具XCOM/XSHELL中,選擇之前已檢測(cè)正常的串口并保持其他屬性選項(xiàng)為默認(rèn);在左下角控制臺(tái)單條發(fā)送ifconfig命令,用來打開樹莓派的SSH服務(wù)。
圖17 XCOM打開樹莓派的SSH服務(wù)
(3)建立與樹莓派板子的SSH連接
正常運(yùn)行后,同樣使用XSHELL新建一個(gè)如圖18的會(huì)話,用于設(shè)置樹莓派的屬性即名稱和主機(jī)IP,名稱可自定義,主機(jī)IP是之前已從路由器獲取的樹莓派IP地址。
圖18 設(shè)置樹莓派屬性建立SSH連接
點(diǎn)擊“確定”后,在彈出來的提示框中選擇接受并保存主機(jī)秘鑰,輸入登錄的用戶名和密碼,點(diǎn)擊“確定”即可出現(xiàn)建立遠(yuǎn)程SSH服務(wù),效果如圖19所示。
圖19 成功實(shí)現(xiàn)SSH通訊效果圖
2.3 與樹莓派開發(fā)板實(shí)現(xiàn)文件可視化傳輸
為實(shí)現(xiàn)電腦與樹莓派開發(fā)板進(jìn)行文件可視化傳輸,需要使用工具WinSCP。此工具是支持SSH的SCP文件傳輸工具,將其與相應(yīng)的服務(wù)器連接并設(shè)置相關(guān)參數(shù)后,即可在電腦和開發(fā)板之間相互下載或傳輸文件。
(1)工具下載
下載WinScp工具,下載地址可參考
https://www.onlinedown.net/soft/20088.htm,下載完成后根據(jù)提示進(jìn)行安裝。
(2)參數(shù)設(shè)置
啟動(dòng)電腦的ssh服務(wù),在ssh服務(wù)已開啟且成功建立連接的情況下,啟動(dòng)WinScp工具,在WinScp中新建站點(diǎn),參數(shù)設(shè)置可參考圖20紅框中的內(nèi)容。
圖20 新建站點(diǎn)
(3)文件傳輸
設(shè)置完參數(shù)后點(diǎn)擊登錄按鈕,在出現(xiàn)的各種提示項(xiàng)中選擇默認(rèn)選項(xiàng),之后便可以進(jìn)入如圖20所示界面,界面左側(cè)表示主機(jī)文件系統(tǒng),右側(cè)表示openharmony3.0(即樹莓派開發(fā)板)的文件系統(tǒng),用戶可以采用拖動(dòng)的方式,實(shí)現(xiàn)在兩臺(tái)設(shè)備間相互文件傳輸?shù)男Ч?/p>
圖21 文件傳輸界面