社区编辑申请
注册/登录
大家一起学鸿蒙OS(HarmonyOS)设备开发笔记
开发 OpenHarmony
文章由鸿蒙社区产出,想要了解更多内容请前往:51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/#zz

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

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环境

  1. sudo apt update 
  2. sudo apt list --upgradable 

 更新全部(慎用)

  1. sudo apt update && sudo apt -y upgrade 

更新一个,如docker

  1. sudo apt upgrade docker-engine=1.13.1-0~ubuntu-xenial 

参考:Ubuntu 中apt update和upgrade 的区别

2.gcc

  1. sudo apt-get install gcc make perl --fix-missing 

3.安装增强功能:配置窗口大小自动

安装完后重启

4.设置网络:桥接模式

  1. ip addr 
  2. ifconfig 

 5.ssh服务检查、安装及连接

  1. systemctl  status  sshd 
  2. sudo apt-get install ssh 

 putty连接:

6.安装vim

  1. sudo apt install vim 

7.安装及设置samba

  1. systemctl status samba 
  2.  sudo apt-get install samba 

  1. sudo vim /etc/samba/smb.conf 

在文件最后添加

  1. [home] 
  2.     comment = HarmonyOS Work 
  3.     path = /home 
  4.     browseable = yes  
  5.     read only = no  
  6.     writable = yes  
  7.     guest ok = no  
  8.     create mask = 0755 
  9.   

 重启 samba

  1. systemctl status smbd 
  2. sudo systemctl restart smbd 

 添加samba用户(需要有系统用户,即创建名称跟当前登录的用户一致即:没毛病.如果非要与当前登录用户名不一致,见后面一段引用进行操作)

  1. sudo smbpasswd -a javaaier 

增加samba用户提示Failed to add entry for user

  1. # 错误的原因及解决 
  2. # 增加samba用户提示Failed to add entry for user 
  3. sudo smbpasswd -a shareuser001 
  4. New SMB password
  5. Retype new SMB password
  6. Failed to add entry for user shareuser001. 
  7. ​ 
  8. # 解决办法: 
  9. # 这是因为没有加相应的系统账号,所以会提示Failed to add entry for user的错误,只需增加相应的系统账号share(用户名)就可以了: 
  10. sudo groupadd shareuser001 -g 6000 
  11. sudo useradd shareuser001  -u 6000 -g 6000 -s /sbin/nologin -d /dev/null 
  12. ​ 
  13. # 再执行创建samba用户即正常 
  14. sudo smbpasswd -a shareuser001 

Windows 访问

  1. \\ubuntu-server-ip-address\home 

windows 映射共享文件夹为网络驱动器

8.其他

Hi3861编译环境搭建

1.检查环境是不是bash

  1. ls -l /bin/sh 
  2. sudo dpkg-reconfigure dash 
  3. ls -l /bin/sh 

 2.安装及配置python

  1. python --version 
  2. python3 --version 
  3. which python3.8 

 得到python3.8的路径为:"/usr/bin/python3.8",将原来的python路径去掉,重新配置,最好是将官方的语句按我这样拆开执行,不然很可能会报错而终止执行.

  1. cd /usr/bin  
  2. sudo rm python  
  3. sudo rm python3  
  4. sudo ln -s /usr/bin/python3.8 python && sudo ln -s /usr/bin/python3.8 python3 && python3 --version && python --version 

 升级python包管理工具 pip3

  1. sudo apt-get install python3-setuptools python3-pip -y 
  2. sudo pip3 install --upgrade pip 

 安装setuptools & kconfiglib & pycryptodome & six & ecdsa

  1. pip3 install setuptools 
  2. sudo pip3 install kconfiglib 
  3. sudo pip3 install pycryptodome # 太卡,用下面这句,一秒解决 
  4. sudo pip3 install -i https://pypi.douban.com/simple pycryptodome  
  5. sudo pip3 install -i https://pypi.douban.com/simple six --upgrade --ignore-installed six 
  6. sudo pip3 install -i https://pypi.douban.com/simple ecdsa 

 3.安装SCons

  1. sudo apt-get install scons -y 
  2. scons -v 

 4.安装编译环境

1.gn

