HarmonyOS开发:【NFC配置流程】

一、简介

碰一碰是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数据如下:

生成配网信息
  1. 使用[NFC信息生成器]生成配网信息
  2. 手动输入生成: 生成实际配网数据虚须基于[profile设备模型] 进行编写,如以设备id为6128c7b60ad1ed0286680f19_Lamp01(华为IoTDA平台设备产品ID+''_"+"NodeID")的台灯配网信息如下:

三、NFC数据写入

我们程序员都知道学习开发技术,最先是从语言学起,鸿蒙语言有TS、ArkTS等语法,那么除了这些基础知识之外,其核心技术点有那些呢?下面就用一张整理出的鸿蒙学习路线图表示:

从上面的OpenHarmony技术梳理来看,鸿蒙的学习内容也是很多的。现在全网的鸿蒙学习文档也是非常的少 ,下面推荐一些:完整内容可在头像页保存,或这qr23.cn/AKFP8k甲助力

内容包含:《鸿蒙NEXT星河版开发学习文档》

  • ArkTS
  • 声明式ArkUI
  • 多媒体
  • 通信问题
  • 系统移植
  • 系统裁剪
  • FW层的原理
  • 各种开发调试工具
  • 智能设备开发
  • 分布式开发等等。

这些就是对往后开发者的分享,希望大家多多点赞关注喔!

相关推荐
️ 邪神33 分钟前
【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View
flutter·ios·鸿蒙·reactnative·anroid
SameX2 小时前
HarmonyOS Next 安全生态构建与展望
前端·harmonyos
SameX2 小时前
HarmonyOS Next 打造智能家居安全系统实战
harmonyos
Random_index10 小时前
#Uniapp篇:支持纯血鸿蒙&发布&适配&UIUI
uni-app·harmonyos
鸿蒙自习室13 小时前
鸿蒙多线程开发——线程间数据通信对象02
ui·harmonyos·鸿蒙
SuperHeroWu715 小时前
【HarmonyOS】鸿蒙应用接入微博分享
华为·harmonyos·鸿蒙·微博·微博分享·微博sdk集成·sdk集成
zhangjr057518 小时前
【HarmonyOS Next】鸿蒙实用装饰器一览(一)
前端·harmonyos·arkts
Industio_触觉智能19 小时前
如何在开源鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙开发板演示
openharmony·selinux·开源鸿蒙·鸿蒙开发板·rk3566开发板
程序员小范21 小时前
孙玲:从流水线工人到谷歌程序员
人工智能·程序员·谷歌·远程工作