# 设备碰一碰配置指南 ### 一、简介 碰一碰是HarmonyOS具备的多终端业务协同技术。其依托NFC短距通信协议,通过碰一碰的交互方式,将手机和全场景设备连接起来。然后通过手机端的原子化服务能力,快速完成配网、远程控制的能力,解决了应用与设备之间接续慢、配网复杂、传输难的问题,为用户带来无缝切换的流畅体验。 ### 二、碰一碰配置 image-20211027110105693 #### 前提 - 已安装数字管家应用。 - 准备已经升级至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。 ![image-20211022135400830](./resource/8.png) ##### 登陆[华为开发者联盟](https://developer.huawei.com/consumer/cn/) 登陆华为开发者联盟,主页右上角管理中心按钮,进入管理中心。 ![](./resource/1.png) ##### 创建智慧 在管理中心页面中依次点击智慧服务->HarmonyOS服务开放平台进入智慧服务平台。 ![](./resource/2.png) 点击右上角创建服务按钮。 ![image-20211022104612148](./resource/3.png) 选择HarmonyOS测试服务,填写服务相关信息,点击创建按钮完成服务模型的创建。 ![image-20211022111355901](./resource/4.png) ##### 录入服务信息 在服务信息栏下的基本信息页面完善服务模型基本信息后,点击右上角保存按钮,保存服务基本信息。 ![image-20211022114159617](./resource/5.png) 进入服务呈现信息页面完善相关信息(星标项目必填,其它项目视需要进行填写),可下载批量导入模板并填写,进行批量导入。点击右上角保存按钮,保存服务呈现信息。 ![image-20211022114358986](./resource/6.png) ##### 录入服务配置信息 点击配置栏,进行配置信息的填写。 HarmonyOS标签页面如下图,其中产品型号填写在应用调测助手中申请的**Product ID** ,产品子型号填写00。 ![image-20211022135819250](./resource/9.png) FA信息页面填写信息如下图,其中**App包名、服务名**分别为FA开发中对应的IoT应用的包名,以及开发者期望通过NFC唤起的IoT应用的服务名(本项目唤起的服务为设备配网)。 ![image-20211022141718465](./resource/10.png) ##### 录入服务测试信息 点击测试栏,进入智慧服务测试页面,进行测试相关信息的填写。 点击创建进入创建真机测试名单窗口。 ![image-20211022142458096](./resource/11.png) 填写手机号码与描述。 image-20211022142818815 点击确定可以看到该手机已经录入名单中。 ![image-20211022143206440](./resource/13.png) 到此,应用功能唤起信息申请和配置完成。 #### 设备信息的准备 ##### 设备信息简介 设备信息内容包括:华为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数据如下: ![image-20211022151047257](./resource/14.png) ##### 生成配网信息 1. 使用[NFC信息生成器](数字管家NFC信息生成器.md)生成配网信息 2. 手动输入生成: 生成实际配网数据虚须基于[profile设备模型](../../../profile) 进行编写,如以设备id为6128c7b60ad1ed0286680f19_Lamp01(华为IoTDA平台设备产品ID+‘’_“+"NodeID")的台灯配网信息如下: ![image-20211022151047257](./resource/NFC_Lamp.jpg) ##### 更多设备的配网信息 请查看 [更多设备的配网信息](more_nfc_netconfig_info.md) ### 三、NFC数据写入 ![image-20211022164314781](./resource/15.png)