下载gn,上传到ubuntu的home目录下,并解压

  1. cd ~ 
  2. tar xvf gn.1523.tar -C ~/ 

 2.ninja

  1. tar xvf ninja.1.9.0.tar -C ~/ 

3.gcc_riscv32 

  1. tar xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/ 

4.设置环境变量

  1. vim ~/.bashrc 
  2. source ~/.bashrc 
  3. #验证 
  4. gn 
  5. ninja 
  6. riscv32-unknown-elf-gcc -v 

  1. export PATH=~/gn:~/ninja:~/gcc_riscv32/bin:$PATH 

5.其他

源代码获取编译

仓库地址: openharmony

1.安装git

  1. sudo apt install git 
  2. git config --global user.name "pangu" 
  3. git config --global user.email "pangu@harmonyos.com" 
  4. git config --global credential.helper store 
  5. git config --global --unset http.proxy  

 2.安装git repo 工具

  1. sudo apt install curl 
  2. sudo curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/repo 
  3. sudo chmod a+x ~/repo 
  4. sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests 
  5. vim ~/.bashrc 
  6. source ~/.bashrc 
  7. repo  # 测试 repo配置好了没 

 ​~/.bashrc文件内容

  1. export PATH=~/gn:~/ninja:~/gcc_riscv32/bin:~:$PATH 

3.下载源代码

  1. mkdir openharmony  
  2. cd openharmony 
  3. repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify 
  4. repo sync -c 

 4.编译源代码

  1. python ./build.py wifiiot 

编译完成后放在

  1. out/wifiiot/Hi3861_wifiiot_app_allinone.bin 

5.其他

烧录前的1,2,3

1.打开visual studio code

2.安装nodejs

3.安装jdk,jre

4.配置nodejs环境

设置国内淘宝镜像源

  1. npm config set registry https://registry.npm.taobao.org 

下载鸿蒙组件管理器

  1. npm install -g @ohos/hpm-cli 

下载windows编译工具(管理员模式的powershell下执行)

  1. npm install -g windows-build-tools 

安装tftp

  1. npm install -g tftp 

安装串口工具

  1. npm install -g serialport 
  2. npm install -g @serialport/parser-readline 

 配置环境变量:NODE_PATH

  1. 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

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2020-11-05 10:05:25

App

2022-04-02 20:45:04

Hi3516开发板操作系统鸿蒙

2020-11-09 11:56:49

HarmonyOS

2020-12-01 09:40:15

Harmony

2021-06-24 09:32:00

2021-02-07 12:08:39

鸿蒙HarmonyOS应用开发

2020-12-03 12:06:54

HarmonyOS

2021-01-14 09:50:26

鸿蒙HarmonyOSAPP

2021-03-08 15:00:14

鸿蒙HarmonyOS应用

2020-12-30 09:55:56

鸿蒙HarmonyOS环境搭建

2020-10-12 11:33:00

鸿蒙

2020-12-10 11:23:52

鸿蒙Harmony分布式

2021-01-07 11:24:51

鸿蒙HarmonyOS音乐

2020-09-11 14:36:44

鸿蒙OS华为开源

2021-01-06 15:07:02

HarmonyOS实践应用开发

2020-10-09 12:25:42

鸿蒙

2021-06-01 10:16:26

华为MatePad Pro鸿蒙系统

2020-11-25 11:42:15

HarmonyOS

2020-12-03 10:05:07

鸿蒙OS

2020-11-10 10:00:10

HarmonyOS

同话题下的热门内容

Rust难懂?一文解读其“所有权”和“借用”概念太强了!Python 开发桌面小工具,让代码替我们干重复的工作!K8s需要替代品!你离完全理解 SQL 只差这十步分享六个 Vue3 开发必备的 VSCode 插件程序员如何寻找技术突破、体现技术价值?接口性能优化实战:从20s到500ms,三招搞定六七十岁程序员工资暴涨 就因为这门没啥人学的编程语言

编辑推荐

2017年9月编程语言排行榜:Java、C与C++三巨头还能统治排行榜多久?2017年最受欢迎的5个前端框架比较2017年11月编程语言排行榜:脚本语言怎么了?2017年3月编程语言排行榜:Swift首次进入前十最近租房有点烦!技术人如何用Python找到称心如意的“小窝”?
我收藏的内容
点赞
收藏

51CTO技术栈公众号