一、简介
碰一碰是HarmonyOS具备的多终端业务协同技术。其依托NFC短距通信协议,通过碰一碰的交互方式,将手机和全场景设备连接起来。然后通过手机端的原子化服务能力,快速完成配网、远程控制的能力,解决了应用与设备之间接续慢、配网复杂、传输难的问题,为用户带来无缝切换的流畅体验。
二、碰一碰配置
前提
- 已安装数字管家应用。
- 准备已经升级至HarmonyOS 2系统的华为Mate系列或P系列手机,系统版本号为2.0.0.168及以上。
- 在华为应用市场,下载并安装“应用调测助手”APP,用于写NFC标签。
- 若开发板不包含NFC模块,则需准备1个NFC标签,可以用手机触碰NFC标签,提前确保NFC功能可用。
- 打开手机设置 > 应用和服务 > 应用管理,搜索“智慧生活基础服务”,检测智慧生活基础服务的版本是否为12.0.2.306及以上。如果不是,请打开华为手机的“智慧生活”APP,点击“我的 > 设置 > 检查应用更新”,更新“智慧生活基础服务”。
智慧服务配置
申请Product ID
注:本节中Product ID是碰一碰拉起标识,而非IoTDA平台的设备产品ID。
登陆[华为开发者联盟]
登陆华为开发者联盟,主页右上角管理中心按钮,进入管理中心。
创建智慧
在管理中心页面中依次点击智慧服务->HarmonyOS服务开放平台进入智慧服务平台。
点击右上角创建服务按钮。
选择HarmonyOS测试服务,填写服务相关信息,点击创建按钮完成服务模型的创建。
录入服务信息
在服务信息栏下的基本信息页面完善服务模型基本信息后,点击右上角保存按钮,保存服务基本信息。
进入服务呈现信息页面完善相关信息(星标项目必填,其它项目视需要进行填写),可下载批量导入模板并填写,进行批量导入。点击右上角保存按钮,保存服务呈现信息。
录入服务配置信息
点击配置栏,进行配置信息的填写。 HarmonyOS标签页面如下图,其中产品型号填写在应用调测助手中申请的Product ID ,产品子型号填写00。
FA信息页面填写信息如下图,其中App包名、服务名分别为FA开发中对应的IoT应用的包名,以及开发者期望通过NFC唤起的IoT应用的服务名(本项目唤起的服务为设备配网)。
录入服务测试信息
点击测试栏,进入智慧服务测试页面,进行测试相关信息的填写。 点击创建进入创建真机测试名单窗口。
填写手机号码与描述。
点击确定可以看到该手机已经录入名单中。
到此,应用功能唤起信息申请和配置完成。
设备信息的准备
鸿蒙开发应用知识参考gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md前往。
设备信息简介
设备信息内容包括:华为IoTDA平台的Product ID、NodeID、配网方式以及对应的参数信息,如下列表格;所有信息需要写入到调测助手的自定义数据之中,然后通过NFC拉起应用时,数字管家FA可通过Intent中的91字段进行读取NFC数据,从而可获取到板子相关的信息。
存储格式
设备信息采用TLV格式,即数据字段使用T+L+V进行表示。
T:标签,1字节
L:T信息长度,2字节
V:T对应的详细信息
标签分配
标签 | 名字 | 描述 | 样例 |
---|---|---|---|
1 | IoTDA平台设备产品ID | 由IoTDA平台中获取,使用自身,标识设备产品品类。典型值24字节,小于32字节 | 6128c7b60ad1ed0286680f19 |
2 | NodeID | 设备节点ID,辨识同品类中,不同的设备。典型值8字节,小于64字节 | Lamp01 |
3 | DevicePwd | 设备认证秘钥,用于设备连接IoTDA认证。典型值8字节,小于32字节 | 12345678 |
4 | 配网标识 | 标识当前设备配网类型,1字节 0:不需要配网设备(如手表平板等自带蜂窝网络的设备); 1:NAN配网 + softAP组合模式配网(能自动使用当前网络配网,不需要输入密码); 2:softAP配网,连入设备热点,输入wifi密码进行配网; 3:ble蓝牙配网; 4:NAN配网 近距离贴近设备配网(能自动使用当前网络配网,不需要输入密码); | 1 |
5 | ApSSID | 设备自身热点名,典型值12字节,小于32字节,NAN配网和softAp配网必须提供;构成一般为前缀teamX + nodeID | teamX-Lamp01 |
6 | ApToken | 设备自身热点的密码,典型值8字节,小于16字节; | 12345678 |
7 | BLE-MAC | 设备蓝牙地址。典型值6字节,BLE配网下必须提供 | 010203040506 |
注:DeviceID由FA读取NFC之后,使用华为IoTDA平台设备产品ID+‘’_“+"NodeID"拼接而成,如华为IoTDA平台设备产品ID为6128c7b60ad1ed0286680f19,NodeID为Lamp01,则生成的设备ID为”6128c7b60ad1ed0286680f19_Lamp01“
根据以上规则可编写TLV数据如下:
生成配网信息
- 使用[NFC信息生成器]生成配网信息
- 手动输入生成: 生成实际配网数据虚须基于[profile设备模型] 进行编写,如以设备id为6128c7b60ad1ed0286680f19_Lamp01(华为IoTDA平台设备产品ID+‘’_“+"NodeID")的台灯配网信息如下:
三、NFC数据写入
我们程序员都知道学习开发技术,最先是从语言学起,鸿蒙语言有TS、ArkTS等语法,那么除了这些基础知识之外,其核心技术点有那些呢?下面就用一张整理出的鸿蒙学习路线图表示:
从上面的OpenHarmony技术梳理来看,鸿蒙的学习内容也是很多的。现在全网的鸿蒙学习文档也是非常的少,下面推荐一些:完整内容可在头像页保存,或这qr23.cn/AKFP8k甲助力
内容包含:《鸿蒙NEXT星河版开发学习文档》
- ArkTS
- 声明式ArkUI
- 多媒体
- 通信问题
- 系统移植
- 系统裁剪
- FW层的原理
- 各种开发调试工具
- 智能设备开发
- 分布式开发等等。
这些就是对往后开发者的分享,希望大家多多点赞关注喔!