前言
此網文撰寫耗時兩天,成本288元,重復操作三遍,只為各位少踩坑,希望各位可以“分享、點贊、在看、留言”四連鼓勵一下。
安裝Hi3861開發板的開發環境可以選擇虛擬機、Docker、 WSL 或者實體Linux系統電腦,這幾種方式都只合適單一的開發環境,像我這樣的上班族,家里單位各一個電腦,用起來還是不太方便。
如果這個開發環境部署在云端,那豈不是我在哪都可以隨時繼續之前的工作了?想想就挺美好,恰好雙十一騰訊云有新人活動:288元/三年(不是騰訊云的廣告哈,其他云服務也一樣,只是阿里云我不是新客戶了,享受不了新人優惠),買起!
將文件夾共享出來容易有被黑的風險,需謹慎!!!
騰訊云購買
初始購買界面,烏班圖Ubuntu的系統版本只能選擇18.04,先購買了,然后后面升級為Ubuntu 20.04。
提交訂單,三年費用288元,還是挺香的。
支付成功,進入控制臺就可以管理我們的云服務器了。
騰訊云服務器登錄
登錄騰訊云服務器控制臺
登錄騰訊云服務器控制臺:
https://cloud.tencent.com/login?s_url=https%3A%2F%2Fconsole.cloud.tencent.com%2Fcvm%2Findex
打開上面鏈接,然后微信掃碼即可登錄騰訊云服務器控制臺:
在實例管理頁面,選擇需要登錄的Linux云服務器:
為了避免踩坑,重裝系統為Ubuntu 20.04版本:
先重置一下云服務器的密碼:
默認用戶ubuntu和管理員用戶root都進行一次密碼重置。
單擊右側的【登錄】,在彈出的【登錄Linux實例】窗口,為了方便粘貼復制命令行,選擇【標準登錄方式】,單擊【立即登錄】。如下圖所示:
在打開的 WebShell 登錄頁面,根據實際需求,選擇【密碼登錄】或者【密鑰登錄】方式進行登錄。如下圖所示:
輸入重置后的密碼,如果登錄成功,WebShell 界面會出現 Socket connection established 提示,證明登錄成功。如下圖所示:
進行操作之前先進行一下apt-get更新:
sudoapt-getupdate
安裝一個圖形界面:
sudoapt-getinstallubuntu-desktop
安裝完畢之后,記得重啟一下系統:
//管理員權限下輸入reboot sudoreboot
這回登錄方式選擇:其它方式,如下:
點擊“立即登錄”之后就會進入Ubuntu的可視化桌面:
命令行+可視化界面操作更適合我這種Linux小白。
配置鴻蒙OS交叉編譯環境
之前我們在Win10系統下,使用WSL的方式配置過一次鴻蒙開發環境,具體參考如下網文:
鴻蒙開發環境搭建、源碼下載和編譯
我們這次在騰訊云服務器上重新操作一遍,建議下面操作使用標準登錄方式登錄騰訊云服務器,這樣方便粘貼下面的命令行。
推薦兩次網文結合來看。
為了避免網友踩坑,我使用騰訊云控制臺的重裝系統功能,先后配置了三次環境,記錄了詳細搭建過程,分享如下。
查看Ubuntu Python版本
使用如下指令列出的python鏈接情況:
cd/usr/bin ls-lpython*
文檔中有說明,一定要用python3.7及以上版本,本系統中已含有python3.8,滿足條件。
配置 repo 工具
本系統如果直接下載鴻蒙的代碼的話,可能會報如下錯誤:
repoinit-uhttps://gitee.com/openharmony/manifest.git-bmaster--no-repo-verify
說明本Linux系統上還沒有配置Repo命令,需要先下載并配置Repo命令行工具:
mkdir~/bin/ sudoaptinstallcurl#如果沒有curl命令需要先下載 curlhttps://gitee.com/oschina/repo/raw/fork_flow/repo-py3>~/bin/repo chmod+x~/bin/repo echo'exportPATH=~/bin:$PATH'>>~/.bashrc source~/.bashrc
下載Harmony OS源碼
mkdir-p~/harmonyos/openharmony&&cd~/harmonyos/openharmony sudoaptinstallgitpython# repo 工具本身是 python 腳本,它會調用 git 命令下載單個代碼倉 #開始前需要配置`user.name`和`user.email`,如果沒有配置,使用如下命令進行配置: gitconfig--globaluser.name"yourname" gitconfig--globaluser.email"your-email-address" repoinit-uhttps://gitee.com/openharmony/manifest.git-bmaster--no-repo-verify reposync-c#以后每天同步遠程倉的修改,只需要執行這一條命令即可
下載完成:
安裝文件系統打包工具
運行“mkfs.vfat”,如果未找到該命令,需要安裝
運行“mcopy”,如果未找到該命令,需要安裝 sudo apt-get install dosfstools mtools # 官方文檔說明的兩個文件系統打包工具 sudo apt-get install zip # 官方文檔雖然沒有寫,但是打包 rootfs 過程中需要使用
到了此步驟,我測試“mkfs.vfat”和mcopy”指令系統中已存在,則不需要經過上面步驟進行安裝了,具體測試如下:
下載、配置編譯工具鏈
使用如下命令,分別下載 gn、ninja、LLVM、hc-gen 包,根據官方文檔修改,一步到位, 不用反復復制粘貼!
#下載 gn/ninja/LLVM/hc-gen 包: URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler wget$URL_PREFIX/gn/1523/linux/gn.1523.tar wget$URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tar wget$URL_PREFIX/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar wget$URL_PREFIX/hc-gen/0.65/linux/hc-gen-0.65-linux.tar #編譯hi3861需要riscv編譯工具鏈 wget$URL_PREFIX/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz #解壓 gn/ninja/LLVM/hc-gen 包: tar-C~/-xvfgn.1523.tar tar-C~/-xvfninja.1.9.0.tar tar-C~/-xvfllvm-linux-9.0.0-34042.tar tar-C~/-xvfhc-gen-0.65-linux.tar tar-C~/-xvfgcc_riscv32-linux-7.3.0.tar.gz #向~/.bashrc 中追加 gn/ninja/LLVM/hc-gen 路徑配置: cat<
準備 virtualenv
sudoaptinstallpython3-pip #安裝virtualenv pip3installvirtualenv #創建使用python3.8為默認python解釋器的virtualenv mkdir~/harmonyos/venv&&virtualenv-ppython3.8~/harmonyos/venv #激活virtualenv,激活后的pip3install會將包文件緩存到相應的子目錄中 source~/harmonyos/venv/bin/activate #安裝setuptools和kconfiglib pip3installsetuptoolskconfiglib #安裝編譯hi3861需要的pip包 pip3installsconsecdsapycryptodome pip3install--upgrade--ignore-installedsix #關閉虛擬環境 deactivate
可選:將激活腳本添加到 bashrc 中,下次登錄默認自動激活此 python 虛擬環境,可以使用deactivate 使虛擬環境無效。
cat<
編譯源碼
編譯 3861 目標平臺的命令執行:/bin/python build.py wifiiot
安裝并配置Samba服務器
參考如下網文:
安裝并配置Samba服務器--將HarmonyOS的文件映射到Windows 中
安裝samba
sudoapt-getinstallsamba
配置samba
root權限下終端輸入如下指令:
sudovim/etc/samba/smb.conf
配置文件末尾添加:
[sharepath] comment=harmony path=/home/ubuntu/harmonyos/openharmony writeable=yes validuser=ubuntu
ESC鍵退出vim的插入狀態,然后輸入:wq ,保存退出vim。
添加samba用戶
添加samba用戶:ubuntu ,密碼設置為:123456。
sudosmbpasswd-aubuntu
重啟samba服務
sudoservicesmbdrestart
端口映射
因為出于安全考慮,騰訊云禁止了139和445端口,這樣在騰訊云上面配置的samba服務器是無法連接上的。
我們修改samba服務器使用的端口:
sudovim/etc/samba/smb.conf
在[global]字段下面添加一句:smb ports = 4455
[global] smbports=4455
然后保存退出,然后重啟samba服務。
sudoservicesmbdrestart
為了能夠正常使用samba服務器,我們需要對本地Windows端口號進行映射,網上找到一個軟件divertTCPconn.exe可以實現此功能,在控制臺cmd中輸入:
divertTCPconn.exe4454455
自己編寫一個腳本,雙擊自動運行就好了,省得每次都要在控制臺中輸入命令。
端口映射完成之后,保持控制臺界面開啟狀態,右鍵“此電腦” -->“映射網絡驅動器”--> 輸入“你的服務器ipsharepath”--> 點擊完成
賬號為上面設置的:ubuntu,密碼為123456。
Windows下編譯
鴻蒙系統固件編譯和燒寫的方法:
源碼編譯
IDE終端工具打開方法
使用OpenHarmony IDE工具DevEco的終端工具連接Linux服務器。(OpenHarmony IDE工具DevEco集成了終端工具的能力,基本使用請參考官方指導文檔)依次點擊“View”、“Terminal”,即可打開IDE終端工具。
ssh連接虛擬機
先啟動虛擬機,然后在VS Code的終端(TERMINAL)界面輸入如下指令:
sshharmony@172.18.3.254
其中172.18.3.254為虛擬機Ubuntu Linux的IP,我們可以看到命令執行完畢之后,VS Code的終端進入了虛擬機的終端:
編譯代碼
在VS Code的終端界面輸入如下指令:
pythonbuild.pywifiiot
注意:要在 /home/harmony/harmony/code/code-1.0 目錄下執行上面的指令。
編譯結束后,如果出現“BUILD SUCCESS”字樣,則證明構建成功。
構建成功后,使用指令:
ls-lout/wifiiot/
查看輸出文件,會在./out/wifiiot/路徑中生成以下文件,我們看到時間是剛剛編譯的時間,說明沒有問題,至此編譯構建流程結束。
Ubuntu虛擬機中查看,下圖中的目錄和上圖的目錄兩者是一樣的。
固件下載
燒錄Hi3861 WLAN模組固件可以通過OpenHarmony IDE工具DevEco完成,
固件下載過程
安裝串口驅動
Hi3861 WLAN模組上面有一個Type C USB接口與CH340G芯片連接,實現了USB轉串口功能。
我們使用USB線連接WLAN模組(需預先安裝USB轉串口驅動,安裝時需要先連接模組,驅動下載地址:http://www.wch.cn/search?q=ch340g&t=downloads),Type C的另一端與USB口相連,然后在設備管理器中查看COM口,如USB-SERIAL CH340(COM3),該串口集成了燒錄、日志打印、AT命令等功能。
IDE燒錄配置
串口燒錄參數配置
Baud Rate:921600
Data bit:8
Burn Files選擇
文件存放路徑:
.outwifiiotHi3861_wifiiot_app_allinone.bin
上面截圖,在Windows系統下直接打開了虛擬機中的文件,使用的是Samba服務器實現的,具體實現細節可以參考:
安裝并配置Samba服務器--將HarmonyOS的文件映射到Windows 中
RISC-V系列代碼燒錄
點擊下圖中Burn右側的三角按鈕,進入燒寫固件模式,稍后上面會彈出串口選擇列表,選擇對應的串口(我的機器使用COM3與Hi3861模塊相連),如果環境搭建沒有問題的話,即可完成固件的下載。
如果點擊下載的三角按鈕,出現下圖所示錯誤:
根據錯誤提示,使用如下指令查找npm所在路徑:
npmconfiggetprefix
那么,我們在系統環境變量中添加:
NODE_PATH = C:UsersAdministratorAppDataRoaming pm ode_modules
即可。
測試WiFi模組
使用串口助手工具,連接Hi3861模組串口(我的機器是COM3),并配置好波特率115200,同時勾選“發送新行”,確保輸入字符串以" "結尾,避免AT命令無法輸入。
復位WLAN模組,終端界面顯示“ready to OS start”,證明WiFi模組復位成功。
在窗口助手中,依次執行如下AT命令,使Hi3861模塊啟動STA模式,連接指定AP熱點,并開啟DHCP功能。
命令 | 含義 |
---|---|
AT+STARTSTA | 啟動STA模式 |
AT+SCAN | 掃描周邊AP |
AT+SCANRESULT | 顯示掃描結果 |
AT+CONN="SSID",,2,"PASSWORD" | 連接指定AP,其中SSID/PASSWORD為待連接的熱點名稱和密碼 |
AT+STASTAT | 查看連接結果 |
AT+DHCP=wlan0,1 | 通過DHCP向AP請求wlan0的IP地址 |
AT+IFCFG | 查看模組接口IP |
AT+PING=X.X.X.X | 查看WLAN模組與網關聯通是否正常,其中X.X.X.X需替換為實際的網關地址 |
ssh連接服務器
在VS Code的終端(TERMINAL)界面輸入如下指令:
sshubuntu@***.***.***.***(服務器IP)
編譯代碼
在VS Code的終端界面輸入如下指令完成代碼編譯:
source~/.bashrc pythonbuild.pywifiiot
編譯成功
下載成功
至此,騰訊云上搭建Hi3861開發環境完畢,這樣我也就不用編寫VS Code代碼前先啟動一下虛擬機了,大家感興趣的可以玩玩哈。
責任編輯:xj
原文標題:干貨!騰訊云服務器搭建鴻蒙Hi3861開發板開發環境
-
服務器
+關注
關注
12文章
9236瀏覽量
85654 -
開發板
+關注
關注
25文章
5082瀏覽量
97711 -
騰訊云
+關注
關注
0文章
214瀏覽量
16815 -
鴻蒙
+關注
關注
57文章
2371瀏覽量
42909 -
Hi3861
+關注
關注
1文章
61瀏覽量
6539
原文標題:干貨!騰訊云服務器搭建鴻蒙Hi3861開發板開發環境
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論