首先吐槽下,相比起arduino、ESP8266这些计划,鸿蒙的WIFI_IOT开发板环境搭建几乎是天堂难度….最坑爹的是Windows平台不能用HPM编译,Linux环境下能够编译但不能烧写(如果是依照官网的环境搭建手册是能够搭建基于HB命令的windows编译烧写环境的,然而因为我的能干,harmonyos-ssd1306这个库没法编译)而依据官网的linux编译虚拟机+windows烧写实体机的形式又因为无奈在vmware的共享目录上做动静链接…而且要编译还要先跑虚拟机…于是我想起了win10的wls,以下为踩坑全流程
0. Win10零碎装置Visual Studio Code
这个不必教了吧
1. 筹备Ubuntu子系统编译环境
举荐应用LxRunOffline工具装置,能够装置在其它磁盘,不必挤占贵重的C盘空间
LxRunOffline下载:https://github.com/DDoSolitar…
倡议用msvc编译版本:LxRunOffline-v3.5.0-msvc.zip
下载解压之后间接运行LxRunOffline.exe即可
先启用Linux子系统性能
如果曾经应用过WLS的,能够掠过此步
如果你没有应用过 WSL ,首先以管理员身份运行 PowerShell (WIN+X , A),输出上面的命令开启 “实用于 Linux 的 Windows 子系统” 性能,并重启。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
装置Ubuntu20
下载官网的Linux子系统安装包:https://docs.microsoft.com/en… 下载后的文件改后缀名为.zip,解压后可失去名为 install.tar.gz 的文件 如果不想用微软官网的能够看下LxRunOffline的wiki,有大佬编译的离线包:https://github.com/DDoSolitar…
倡议抉择Ubuntu20.04版本,自带python3.8
装置命令:
lxrunoffline i -n <WSL名称> -d <装置门路> -f <安装包门路>.tar.gz
例如:
D:\Soft\System\LxRunOffline-v3.5.0-msvc\LxRunOffline.exe i -n Ubuntu20.04_harmony -d D:\Files\Resources\wls\Ubuntu20.04_harmony -f D:\Soft\System\零碎镜像\Ubuntu_2004.2020.424.0_x64\install.tar.gz -s
运行WLS
能够通过命令行启动
LxRunOffline.exe sd -n Ubuntu20.04_harmony
也能够运行桌面的快捷方式启动(装置WLS的时候会创立)
把WLS集成到VSCode终端
在LxRunOffline.exe同级目录下新建一个wls.bat文件,文件内容:
@echo off
LxRunOffline.exe run -w -n "Ubuntu20.04_harmony"
点击文件->首选项->设置 关上vscode的设置菜单,搜寻terminal.integrated.shell.windows
点击在settings.json中编辑,把terminal.integrated.shell.windows的值改成下面的wls.bat的门路:
重启vscode后,按alt+`快捷键呼出终端,此时能够看到呼出的终端已
更换apt源
备份
cp /etc/apt/sources.list /etc/apt/sources.list.old
编辑/etc/apt/sources.list文件
vi /etc/apt/sources.list
把内容删掉,改成上面的:
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security multiverse
保留退出后,更新apt源:
apt update
apt upgrade
更换默认shell为bash
sudo dpkg-reconfigure dash
执行后会显示一个正告
选NO即会把默认shell替换为bash,执行胜利后,应用命令ls -l /bin/sh
查看是否设置胜利,如下图所示则已配置胜利
装置Ubuntu编译环境
装置Python
ubuntu20版本已自带3.8+版本的python不须要另行装置了
上面来配置Python:
#装置pip工具
apt install python3-setuptools python3-pip -y
#GUI menuconfig工具:
pip3 install kconfiglib
pip3 install pycryptodome
pip3 install launchpadlib==1.10.13
pip3 install six --upgrade --ignore-installed six
pip3 install ecdsa
装置scons
apt install scons -y
scons -v #查看
装置Node.js
到node官网下载lts、64位的Linux二进制包https://nodejs.org/zh-cn/down…
wget https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz
mkdir -p /usr/local/lib/nodejs/
tar -xvf node-v14.17.0-linux-x64.tar.xz -C /usr/local/lib/nodejs/
echo "export PATH=/usr/local/lib/nodejs/node-v14.17.0-linux-x64/bin/:\$PATH" >> /etc/profile
resource /etc/profile
验证装置:
node -v
npm -v
装置hpm工具
先把npm改为国内源,下包快点
npm config set registry https://repo.huaweicloud.com/repository/npm/
装置hpm工具
npm install -g @ohos/hpm-cli
验证装置
hpm -V
依据官网文档顺次装置编译工具链
https://device.harmonyos.com/…
先建设编译工具链的寄存目录:
mkdir -p /opt/openharmony/toolchain
装置gn
wget https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz
mkdir /opt/openharmony/toolchain/gn
tar -zxvf gn-linux-x86-1717.tar.gz -C /opt/openharmony/toolchain/gn
echo "export PATH=/opt/openharmony/toolchain/gn/:\$PATH" >> /etc/profile
resource /etc/profile
装置ninja
wget https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
tar -xvf ninja.1.9.0.tar -C /opt/openharmony/toolchain/
echo "export PATH=/opt/openharmony/toolchain/ninja/:\$PATH" >> /etc/profile
source /etc/profile
装置riscv32-gcc
不倡议本人编译!不倡议本人编译!不倡议本人编译!工夫就是生命,我的敌人!
须要自行编译的,倡议看官网文档的教程,此处应用官网预编译的二进制包
wget https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C /opt/openharmony/toolchain/
echo "export PATH=/opt/openharmony/toolchain/gcc_riscv32/bin/:\$PATH" >> /etc/profile
source /etc/profile
# 验证装置
riscv32-unknown-elf-gcc -v
装置lvvm
wget https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar
tar -xvf llvm-linux-9.0.0-36191.tar -C /opt/openharmony/toolchain/
echo "export PATH=/opt/openharmony/toolchain/llvm/bin/:\$PATH" >> /etc/profile
source /etc/profile
装置Windows开发环境
装置Python
到python官网下载3.8.10的msi安装包进行装置,留神,如果零碎有其它的Python版本,强烈建议先卸载其它版本的python,再装置3.8,python版本不对或者多版本并存都可能影响下一步装置HUAWEI DevEco Device Tool
装置
到官网下载安装包
https://device.harmonyos.com/…
彻底敞开vscode后,运行安装包进行装置
装置胜利后,关上vscode会看到DevEco Device Tool插件的图标:
装置USB转串口驱动
懒得写了,看官网文档吧….
https://device.harmonyos.com/…
HelloWorld
好了,终于到了令人激动的HelloWorld工夫了
下载初始源码
关上wls终端,进入咱们的工程目录(windows下的各个盘符都挂在WLS的/mnt/<盘符>门路下)
cd /mnt/e/Projects_Act/harmonyos
# 创立源码目录
mkdir wifi_iot && cd wifi_iot
初始化源码仓库
hpm init -t dist
应用wifi_iot发行版作为工程模板
hpm install @ohos/wifi_iot
新建工程
点击DevEco图标,再主页抉择关上工程
关上方才咱们创立的wifi_iot目录
芯片抉择Hi3861,源码起源选hpm
而后点击open关上工程
如果步骤正确的话,曾经能够看到源码构造了
尝试编译
在开始码你充斥创意的代码之前,先试试编译是否失常吧,还是在WLS的终端中,执行命令进行编译
hpm dist
好吧,报错了…找不到python,如下解决:
# 看看是不是的确没有python命令
python -V
# 果然没有
# 看看python3的装置门路
which python3
# 显示:/usr/bin/python3
# 建设python链接
ln /usr/bin/python3 /usr/bin/python
再次编译,当呈现BUILD SUCCESS就编译胜利了
尝试烧录
先接上开发板,而后点击DevEco的工程选项卡,切换到hi3861选项卡,找到Upload option,upload_port抉择开发板的COM端口,upload_protocol抉择burn-serial
点击save按钮保留设置,而后开展PROJECT TASKS,点击Upload
呈现提醒后,点击开发板的rest按钮从新上电,而后期待烧录实现
显示successful就示意烧录实现了
测试一下烧录的代码,点击PROJECT TASKS里的Monitor,显示串口监听胜利后,点击开发板rest按钮
开发板从新上电后,终端显示如下内容则示意wifi_iot零碎失常启动了
以下是WLAN组网指令,能够玩一下
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地址
查看WLAN模组与网关联通是否失常,如下图所示。
AT+IFCFG # 查看模组接口IP
AT+PING=X.X.X.X # 查看模组与网关的联通性,其中X.X.X.X需替换为理论的网关地址
好了,至此整个开发环境就算搭建好了,总体来说就是再Windows下用vscode开发,开发实现之后,再WLS终端应用hpm dist命令编译,编译后应用DevEco烧写,不必折腾Linux编译环境也能够欢快的应用HPM了~
发表回复