#2020征文#-大家一起学鸿蒙OS(HarmonyOS)设备开发 笔记 原创 精华
大家一起学鸿蒙OS(HarmonyOS)设备开发 笔记 by javaaier
资源
软件
# | 名称 | 地址 |
1 | VirtualBox-6.1.16-140961-Win.exe | https://www.virtualbox.org/wiki/Downloads |
2 | ubuntu-20.04.1-desktop-amd64.iso | http://releases.ubuntu.com/20.04/ |
3 | putty-64bit-0.74-installer.msi | https://www.chiark.greenend.org.uk/~sgtatham/putty/ |
4 | Visual Studio Code | VSCodeUserSetup-x64-1.52.1.exe cdn下载 VSCode官网下载缓慢或下载失败的解决办法 |
5 | node.js | node.js官网 |
6 | jdk | jdk8官网 |
7 | ch341ser串口驱动程序 |
相关地址
● 课程地址:大家一起学鸿蒙OS(HarmonyOS)设备开发
● 关联文章: 在CentOS中安装鸿蒙LiteOS编译环境-海思Hi3861
● 华为设备开发指南:WLAN模组基于Hi3861平台
● Hi3861搭建环境: Hi3861搭建环境
● 仓库地址: openharmony
● openharmony manifest 地址: openharmony manifest
操作步骤
安装virtualbox 略
安装ubuntu 略
安装visual studio code略
配置ubuntu
1.查看或更新当前ubuntu环境
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 的区别
2.gcc
sudo apt-get install gcc make perl --fix-missing
3.安装增强功能:配置窗口大小自动
安装完后重启
4.设置网络:桥接模式
ip addr
ifconfig
5.ssh服务检查、安装及连接
systemctl status sshd
sudo apt-get install ssh
putty连接:
6.安装vim
sudo apt install vim
7.安装及设置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用户(需要有系统用户,即创建名称跟当前登录的用户一致即:没毛病.如果非要与当前登录用户名不一致,见后面一段引用进行操作)
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.
# 解决办法:
# 这是因为没有加相应的系统账号,所以会提示Failed to add entry for user的错误,只需增加相应的系统账号share(用户名)就可以了:
sudo groupadd shareuser001 -g 6000
sudo useradd shareuser001 -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
# 再执行创建samba用户即正常
sudo smbpasswd -a shareuser001
windows 访问
\\ubuntu-server-ip-address\home
windows 映射共享文件夹为网络驱动器
8.其他
Hi3861编译环境搭建
1.检查环境是不是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路径去掉,重新配置,最好是将官方的语句按我这样拆开执行,不然很可能会报错而终止执行.
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.安装编译环境
名称 | 版本及地址 |
gn | gn.1523.tar |
ninja | ninja.1.9.0.tar |
gcc_riscv32 | gcc_riscv32-linux-7.3.0.tar.gz |
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.设置环境变量
vim ~/.bashrc
source ~/.bashrc
#验证
gn
ninja
riscv32-unknown-elf-gcc -v
export PATH=~/gn:~/ninja:~/gcc_riscv32/bin:$PATH
5.其他
6.
7.
8.
源代码获取编译
仓库地址: 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文件内容
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环境
设置国内淘宝镜像源
npm config set registry https://registry.npm.taobao.org
下载鸿蒙组件管理器
npm install -g @ohos/hpm-cli
下载windows编译工具(管理员模式的powershell下执行)
npm install -g windows-build-tools
安装tftp
npm install -g tftp
安装串口工具
npm install -g serialport
npm install -g @serialport/parser-readline
配置环境变量:NODE_PATH
C:\Users\Administrator\AppData\Roaming\npm\node_modules
5.安装串口驱动程序
双击 ch341ser.exe,再点击install按钮.安装失败.
换成官方教程上面的地址,下载后再安装(CH341SER\setup.exe),成功了.
6.安装visual studio code 插件:devicetool-device插件
解压下载好的devicetool-device-1.0.0.x.zip(x,x是数字)]
在visual studio code 的左侧大图标菜单的最下面,有一个extentions
选中后,在左侧列表窗口的右上角有三个小点"...",点击
再在弹出菜单上选择 install from vsix
选中解压好的文件,就可以安装插件了
装完后,会在左侧大图标菜单下多出一个deveco device tool的图标
安装完成
7.安装visual studio code 插件:c/c++插件
直接在extentions的搜索面板上搜索c++
找到c/c++插件,点击install
8.当弹出是否允许java/visual studio code/python等程序访问网络的时候
勾选上复选框(两个都选上),点允许访问
9.导入工程
在deveco device tool的主界面上,选择import project,导入工程
选中之前在ubuntu中的文件夹所映射的盘符,找到openharmony这个文件夹,导入
10.在visual studio code中连接到ubuntu
打开terminal面板,键入
ssh username@serverip
yes
[password]
11.在visual studio code中远程执行编译指令
cd ~/openharmony
python build.py wifiiot
注:在这儿不需要使用 python build.py ./wifiiot,即不需要加./
12.连接设备
在windows中打开运行[win+r]
打开计算机管理工具,输入:
compmgmt.msc
选择[计算机管理(本地)-->系统工具-->设备管理器,左侧树]-->[计算机名称-->端口(COM和LPT),右侧面板上]-->开发板端口[USB-SERIAL CH340(COM3),可能是其他的COM(X,X是数字)]
暂时把上面的数字记在鱼的脑子里面七秒
赶紧打开visual studio code,在deveco device tool 里面找到configure
在里面找到hi3861,在打开的configure页面中可以配置相关参数
选择burn(烧录)-->在serial port中填入下表参数
名称
序号 | 名称 | 值baud rate |
1 | baud rate | 921600 |
2 | data bit | 8 |
3 | burn files-->file name | out\wifiiot\Hi3861_wifiiot_app_allinone.bin |
4 | burn files-->mode | Hiburn |
设置远程权限,打开powershell,输入下面命令后,选择A
set-ExecutionPolicy RemoteSigned
在插件最下面,有一个build,burn的选项卡(在插件的device tasks,里面有一个burn[openharmony-->basic process-->burn],也行)
这时候在插件最上面,会让用户选择端口号,跟鱼的脑子把刚才保存的端口号X拿过来,选择COM[X]端口
这时候在插件的terminal窗口中会提示:
please reset board...
这时候就要点一下开发板上的重启按钮,才会继续烧录,盯着terminal,无问题的话,会等到这个提示(有问题,请到各大鸿蒙社区发帖求助)
finish flash!
13.连接烧录完程序的开发板,使用ipop
打开ipop
选择终端工具
新建连接,连接配置[connect config]-->类型[type]中选择刚才的com[x],波特率[baud]选择[115200]
终端配置[terminal config],勾选新行[newline]
确定即连上,上面会显示一些信息(知识点,这叫回显)[如果没有(工具上空空如也),则需要重启开发板(按一下开发板上面的重启按钮)]
wifi init success!
(有问题,请到各大鸿蒙社区发帖求助)
14.通过ipop输入命令
启动sta模式
AT+STARTSTA
搜索周边AP,及显示搜索结果
AT+SCAN
AT+SCANRESULT
连接一个AP并显示连接结果,[ssid为wifi热点名称 ],[password为wifi密码]
AT+CONN="SSID",,2,"PASSWORD"
AT+STASTAT
请求AP分配一个IP地址并查看地址,并PING
AT+DHCP=wlan0,1
AT+IFCFG
AT+PING=192.168.1.123
(有问题,请到各大鸿蒙社区发帖求助)
15.其他
烧录
首贴沙发~~~
附件挺不错的
附件好评😎
虽然不是MD,但这里还是可以暂时插代码的。
前来围观微信群最活跃群员的帖子,说实话,你活跃得像个全职员工。[狗头]
优秀~
收到,谢谢提醒,下次试一试.
每个微信群加起来也就百几十条消息,很快就看完了的,无妨无妨.等鸿蒙普及了,我就不能看全了.谢谢大佬关注.
这么好帖,不顶可惜了!!