0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

Q4MP_gh_c472c21 来源:嵌入式ARM 作者:嵌入式ARM 2020-12-06 09:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

此网文撰写耗时两天,成本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.name"yourname" gitconfig--globaluser.email"your-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代码前先启动一下虚拟机了,大家感兴趣的可以玩玩哈。

责任编辑:xj

原文标题:干货!腾讯云服务器搭建鸿蒙Hi3861开发板开发环境

文章出处:【微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    13

    文章

    10108

    浏览量

    90970
  • 开发板
    +关注

    关注

    25

    文章

    6144

    浏览量

    113842
  • 腾讯云
    +关注

    关注

    0

    文章

    224

    浏览量

    17386
  • 鸿蒙
    +关注

    关注

    60

    文章

    2865

    浏览量

    45397
  • Hi3861
    +关注

    关注

    1

    文章

    64

    浏览量

    7527

原文标题:干货!腾讯云服务器搭建鸿蒙Hi3861开发板开发环境

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【项目实战】基于Hi3861鸿蒙智能小车(循迹、超声波避障、远程控制、语音控制、4G定位)有教程代码

    入门鸿蒙物联网找不到“落地”项目——要么功能简单练不到核心,要么资料零散易半途而废。本次【项目实战】聚焦基于Hi3861鸿蒙智能小车,整合了循迹、超声波避障、远程控制、语音交互和4G定位等功能
    的头像 发表于 09-10 17:13 993次阅读
    【项目实战】基于<b class='flag-5'>Hi3861</b>的<b class='flag-5'>鸿蒙</b>智能小车(循迹、超声波避障、远程控制、语音控制、4G定位)有教程代码

    【汇思博SEEK100开发板试用体验】在开发板鸿蒙OS搭建QT开发环境

    应用所需的功能逻辑。比如与开发板的硬件功能进行交互,若要调用开发板的摄像头功能,可通过相关的 Qt 多媒体库结合鸿蒙系统提供的摄像头接口进行开发。在 HarmonyOS
    发表于 08-24 18:34

    【HZ-T536开发板免费体验】5- 无需死记 Linux 命令!用 CangjieMagic 在 HZ-T536 开发板搭建 MCP 服务器,自然语言轻松控

    192.168.1.100”)。 三、实战开发:在 HZ-T536 上搭建 MCP 服务器 1. 搭建开发
    发表于 08-23 13:10

    【HZ-RK3568开发板免费体验】合众HZ-RK3568开发环境搭建

    目录下有test文件,如果这个文件和服务器中的test文件内容一模一样,表明服务器搭建成功 (6)开发板测试 开发板下载测试 #tftp
    发表于 07-15 23:13

    【Banana Pi BPI-RV2开发板试用体验】开发环境搭建

    参考 https://docs.banana-pi.org/zh/BPI-RV2/BananaPi_BPI-RV2 前言 本文分享开发板基本的ssh登录,文件传输,c开发环境搭建。 上
    发表于 06-25 16:07

    迅为RK3576开发板NPUrknn-toolkit2环境搭建和使用docker环境安装

    迅为RK3576开发板NPUrknn-toolkit2环境搭建和使用docker环境安装
    的头像 发表于 06-18 15:22 989次阅读
    迅为RK3576<b class='flag-5'>开发板</b>NPUrknn-toolkit2<b class='flag-5'>环境</b><b class='flag-5'>搭建</b>和使用docker<b class='flag-5'>环境</b><b class='flag-5'>安装</b>

    【米尔-全志T536开发板试用体验】- 开发环境搭建与测试

    如下: 从测试看,计算1000位圆周率只需要 1.4秒,这个性能在这个价位的处理上,性价比也是相当的高了。 总结 通过安装开发板的通用交叉编译工具,并测试编译环境和编译性能测试
    发表于 06-10 10:35

    HarmonyOS5服务技术分享--ArkTS开发Node环境

    气的方式探索这个功能,结尾还有实用总结和鼓励彩蛋哦~✨ ? 一、HarmonyOS函数开发:核心能力与价值 HarmonyOS的函数(Serverless)为开发者提供了​​无
    发表于 05-22 17:21

    润和的Hi3861开发版如何连接华为

    刚入手了一套润和的Hi3861开发套件,下载的是3.2Release版本的源码,想连接华为但是润和那边的代码仓中没有相关的demo,,求大佬指点
    发表于 04-11 20:32

    润和的Hi3861开发板如何连接华为

    刚入手了一套润和的Hi3861开发套件,想连接华为但是润和那边的代码仓中没有相关的demo,求大佬指点
    发表于 04-11 20:30

    雷卯收集终端开发板

    收集终端开发板明细如下: 如下是终端开发板介绍: 终端是一种依托于计算技术的终端设备,它
    的头像 发表于 04-02 11:15 420次阅读
    雷卯收集<b class='flag-5'>云</b>终端<b class='flag-5'>开发板</b>

    Flexus 服务器 X 实例实践:安装 Dashdot 开源服务器仪表

    引言 在当今计算的浪潮下,华为凭借其卓越的技术实力,成为众多企业和开发者的信赖之选。华为 Flexus
    的头像 发表于 01-13 15:51 968次阅读
    Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X 实例实践:<b class='flag-5'>安装</b> Dashdot 开源<b class='flag-5'>服务器</b>仪表<b class='flag-5'>板</b>

    Flexus 服务器 X:Python 安装的极致便捷之旅

    配置和环境设置方面,可能会遇到各种挑战。为了帮助开发者更高效地使用 Flexus 服务器 X,本文将详细介绍如何在 Flexus
    的头像 发表于 01-07 17:00 558次阅读
    Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X:Python <b class='flag-5'>安装</b>的极致便捷之旅

    Flexus 服务器 X 实例:在 Docker 环境搭建 java 开发环境

    开发者精心打造。它以卓越的柔性算力,为我们在 Docker 环境搭建 java 开发环境提供有力支撑。 一、Flexus
    的头像 发表于 12-30 09:07 893次阅读
    Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X 实例:在 Docker <b class='flag-5'>环境</b>下<b class='flag-5'>搭建</b> java <b class='flag-5'>开发</b><b class='flag-5'>环境</b>

    基于华为 Flexus 服务器 X 实例搭建 Linux 学习环境

    不仅提供了强大的计算资源,还拥有灵活的扩展能力和稳定的运行表现,为用户提供了可靠的技术支撑。特别是对于那些希望快速搭建 Linux 学习环境的用户来说,华为 Flexus
    的头像 发表于 12-25 17:10 919次阅读
    基于华为<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X 实例<b class='flag-5'>搭建</b> Linux 学习<b class='flag-5'>环境</b>