基于Neptune开发板的键盘蓝牙模块DIY指南0.3版本,实现“碰一碰”连贯、反对Linux下HUAWEI DevEco Device Tool编译烧录。手机敲字回复,总因为大小写切换太“隐秘”而接连按错?登录某乎答复,手机打字不易,电脑登录太难?多台设施同时操作,来回切换多个键盘把本人搞得昏头转向?这种时候,开发者们可能须要一个增强版外设键盘,不仅手机轻松连,而且反对多台设施同时连贯。

1.介绍
在之前的推文中,咱们曾给开发者们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南0.1版本,将有线键盘革新成蓝牙键盘,实现一个键盘被多操作系统/终端设备辨认应用的性能。通过几个月的更新,这次咱们为大家带来的是基于Neptune开发板的键盘蓝牙模块DIY指南v0.3版本,为大家带来几个重磅更新:

1.反对搭载HarmonyOS零碎手机“碰一碰”连贯

2.反对HUAWEI DevEco Device Tool一站式编译烧录

  1. 在原有反对4种OS(HarmonyOS、Windows、Linux、Android)的根底上,新增初步反对ios

4.从原有的反对最多2台设施减少到当初的反对最多5台设施自在切换

更多我的项目更新详情,可通过下方链接查看:

https://gitee.com/openharmony...

在之前的版本中,咱们曾经理解了硬件环境搭建和USB串口(CH340)获取等相干信息,这一次让咱们把重点放在开发者们最关注的“碰一碰”的实现和HUAWEI DevEco Device Tool一站式编译、烧录步骤上,让咱们一起来理解吧~

2.“碰一碰”的实现
2.1从体验角度诠释“碰一碰”实现
用户应用“碰一碰”实现蓝牙键盘连贯的示意图如下:

用户通过碰一碰NFC标签拉起FA利用
获取蓝牙设施(开发板)MAC信息;
同时,手机中的蓝牙扫描将获取到的蓝牙列表与开发板MAC信息进行比对;
当匹配到雷同开发板MAC信息将反馈连贯蓝牙后果,连贯该蓝牙设施;
同时连贯胜利的后果将通过被拉起的FA利用告诉用户,用户可在界面上看到胜利连贯的提醒。成果可看视频

2.2从原理角度诠释“碰一碰”实现
在这个过程中,碰一碰NFC标签能拉起FA利用和获取开发板MAC地址的关键点在于FA利用信息和开发板MAC地址曾经被写入到NFC标签中,用户关上手机上的NFC开关,手机在NFC标签时即可读取相干信息拉起FA利用并获取到开发板的MAC地址用于匹配。

但实际上被写入NFC标签的是FA利用的Product ID(需在华为官网“利用调测助手”APP中申请取得),申请实现后通过在华为快服务智慧平台(以下及图中均简略为HAG)创立、公布该FA服务,将Product ID与FA利用App包名关联,开发者将Product ID写入NFC标签中,当用户应用NFC标签碰一碰时,HAG端将通过Product ID查问对应的包名并将其拉起。

而蓝牙设施则是通过工具获取设施MAC地址码,将MAC地址码写入NFC标签,当用户应用NFC标签碰一碰时将获取到写入其中的MAC地址码,与手机以后蓝牙列表匹配并连贯雷同MAC地址的蓝牙设施。

上面让咱们来具体解析一下这个过程,因为咱们已有Product ID且服务已公布,咱们将聚焦在如何实现FA利用信息及开发板MAC地址写入NFC标签的过程中。

2.3 从入手流程学习“碰一碰”实现
接下来就让咱们来具体理解一下FA利用信息及开发板MAC地址写入NFC标签过程。

2.3.1.理解写入NFC的数据样例构造
咱们将为各位开发者提供一段用于写入到NFC的数据样例构造,开发者只需做很小局部的改变即可间接写入NFC标签中

数据样例构造字符串如下:

D20C1A6170702F68776F6E65686F702001004800393935330081060005200685919106286DCD824FEF

其中:

39393533示意9953的Ascill码,9953即是咱们为该FA利用是曾经申请好的Product Id;

286DCD824FEF用于示意BLE设施硬件编码(MAC地址),后续咱们将通过获取指标BLE设施的MAC地址并将其替换掉;

2.3.2.获取BLE设施MAC地址
在“华为利用市场”装置“BLE调试助手”( 该工具用来获取指标ble设施的MAC地址),关上改工具,找到蓝牙键盘,获取蓝牙键盘的MAC地址:286DCD7C0E67

