网站首页/安卓应用列表/内容

华为手机鸿蒙系统碰一碰连接开发完成教程

安卓应用2024-04-30阅读

我们曾给开发者们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南0.1版本,将有线键盘改造成蓝牙键盘,实现一个键盘被多操作系统/终端设备识别使用的功能。经过几个月的更新,这次我们为大家带来的是基于Neptune开发板的键盘蓝牙模块DIY指南v0.3版本,为大家带来几个重磅更新:

1. 支持搭载HarmonyOS系统手机“碰一碰”连接

2. 支持HUAWEI DevEco Device Tool一站式编译烧录

3. 在原有支持4种OS(HarmonyOS、Windows、Linux、Android)的基础上,新增初步支持ios

4. 从原有的支持最多2台设备增加到现在的支持最多5台设备自由切换

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

https://gitee.com/openharmony-sig/vendor_oh_fun/tree/master/hihope_neptune-oh_hid

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

一、“碰一碰”的实现

1、从体验角度诠释“碰一碰”实现

用户使用“碰一碰”实现蓝牙键盘连接的示意图如下:

华为手机鸿蒙系统碰一碰连接开发实现教程1

1. 用户通过碰一碰NFC标签拉起FA应用;

2. 获取蓝牙设备(开发板)的MAC信息;

3. 同时,手机中的蓝牙扫描将获取到的蓝牙列表与开发板MAC信息进行比对;

4. 当匹配到相同开发板MAC信息将反馈连接蓝牙结果,连接该蓝牙设备;

5. 同时连接成功的结果将通过被拉起的FA应用通知用户,用户可在界面上看到成功连接的提示。效果可看视频:

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地址的蓝牙设备。

华为手机鸿蒙系统碰一碰连接开发实现教程2

下面让我们来详细解析一下这个过程,由于我们已有productid且服务已发布,我们将聚焦在如何实现FA应用信息及开发板MAC地址写入NFC标签的过程中。

3、从动手流程学习“碰一碰”实现

接下来就让我们来详细了解一下FA应用信息及开发板MAC地址写入NFC标签过程。

1. 了解写入NFC的数据样例结构

我们将为各位开发者提供一段用于写入到NFC的数据样例结构,开发者只需做很小部分的改动即可直接写入NFC标签中。

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

D20C1A6170702F68776F6E65686F702001004800393935330081060005200685919106286DCD824FEF

其中:

39393533表示9953的Ascill码,9953即是我们为该FA应用已经申请好的productid;

286DCD824FEF用于表示BLE设备硬件编码(MAC地址),后续我们将通过获取目标BLE设备的MAC地址并将其替换掉。

2. 获取BLE设备MAC地址

在“华为应用市场”安装“BLE调试助手”( 该工具用来获取目标BLE设备的MAC地址),打开改工具,找到蓝牙键盘,获取蓝牙键盘的MAC地址:286DCD7C0E67

华为手机鸿蒙系统碰一碰连接开发实现教程3

3. 替换目标设备的MAC地址

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

D20C1A6170702F68776F6E65686F702001004800393935330081060005200685919106286DCD7C0E67

相关阅读