大家一起學(xué)鴻蒙OS(HarmonyOS)設(shè)備開發(fā)筆記
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz
大家一起學(xué)鴻蒙OS(HarmonyOS)設(shè)備開發(fā) 筆記 by javaaier
資源
軟件
相關(guān)地址
● 課程地址:大家一起學(xué)鴻蒙OS(HarmonyOS)設(shè)備開發(fā)
● 關(guān)聯(lián)文章: 在CentOS中安裝鴻蒙LiteOS編譯環(huán)境-海思Hi3861
● 華為設(shè)備開發(fā)指南:WLAN模組基于Hi3861平臺
● Hi3861搭建環(huán)境: Hi3861搭建環(huán)境
● 倉庫地址: openharmony
● openharmony manifest 地址: openharmony manifest
操作步驟
安裝virtualbox 略
安裝ubuntu 略
安裝visual studio code略
配置ubuntu
1.查看或更新當(dāng)前ubuntu環(huán)境
- sudo apt update
- sudo apt list --upgradable
更新全部(慎用)
- sudo apt update && sudo apt -y upgrade
更新一個,如docker
- sudo apt upgrade docker-engine=1.13.1-0~ubuntu-xenial
參考:Ubuntu 中apt update和upgrade 的區(qū)別
2.gcc
- sudo apt-get install gcc make perl --fix-missing
3.安裝增強(qiáng)功能:配置窗口大小自動
安裝完后重啟
4.設(shè)置網(wǎng)絡(luò):橋接模式
- ip addr
- ifconfig
5.ssh服務(wù)檢查、安裝及連接
- systemctl status sshd
- sudo apt-get install ssh
putty連接:
6.安裝vim
- sudo apt install vim
7.安裝及設(shè)置samba
- systemctl status samba
- sudo apt-get install samba
- sudo vim /etc/samba/smb.conf
在文件最后添加
- [home]
- comment = HarmonyOS Work
- path = /home
- browseable = yes
- read only = no
- writable = yes
- guest ok = no
- create mask = 0755
重啟 samba
- systemctl status smbd
- sudo systemctl restart smbd
添加samba用戶(需要有系統(tǒng)用戶,即創(chuàng)建名稱跟當(dāng)前登錄的用戶一致即:沒毛病.如果非要與當(dāng)前登錄用戶名不一致,見后面一段引用進(jìn)行操作)
- sudo smbpasswd -a javaaier
增加samba用戶提示Failed to add entry for user
- # 錯誤的原因及解決
- # 增加samba用戶提示Failed to add entry for user
- sudo smbpasswd -a shareuser001
- New SMB password:
- Retype new SMB password:
- Failed to add entry for user shareuser001.
-
- # 解決辦法:
- # 這是因?yàn)闆]有加相應(yīng)的系統(tǒng)賬號,所以會提示Failed to add entry for user的錯誤,只需增加相應(yīng)的系統(tǒng)賬號share(用戶名)就可以了:
- sudo groupadd shareuser001 -g 6000
- sudo useradd shareuser001 -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
-
- # 再執(zhí)行創(chuàng)建samba用戶即正常
- sudo smbpasswd -a shareuser001
Windows 訪問
- \\ubuntu-server-ip-address\home
windows 映射共享文件夾為網(wǎng)絡(luò)驅(qū)動器
8.其他
Hi3861編譯環(huán)境搭建
1.檢查環(huán)境是不是bash
- ls -l /bin/sh
- sudo dpkg-reconfigure dash
- ls -l /bin/sh
2.安裝及配置python
- python --version
- python3 --version
- which python3.8
得到python3.8的路徑為:"/usr/bin/python3.8",將原來的python路徑去掉,重新配置,最好是將官方的語句按我這樣拆開執(zhí)行,不然很可能會報錯而終止執(zhí)行.
- cd /usr/bin
- sudo rm python
- sudo rm python3
- sudo ln -s /usr/bin/python3.8 python && sudo ln -s /usr/bin/python3.8 python3 && python3 --version && python --version
升級python包管理工具 pip3
- sudo apt-get install python3-setuptools python3-pip -y
- sudo pip3 install --upgrade pip
安裝setuptools & kconfiglib & pycryptodome & six & ecdsa
- pip3 install setuptools
- sudo pip3 install kconfiglib
- sudo pip3 install pycryptodome # 太卡,用下面這句,一秒解決
- sudo pip3 install -i https://pypi.douban.com/simple pycryptodome
- sudo pip3 install -i https://pypi.douban.com/simple six --upgrade --ignore-installed six
- sudo pip3 install -i https://pypi.douban.com/simple ecdsa
3.安裝SCons
- sudo apt-get install scons -y
- scons -v
4.安裝編譯環(huán)境
1.gn
下載gn,上傳到ubuntu的home目錄下,并解壓
- cd ~
- tar xvf gn.1523.tar -C ~/
2.ninja
- tar xvf ninja.1.9.0.tar -C ~/
3.gcc_riscv32
- tar xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/
4.設(shè)置環(huán)境變量
- vim ~/.bashrc
- source ~/.bashrc
- #驗(yàn)證
- gn
- ninja
- riscv32-unknown-elf-gcc -v
- export PATH=~/gn:~/ninja:~/gcc_riscv32/bin:$PATH
5.其他
源代碼獲取編譯
倉庫地址: openharmony
1.安裝git
- sudo apt install git
- git config --global user.name "pangu"
- git config --global user.email "pangu@harmonyos.com"
- git config --global credential.helper store
- git config --global --unset http.proxy
2.安裝git repo 工具
- sudo apt install curl
- sudo curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/repo
- sudo chmod a+x ~/repo
- sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
- vim ~/.bashrc
- source ~/.bashrc
- repo # 測試 repo配置好了沒
~/.bashrc文件內(nèi)容
- export PATH=~/gn:~/ninja:~/gcc_riscv32/bin:~:$PATH
3.下載源代碼
- mkdir openharmony
- cd openharmony
- repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
- repo sync -c
4.編譯源代碼
- python ./build.py wifiiot
編譯完成后放在
- out/wifiiot/Hi3861_wifiiot_app_allinone.bin
5.其他
燒錄前的1,2,3
1.打開visual studio code
2.安裝nodejs
3.安裝jdk,jre
4.配置nodejs環(huán)境
設(shè)置國內(nèi)淘寶鏡像源
- npm config set registry https://registry.npm.taobao.org
下載鴻蒙組件管理器
- npm install -g @ohos/hpm-cli
下載windows編譯工具(管理員模式的powershell下執(zhí)行)
- npm install -g windows-build-tools
安裝tftp
- npm install -g tftp
安裝串口工具
- npm install -g serialport
- npm install -g @serialport/parser-readline
配置環(huán)境變量:NODE_PATH
- C:\Users\Administrator\AppData\Roaming\npm\node_modules
5.安裝串口驅(qū)動程序
雙擊 ch341ser.exe,再點(diǎn)擊install按鈕.安裝失敗.
換成官方教程上面的地址,下載后再安裝(CH341SER\setup.exe),成功了.
6.安裝visual studio code 插件:devicetool-device插件
解壓下載好的devicetool-device-1.0.0.x.zip(x,x是數(shù)字)]
在visual studio code 的左側(cè)大圖標(biāo)菜單的最下面,有一個extentions
選中后,在左側(cè)列表窗口的右上角有三個小點(diǎn)"...",點(diǎn)擊
再在彈出菜單上選擇 install from vsix
選中解壓好的文件,就可以安裝插件了
裝完后,會在左側(cè)大圖標(biāo)菜單下多出一個deveco device tool的圖標(biāo)
安裝完成
7.安裝visual studio code 插件:c/c++插件
直接在extentions的搜索面板上搜索c++
找到c/c++插件,點(diǎn)擊install
8.當(dāng)彈出是否允許java/visual studio code/python等程序訪問網(wǎng)絡(luò)的時候
勾選上復(fù)選框(兩個都選上),點(diǎn)允許訪問
9.導(dǎo)入工程
在deveco device tool的主界面上,選擇import project,導(dǎo)入工程
選中之前在ubuntu中的文件夾所映射的盤符,找到openharmony這個文件夾,導(dǎo)入
10.在visual studio code中連接到ubuntu
打開terminal面板,鍵入
- ssh username@serverip
- yes
- [password]
11.在visual studio code中遠(yuǎn)程執(zhí)行編譯指令
- cd ~/openharmony
- python build.py wifiiot
注:在這兒不需要使用 python build.py ./wifiiot,即不需要加./
12.連接設(shè)備
在windows中打開運(yùn)行[win+r]
打開計算機(jī)管理工具,輸入:
- compmgmt.msc
選擇[計算機(jī)管理(本地)-->系統(tǒng)工具-->設(shè)備管理器,左側(cè)樹]-->[計算機(jī)名稱-->端口(COM和LPT),右側(cè)面板上]-->開發(fā)板端口[USB-SERIAL CH340(COM3),可能是其他的COM(X,X是數(shù)字)]
暫時把上面的數(shù)字記在魚的腦子里面七秒
趕緊打開visual studio code,在deveco device tool 里面找到configure
在里面找到hi3861,在打開的configure頁面中可以配置相關(guān)參數(shù)
選擇burn(燒錄)-->在serial port中填入下表參數(shù)
名稱
設(shè)置遠(yuǎn)程權(quán)限,打開powershell,輸入下面命令后,選擇A
- set-ExecutionPolicy RemoteSigned
在插件最下面,有一個build,burn的選項(xiàng)卡(在插件的device tasks,里面有一個burn[openharmony-->basic process-->burn],也行)
這時候在插件最上面,會讓用戶選擇端口號,跟魚的腦子把剛才保存的端口號X拿過來,選擇COM[X]端口
這時候在插件的terminal窗口中會提示:
- please reset board...
這時候就要點(diǎn)一下開發(fā)板上的重啟按鈕,才會繼續(xù)燒錄,盯著terminal,無問題的話,會等到這個提示(有問題,請到各大鴻蒙社區(qū)發(fā)帖求助)
- finish flash!
13.連接燒錄完程序的開發(fā)板,使用ipop
打開ipop
選擇終端工具
新建連接,連接配置[connect config]-->類型[type]中選擇剛才的com[x],波特率[baud]選擇[115200]
終端配置[terminal config],勾選新行[newline]
確定即連上,上面會顯示一些信息(知識點(diǎn),這叫回顯)[如果沒有(工具上空空如也),則需要重啟開發(fā)板(按一下開發(fā)板上面的重啟按鈕)]
- wifi init success!
(有問題,請到各大鴻蒙社區(qū)發(fā)帖求助)
14.通過ipop輸入命令
啟動sta模式
- AT+STARTSTA
搜索周邊AP,及顯示搜索結(jié)果
- AT+SCAN
- AT+SCANRESULT
連接一個AP并顯示連接結(jié)果,[ssid為wifi熱點(diǎn)名稱 ],[password為wifi密碼]
- AT+CONN="SSID",,2,"PASSWORD"
- AT+STASTAT
請求AP分配一個IP地址并查看地址,并PING
- AT+DHCP=wlan0,1
- AT+IFCFG
- AT+PING=192.168.1.123
(有問題,請到各大鴻蒙社區(qū)發(fā)帖求助)
15.其他
燒錄
文章的相關(guān)附件可以點(diǎn)擊下面的原文鏈接前往學(xué)習(xí)
原文鏈接:https://harmonyos.51cto.com/#zz
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz