基于 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 一站式编译烧录
- 在原有反对 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