NiobeU4是基于ESP32U4WDH推出的物联网设备开发套件,集成2.4GHz
Wifi和蓝牙双模,具有超高的射频性能、稳定性、通用性和可靠性,以及超低的功耗,适用于各种应用场景;NiobeU4开发套件还支持NFC非接触式通讯功能,工作频率13.56MHz,适用于低功耗、低电压和低成本要求的非接触读写器应用;NiobeU4开发套件还支持锂电池供电和充放电管理;开发套件提供一个开箱即用的智能硬件解决方案,方便开发者验证和开发自己的软件和功能,缩短产品研发周期并快速推向市场。
官方推荐的Ubuntu版本是20.04以上,我这里直接在官网下载最新的Ubuntu22.04进行安装。
安装过程比较简单,就不在这里描述了,不清楚可以自己百度。
这部分跟着官方文档做基本上没有什么问题,其中有些地方确实是有坑的,会在下面用粗斜体标注。
所以,如下大部分都来自官方文档,地址:https://gitee.com/fangye945a/device_board_openvalley/blob/master/niobeu4/README_zh.md
1.安装依赖工具和库
sudo apt install ccache
sudo apt install git git-lfs
git config --global user.email "xxx"
git config --global user.name "xxx"
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
这个地方要注意,可能Ubuntu20.04默认Python版本为3.8,但是Ubun22.04默认版本为3.10,所以这里的3.8需要改成3.10。
改完应该是:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
pip3 install --trusted-host mirrors.aliyun.com -i http://mirrors.aliyun.com/pypi/simple jinja2 ohos-build==0.4.6 esptool
gedit ~/.bashrc #打开环境配置文件
export PATH=$PATH:~/.local/bin #添加该语句至文件末尾,保存退出
source ~/.bashrc #使环境配置文件生效
2.安装repo工具
如果已经安装并拉取过OpenHarmony代码,请忽略该步骤。
如果是通过apt install安装的repo,请卸载后按照下述步骤重新安装。
sudo apt install curl -y
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > repo
chmod a+x repo
sudo mv repo /usr/local/bin/
3.安装交叉编译工具链
新建一个目录,用来存放下载的编译工具链。
mkdir -p ~/download && cd ~/download
下载交叉编译工具链压缩包。
wget https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz
将交叉编译工具添加至环境变量。
sudo tar axvf xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz -C /opt/
gedit ~/.bashrc
export PATH=$PATH:/opt/xtensa-esp32-elf/bin
source ~/.bashrc
4.获取源码
mkdir niobeu4_src && cd niobeu4_src
repo init -u https://gitee.com/fangye945a/niobeu4_trial.git -m devboard_niobeu4.xml
repo sync -c
repo forall -c 'git lfs pull'
repo start master --all
构建项目之前,需要对Python3.10的一个相关的文件手动做修改,不然执行hb set命令会报错,Python3.8版本没有此问题。
文件目录:
~/.local/lib/python3.10/site-packages/prompt_toolkit/styles/from_dict.py
以上更改完成后就可以使用hb set命令选择项目,使用hb
build -f进行编译了。
进入源码根目录,执行hb set
命令并选择openvalley下项目iotlink
。
hb set
执行hb build -f
脚本构建产生固件。
hb build -f
构建成功会提示类似如下信息。
[OHOS INFO] iotlink build success
[OHOS INFO] cost time: 0:00:28
我这边执行完 hb build -f后如下:
官方提供了在Windows下使用Flash_Download_Tool
工具进行下载的方法。
因为我这边是Linux的实体机,不可能切到Windows去下载。
Linux下需要使用命令行工具esptool.py进行程序下载。
安装方法:
1.下载esptool.py
源码
git clone https://github.com/espressif/esptool.git
2.目录导入到环境变量
将export PATH=/home/xinmeng/esp/esptool:$PATH
添加到/etc/profile
文件结尾
其中xinmeng/esp
需要根据自己放的目录进行调整
执行source /etc/profile
立即生效
安装完成后可以通过esptool.py version
查看版本号
安装完成后,理论上来说就可以进行下载了,但是很遗憾,下载会出现个问题,找不到usb设备。因为默认Ubuntu22.04并没有预装CH9102驱动,所以还需要手动安装该驱动。
CH9102和CH343是同一个驱动并且不能使用CH341的驱动,在网上根本找不到CH343的驱动,当然CH9102的驱动更加找不到,包括WCH官网也找不到,即使找到了可能也无法安装。
这个时候,只有一个办法,打电话给WCH技术支持,很快就加上了他们工程师的微信,立马发了一个beta版本的CH343的驱动给我,完美安装,并且能被Ubuntu正确识别到。
驱动我就直接上传在这里,需要的可以自取,安装方法请参考里面的readme文档。
*附件:ch343ser_linux_withgpio_20220909Beata.zip
现在就可以使用esptool进行下载了,下载之前需要给ttyCH343USB0增加权限,不然会提示没有权限。
sudo chmod 777 /dev/ttyCH343USB0
下载完成后如图:
关于esptool.py详细的使用方法可以参考这篇文章:
https://blog.csdn.net/espressif/article/details/105028809
在此次开发环境搭建的过程中遇到了很多的问题,非常感谢开鸿智谷的技术人员给予非常专业的技术支持。再次感谢。
全部0条评论
快来发表一下你的评论吧 !