https://harmonyos.51cto.com/#zz
大家一起学鸿蒙OS(HarmonyOS)设备开发 笔记 by javaaier
资源
软件
相关地址
● 课程地址:大家一起学鸿蒙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.安装编译环境
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.其他
源代码获取编译
仓库地址: 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中填入下表参数
名称
设置远程权限,打开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.其他
烧录
文章的相关附件可以点击下面的原文链接前往学习
原文链接:https://harmonyos.51cto.com/#zz
https://harmonyos.51cto.com/#zz