2.3.3替换指标设施的MAC地址

将2.3.2中通过BLE调试助手获取的MAC地址:286DCD7C0E67替换样例的MAC地址:286DCD824FEF,组装后的字符串为:

D20C1A6170702F68776F6E65686F702001004800393935330081060005200685919106286DCD7C0E67

2.3.4应用HW AirLink工具写入NFC
1)装置HW AirLink工具

咱们将下载NFC写入工具HW AirLink,下载链接如下:

https://developer.huawei.com/...

下载、解压后应用关上Windows设施的cmd命令行工具(请保障Windows设施装置了adb工具)进行装置,执行如下命令,即可实现装置:

adb –r –d hilinkcert-tool-1.0.0.3.apk

如图:

装置结束后,如图:

2)输出邀请码

关上该工具后,点击“add”,将要求输出一个邀请码,输出“b4zd8bz3”即可:

3)置入缓存区

点击NFC,抉择当中的NFC WRITE,进入NFC数据输入区,此时状态为“缓存区待写入”:

勾选“byte code”,将第3步获取到的组装后的字符串

D20C1A6170702F68776F6E65686F702001004800393935330081060005200685919106286DCD7C0E67

输出其中,点击“置入缓存区”,此时状态为“已写入缓存区”。

4)写入NFC贴纸

将开发好的FA利用装置到手机上,关上手机NFC性能,用手机反面(NFC传感器)凑近指定的NFC标签,实现写入。

请留神,写入时需敞开手机网络,并且尽量选用空白的NFC标签进行写入。

写入实现后,HW AirLink底部会弹出“写入胜利”弹框,即示意写入胜利。

至此,咱们曾经清晰理解了碰一碰NFC如何拉起FA利用并实现蓝牙键盘的配对。那么接下来就让咱们进入第2个要害更新——如何在Linux平台下应用HUAWEI DevEco Device Tool(以下简称DevEco Device Tool)一站式实现编译烧录。

3.一站式编译烧录的实现
本次咱们将在Linux环境下应用Huawei DevEco Device Tool (V2.2.0 Beta1版) 对蓝牙键盘模块对应的W800开发板进行编译和烧录。

3.1编译
3.1.1. HPM环境搭建
HPM(harmony package manager)即Harmony包管理器,它是华为Harmony推出的组件包管理器,能够不便地从官网获取所需组件,依据须要只下载以后我的项目用到的组件,使得工程文件更加精简。

咱们将在Linux环境下搭建环境并进行编译,抉择在Ubuntu下装置工具,并依据开发环境筹备进行各软件的下载和配置。对于Ubuntu开发环境筹备可参考以下链接,这里咱们就不赘述了。

· Ubuntu开发环境筹备

https://device.harmonyos.com/...

留神:如果某些步骤执行失败,请重启ubuntu再试试。

3.1.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”文件,其就是生成的固件,如图:

3.2 烧录
3.2.1.获取编译好的固件
同样的,本次烧录咱们将在Linux环境下实现。咱们将对“out/neptune/wifiiot_neptune/"文件夹中的“w800.img”文件进行固件烧录。同时,咱们也为开发者们提供曾经编译好的固件,可在以下链接获取:

https://gitee.com/openharmony...

3.2.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”字样,示意烧录胜利,如图:

4.结尾
经验了多个版本的更新,本次基于Neptune开发板的键盘蓝牙模块0.3版本将为开发者们带来碰一碰拉起FA,通过蓝牙实现手机与键盘连贯,从而让键盘成为手机外设,管制手机输出,而实现该版本的程序曾经烧录其中,NFC标签的写入也已实现,大家能够通过gitee上下载具体的“操作文档”来理解~同时开发者们能够在Linux环境下应用DevEco Device Tool对开发板(W800)进行编译烧录,感兴趣的开发者们连忙试试这个新版本吧~

HarmonyOS开发之旅

▼▼▼玩转开发板开源社区链接▼▼▼

https://gitee.com/openharmony...

▼▼▼扫码注册华为账号,开启HarmonyOS开发之旅,获取最新学习资源。▼▼▼

▼▼▼PC端下载DevEco Studio▼▼▼

▼▼▼体验全场景分布式开发乐趣▼▼▼

https://device.harmonyos.com/...

欢送宽广搭档和开发者敌人退出HarmonyOS

每一位开发者都是咱们要汇聚的星星之火

一起发明万物互联时代的有限可能

原文链接:https://developer.huawei.com/...
原作者:HarmonyOS Device