腾讯云服务器安装搭建鸿蒙Hi3861开发板的开发环境

前言
此网文撰写耗时两天,成本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.nameyourname gitconfig--globaluser.emailyour-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~/.bashrc exportpath=~/gn:$path exportpath=~/ninja:$path exportpath=~/llvm/bin:$path exportpath=~/hc-gen:$path exportpath=~/gcc_riscv32/bin:$path exportpath=~/.local/bin:$path eof #生效环境变量 source~/.bashrc
准备 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~/.bashrc source~/harmonyos/venv/bin/activate eof #生效环境变量 source~/.bashrc
编译源码
编译 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代码前先启动一下虚拟机了,大家感兴趣的可以玩玩哈。

原文标题:干货!腾讯云服务器搭建鸿蒙hi3861开发板开发环境
文章出处:【微信公众号:嵌入式arm】欢迎添加关注!文章转载请注明出处。

专家支招:电路板保护“软封装”
iOS10.3会不会卡?多台iPhone速度实测看不出啥优势
触摸屏结合PLC在变频节能系统中的应用
冷却电动汽车电池新技术助力提高能量密度
来酷携手联想共同为职场效率再添新动能
腾讯云服务器安装搭建鸿蒙Hi3861开发板的开发环境
真空低温环境微位移测量方案无惧极端环境
一名工程师的成长经历
深度解读大数据的应用现状和开源未来
Molex推出全新对板连接器 为各种紧凑型应用场合提供设计灵活性
这个提质神器,被研祥金码科技团队研发出来了
利尔达芯智行:破解两轮出行行业智能化难题
国内PMU市场面临新挑战
利用控制回路优化工具简化电源转换器设计
iPod搅动NAND闪存市场 苹果买三星40%产量
Splashtop 推出一款全新的远程访问解决方案
何时使用NSF到PST转换工具?
华为麒麟990AI跑分竟是高通骁龙855Plus两倍多?
消费级SSD需求增长率在2023年将会下滑
索尼电视辉煌背后:不追风口,保持核心竞争力