本次我们将在Linux环境下使用Huawei DevEco Device Tool (V2.2.0 Beta1版) 对蓝牙键盘模块对应的W800开发板进行编译和烧录。
#1、编译
1. HPM环境搭建
HPM(Harmony Package Manager)即HarmonyOS包管理器,它是华为HarmonyOS推出的组件包管理器,可以方便地从官网获取所需组件,根据需要只下载当前项目用到的组件,使得工程文件更加精简。
我们将在Linux环境下搭建环境并进行编译,选择在Ubuntu下安装工具,并根据开发环境准备进行各软件的下载和配置。关于Ubuntu开发环境准备可参考以下链接,这里我们就不赘述了。
Ubuntu开发环境准备
https://device.harmonyos.com/cn/docs/ide/user-guides/install_ubuntu-0000001072959308
注意:假如某些步骤执行失败,请重启ubuntu再试试。
2. HPM拉取源码
hpm开发环境搭建完毕后,在Ubuntu首先输入:
hpm init -t dist
实现目录初始化,如图:
输入:
hpm i @hihope/neptune_bluetoothkeyboard
下载对应组件及依赖包,如图:
执行完毕,显示“Installed”,表示成功下载, 如图:
最后,执行编译命令
hpm dist
如图:
执行完毕,显示:“build success!”,表示编译成功,如图:
编译生成的img文件,位于out目录,如图:
打开“out/neptune/wifiiot_neptune/"文件夹,可找到“w800.img”文件,其就是生成的固件,如图:
# 2烧录:
1. 获取编译好的固件
同样的,本次烧录我们将在Linux环境下完成。我们将对“out/neptune/wifiiot_neptune/"文件夹中的“w800.img”文件进行固件烧录。同时,我们也为开发者们提供已经编译好的固件,可在以下链接获取:
https://gitee.com/openharmony-sig/vendor_oh_fun/tree/master/hihope_neptune-oh_hid
2. 固件烧录
Linux环境下烧录固件的流程详细步骤如下:
1)将Neptune开发板通过串口连接到虚拟机
将Neptune开发板通过串口连接到电脑的USB口。如图:
在弹出的“检测到新的USB设备”窗口中,选择连接到虚拟机,虚拟机名称选择Ubuntu64位,点击确认。
打开VMware,依次点开:虚拟机->可移动设备->QinHeng USB Serial->在状态栏中显示,查看是否显示,如图:
此时,Neptune开发板已经通过串口成功连接虚拟机。
2)新建Device Tool工程
DevEco Device Tool以插件形式部署在Visual Studio Code上,因此我们需要先打开Visual Studio Code中的“Extentions”,找到并打开DevEco Device Tool,点击 “New DevEco Project” 新建一个工程,输入工程的相关信息:
工程名称:Name(自定义)
开发板型号:Board(选w800),当前我们使用的是W800开发板
Bundle(选@hihope/neptune_iot),如图:
3)设置烧录固件位置
点击Partiton Configuration(步骤①),点击文件夹图标(步骤②),如图所示:
找到固件所在文件夹位置,(可以自定义路径,请提前把目标固件拷贝到该位置),如图:
选择目标固件“OpenHarmony_HID_V0.3.img”(步骤①),点击按钮:“Open “OpenHarmony_HID_V0.3.img””(步骤②),如图:
点击Save保存。
完成板子选择和烧录固件位置设置后,我们需要进行端口和烧录协议配置。
4)设置端口和烧录协议
点击:”w800“, 如图:
设置烧录端口,upload_port,选择默认值“/dev/ttyUSB0”,如果没有,可以输入“/dev/ttyUSB0”
填写烧录协议,upload_protocol,选择“xmodem”,即选择串行通信的文件传输协议。
设置upload_partitions,选择”partition:w800_app“, 即选择需要烧录的文件是哪一个。选择结果如图:
配置完毕后,点保存配置Save即可。
5)查看已经打开的工程
点击Open,打开工程。点击Visual Studio Code左上角的Explorer图标,查看已经打开的工程:
移除不相干的项目,防止编译异常,如图:
6)烧录固件
点击DevEco,在弹出的PROJECT TASKS中选择Upload,如图:
根据提示“Please reset the board”,单击开发板的RST按键,如图:
此时会显示正在烧录,待进度条显示100%且下方出现“SUCCESS”字样,表示烧录成功,如图:
经历了多个版本的更新,本次基于Neptune开发板的键盘蓝牙模块0.3版本将为开发者们带来碰一碰拉起FA,通过蓝牙实现手机与键盘连接,从而让键盘成为手机外设,控制手机输入。实现该版本的程序已经烧录其中,NFC标签的写入也已实现,大家可以通过gitee上下载详细的“操作文档”来了解~同时开发者们可以在Linux环境下使用DevEco Device Tool对开发板(w800)进行编译烧录,感兴趣的开发者们赶紧试试这个新版本吧~