“碰一碰”版本的蓝牙键盘,来啦
2024-09-06 07:04:11发布 浏览395次 信息编号:164984
友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。
“碰一碰”版本的蓝牙键盘,来啦
1.2 从原理角度解释“触碰支付”的实现
在这个过程中,触碰NFC标签能够启动FA应用并获取开发板MAC地址的关键点在于,FA应用信息和开发板MAC地址已经写入NFC标签中,当用户打开手机上的NFC开关后,手机触碰NFC标签就能读取相关信息启动FA应用并获取开发板MAC地址进行匹配。
但真正写入NFC标签的是FA应用(需要在华为官方“应用测试助手”APP中申请),申请完成后会在华为快服务智慧平台(下图及图中简称HAG)上创建并发布FA服务,并与FA应用App包名关联,开发者会将其写入NFC标签中,当用户用NFC标签触碰时,HAG会查询对应的包名并拉起。
蓝牙设备通过工具获取设备MAC地址码,并将MAC地址码写入NFC标签中,当用户用手机触碰NFC标签时,就会获取写入其中的MAC地址码,与手机当前的蓝牙列表进行匹配,并与相同MAC地址的蓝牙设备进行连接。
我们来详细分析一下这个过程,由于我们已经有这个服务,并且已经发布,所以我们重点讲一下如何将FA应用信息和开发板MAC地址写入NFC标签中。
1.3 从实践过程中学习“触手可及”的实施
接下来我们来详细了解一下将FA应用程序信息和开发板MAC地址写入NFC标签的过程。
1.3.1 了解写入NFC的数据样本结构
我们将为开发者提供写入NFC的示例数据结构,开发者只需进行少量修改即可直接写入NFC标签。
数据样本结构字符串如下:
在:
代码代表9953,代表我们已经申请过这个FA申请;
用来表示BLE设备硬件代码(MAC地址)。后面我们会获取目标BLE设备的MAC地址并替换。
1.3.2 获取BLE设备的MAC地址
在“华为应用商店”安装“BLE调试助手”(该工具用于获取目标BLE设备的MAC地址),打开工具,找到蓝牙键盘,获取蓝牙键盘的MAC地址:
1.3.3 替换目标设备的MAC地址
将样本的MAC地址替换为2.3.2中通过BLE调试助手获取的MAC地址:组装后的字符串为:
1.3.4 使用硬件工具写入NFC
1)安装硬件工具
我们来下载NFC写作工具HW,下载链接如下:
下载解压后使用cmd命令行工具打开设备(确保设备上安装了adb工具)进行安装,执行以下命令完成安装:
adb –r –d-tool-1.0.0.3.apk
如图所示:
安装完成后如图:
1)输入邀请码
打开工具后,点击“添加”,会要求输入邀请码,输入“”即可:
3)选择 NFC 写入
点击NFC,选择NFC WRITE,进入NFC数据输入区,状态为“Cache待写入”:
检查“字节码”,并插入步骤3中获得的组装字符串
输入数据后点击“放入缓存”,状态现在是“已写入缓存”。
4)写入NFC贴纸
在手机上安装开发好的FA应用程序,打开手机的NFC功能,使用手机背面(NFC传感器)接近指定的NFC标签即可完成写入。
请注意,书写时需要关闭移动网络,并尽量使用空白的NFC标签进行书写。
写入完成后,HW底部会弹出“写入成功”弹框,提示写入成功。
到目前为止,我们已经清楚的了解了如何通过触碰 NFC 来启动 FA 应用程序以及配对蓝牙键盘。那么接下来我们进入第二大关键更新——如何使用 Tool(以下简称 Tool)在 Linux 平台上一站式完成编译与烧写。
2.实现一站式编译烧录
本次我们将利用Linux环境下的工具(V2.2.0 Beta1)对蓝牙键盘模块对应的W800开发板进行编译和烧录。
2.1 编译
2.1.1 HPM环境搭建
HPM()是华为推出的包管理器,可以方便的从官网获取需要的组件,并且只根据需要下载当前项目用到的组件,使得项目文件更加精简。
我们在Linux中搭建并编译环境,选择安装工具,并根据开发环境下载并配置软件。开发环境的准备请参考下面的链接,这里就不再赘述了。
文档中心
注意:如果任何步骤失败,请重新启动并重试。
2.1.2HPM拉取源代码
hpm开发环境搭建完成后,首先输入:
hpm init -t dist
实现目录初始化,如图:
进入:
hpm i @hihope/neptune_bluetoothkeyboard
下载相应组件及依赖包,如图:
执行完成后显示“ ”,表示下载成功,如图:
最后执行编译命令
hpm dist
如图所示:
执行完成后显示“Build!”,表示编译成功,如图:
编译后的img文件位于out目录下,如图:
打开“out///”文件夹会发现“w800.img”文件,这个就是生成的固件,如图:
2.2 燃烧
2.2.1. 获取编译好的固件
同样,我们也将在Linux环境下完成烧写,将固件烧写到“out///”文件夹内的“w800.img”文件中,同时我们也为开发者提供了编译好的固件,可以从以下链接获取:
:基于开源代码与开发板,打造一系列“有趣、低门槛、有成就感”的开源项目,帮助你重燃心中的极客梦!-
2.2.2 固件烧录
Linux环境下固件烧写过程详细步骤如下:
1)通过串口连接开发板和虚拟机
将开发板通过串口连接到电脑的USB口。如图:
在弹出的“检测到新USB设备”窗口中选择连接到虚拟机,选择虚拟机名称,点击确定。
打开它,点击虚拟机->可移动设备->USB->在状态栏中显示,查看是否显示,如图:
至此开发板已经成功通过串口连接虚拟机。
2)创建一个新的工具项目
Tool是以插件的形式部署在Code上的,所以我们需要先在Code中打开“,找到并打开Tool,点击“New”创建一个新项目,并输入项目的相关信息:
项目名称:名称(自定义)
开发板型号:Board(选择w800),我们目前使用的是W800开发板
(选择@/),如图:
3)设置烧写固件的位置
点击(步骤①),点击文件夹图标(步骤②),如图:
找到固件所在文件夹(可自定义路径,请提前将目标固件复制到此位置),如图:
选中目标固件“.3.img”(步骤①),点击按钮:“打开“.3.img””(步骤②),如图:
单击保存。
完成板子选择和固件烧录位置设置后,我们需要配置端口和烧录协议。
4)设置端口和烧录协议
点击:“w800”,如图:
设置烧录端口,选择默认值“/dev/”,如果没有端口,可以输入“/dev/”
填写烧录协议,选择“”,即选择串口通讯的文件传输协议。
设置,选择“:”,也就是选择你要刻录的文件。选择结果如图:
完成配置后,点击保存。
5)查看打开的项目
点击Open打开项目,点击Code左上角的图标可以查看打开的项目:
删除不相关的项目,防止出现编译异常,如图:
6)烧录固件
在弹出的TASKS中点击选择,如图:
根据提示“reset the board”,点击开发板的RST按钮,如图:
此时会显示正在烧写,当进度条显示100%,并且下方出现“ ”字样时,代表烧写成功,如图:
经过多个版本的更新,本次基于开发板的键盘蓝牙模块0.3版本将为开发者带来一键拉起FA,通过蓝牙连接手机和键盘,让键盘成为手机外设,控制手机输入。实现此版本的程序已经烧录进去,也实现了NFC标签的写入,大家可以在gitee上下载详细的“操作文档”进行了解~同时,开发者可以在Linux环境下使用Tool对开发板(W800)进行编译烧录,感兴趣的开发者赶紧尝试一下这个新版本吧~
提醒:请联系我时一定说明是从星空网上看到的!