碰一碰版本的蓝牙键盘来啦

手机敲字回复,总因为大小写切换太“隐秘”而接连按错?登录某乎回答,手机打字不易,电脑登录太难?多台设备同时操作,来回切换多个键盘把自己搞得昏头转向?这种时候,开发者们可能需要一个增强版外设键盘,不仅手机轻松连,而且支持多台设备同时连接 。
在之前的推文中,我们曾给开发者们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南0.1版本(插链接),将有线键盘改造成蓝牙键盘,实现一个键盘被多操作系统/终端设备识别使用的功能 。经过几个月的更新 , 这次我们为大家带来的是基于Neptune开发板的键盘蓝牙模块DIY指南v0.3版本,为大家带来几个重磅更新:
支持搭载HarmonyOS系统手机“碰一碰”连接支持HUAWEI DevEco Device Tool一站式编译烧录在原有支持4种OS(HarmonyOS、Windows、Linux、Android)的基础上 , 新增初步支持ios从原有的支持最多2台设备增加到现在的支持最多5台设备自由切换更多项目更新详情,可点击链接 vendor_oh_fun: 基于OpenHarmony开源代码和开发板,打造一系列“ 趣味性、低门槛、成就感 ”的开源项目,助你重新燃起心中的极客梦想之火! - Gitee查看 。
在之前的版本中,我们已经了解了硬件环境搭建和USB串口(CH340)获取等相关信息,这一次让我们把重点放在开发者们最关注的“碰一碰”的实现和HUAWEI DevEco Device Tool一站式编译、烧录步骤上,让我们一起来了解吧~
1.“碰一碰”的实现1.1从体验角度诠释“碰一碰”实现
用户使用“碰一碰”实现蓝牙键盘连接的示意图如下:

碰一碰版本的蓝牙键盘来啦

文章插图
1)用户通过碰一碰NFC标签拉起FA应用;
2)获取蓝牙设备(开发板)的MAC信息;
3)同时,手机中的蓝牙扫描将获取到的蓝牙列表与开发板MAC信息进行比对;
4)当匹配到相同开发板MAC信息将反馈连接蓝牙结果,连接该蓝牙设备;
同时连接成功的结果将通过被拉起的FA应用通知用户 , 用户可在界面上看到成功连接的提示 。效果可看视频:
1.2从原理角度诠释“碰一碰”实现
在这个过程中 , 碰一碰NFC标签能拉起FA应用和获取开发板MAC地址的关键点在于FA应用信息和开发板MAC地址已经被写入到NFC标签中,用户打开手机上的NFC开关,手机在NFC标签时即可读取相关信息拉起FA应用并获取到开发板的MAC地址用于匹配 。
但实际上被写入NFC标签的是FA应用的productid(需在华为官方“应用调测助手”APP中申请获得),申请完成后通过在华为快服务智慧平台(以下及图中均简略为HAG)创建、发布该FA服务,将productid与FA应用App包名关联 , 开发者将productid写入NFC标签中,当用户使用NFC标签碰一碰时,HAG端将通过productid查询对应的包名并将其拉起 。
而蓝牙设备则是通过工具获取设备MAC地址码,将MAC地址码写入NFC标签,当用户使用NFC标签碰一碰时将获取到写入其中的MAC地址码 , 与手机当前蓝牙列表匹配并连接相同MAC地址的蓝牙设备 。
碰一碰版本的蓝牙键盘来啦

文章插图
下面让我们来详细解析一下这个过程,由于我们已有productid且服务已发布,我们将聚焦在如何实现FA应用信息及开发板MAC地址写入NFC标签的过程中 。
1.3 从动手流程学习“碰一碰”实现
接下来就让我们来详细了解一下FA应用信息及开发板MAC地址写入NFC标签过程 。
1.3.1了解写入NFC的数据样例结构
我们将为各位开发者提供一段用于写入到NFC的数据样例结构,开发者只需做很小部分的改动即可直接写入NFC标签中