文档开发者中心
我的
|

其他

极简配网、随心控制,就在“碰一碰”

一、碰一碰特性简介

碰一碰特性,是HarmonyOS具备的多终端业务协同技术,其依托NFC(Near Field Communication,简称NFC)短距通信协议,通过碰一碰的交互方式,将手机和全场景设备连接起来。然后通过手机端的原子化服务能力,完成设备的极简连接、极简交互的远程实时控制能力,解决了应用与设备之间接续慢、配网复杂、传输难的问题,为消费者用户带来无缝切换的流畅体验。

碰一碰特性特别适合应用在智能家居等无屏设备领域,为消费者用户与设备之间的交互提供了一种全新的模式,消费者只需轻松一碰,便可实现极简配网、随心控制。

预告:请大家关注在2021HDC活动的《鸿蒙智联新交互体验实践分享》主题演讲,将会为开发者详细介绍如何开发调试NFC碰一碰。时间:10月23日下午,地点:HarmonyOS Connect智能硬件开发 分论坛。

二、开发方案介绍

HarmonyOS碰一碰特性,该如何开发呢?

碰一碰拉起原子化服务实现设备的极速配网和远程实时控制的开发方案有两种:

1. 体验特性开发方案(本文统一简称体验方案):

该方案主要针对个人开发者体验碰一碰特性,该方案的特点是流程简单,不需要开发者申请相关权限、开发大量的代码、上架原子化服务等操作。但该方案不能用于商业场景,不支持将开发的原子化服务上架华为应用市场。

2. 商用特性开发方案(本文统一简称商用方案):

该方案主要针对有意向加入HarmonyOS Connect生态的企业开发者,可以依托华为智能硬件合作伙伴平台提供的能力、服务与解决方案,开展产品的开发、认证、销售和运营等操作。NFC碰一碰拉起原子化服务,是实现HarmonyOS Connect生态设备体验要求的重要方式,可以为用户提供便捷的设备连接与交互体验,有效降低设备操作门槛。

接下来就让我们一起了解碰一碰体验方案和商用方案的如何开发吧。

三、体验方案开发介绍

1. 体验方案开发流程

碰一碰体验方案(个人开发者)的开发流程如下图所示。

1.jpg

图1 开发流程图

碰一碰体验方案是基于Hi3861开发板(HiSpark Wi-Fi IoT智能家居套件)进行开发,通过HarmonyOS手机触碰NFC标签拉起设备配网和设备控制原子化服务。关键步骤说明如下:

  • 开发Hi3861设备侧功能:通过提供的设备侧Demo示例代码,只需简单地对OpenHarmony源码进行修改即可完成,然后将修改后的源码进行编译和烧录。
  • 开发原子化服务:通过DevEco Studio提供的OneHop Devicce Alibity模板进行开发,该模板预置了智能风扇的原子化服务,无需做任何修改便可直接编译运行。
  • 写入NFC标签:通过“应用调测助手”APP申请Product ID,并该Product ID写入到NFC中。
  • 配置服务关联意图:通过在HAG上配置原子化服务与设备之间的关联关系,实现在碰一碰的过程中,能够获取需要拉取的原子化服务信息,从而拉起设备配网和设备控制原子化服务。
  • 碰一碰拉起原子化服务:一切准备就绪后,就可以使用HarmonyOS手机触碰NFC标签,实现对Hi361开发板的配网及远程控制。

2. 开发准备工作

  • 硬件资源:需要准备一块Hi3861开发板(HiSpark Wi-Fi IoT智能家居套件)、一部华为HarmonyOS 2手机(版本为2.0.0.168及以上)、一个NFC标签。
  • 软件资源:下载OpenHarmony 1.1.0 LTS全量代码、下载Hi3861开发板Demo代码、下载安装“应用调测助手”APP。
  • 开发环境:原子化服务开发环境DevEco Studio 3.0 Beta1版本、Hi3861设备开发环境DevEco Device Tool 2.2 Beta2版本。

3. 开发指导文档

https://device.harmonyos.com/cn/docs/documentation/guide/onehop-overview-0000001205391463

四、商用开发方案介绍

1. 商用方案开发流程

NFC碰一碰拉起原子化服务的流程如下:

2.jpg

图2 NFC碰一碰场景开发整体流程

开发流程说明:

(1) 接入准备

a. 成为华为智能硬件合作伙伴。此过程中实名认证的企业帐号将用于:在Device Partner平台创建和管理产品、使用DevEco Studio开发原子化服务、以及在AppGallery Connect上架原子化服务等。

b. 在Device Partner平台创建产品,并完成设备集成开发、交互设计、以及NFC标签的认证,为实现碰一碰拉起原子化服务做准备。

c. 在AppGallery Connect网站创建应用,为使用AppGallery Connect提供的服务以及发布应用做准备。

d. 搭建DevEco Studio开发环境,为原子化服务的功能开发做准备。

(2) 功能开发

a. 在DevEco Studio中创建原子化服务工程,并配置签名信息。

b. 开发帐号授权、设备配网、设备控制相关的功能。

c. 开展原子化服务的功能调测。自验通过后,方可发布上架。

(3) 发布上架

a. 编译构建商用原子化服务包。

b. 将原子化服务上架至AppGallery Connect网站,并华为快服务智慧平台在配置标签信息。

2. 开发准备工作

a. 成为华为智能硬件合作伙伴。详细操作参考成为合作伙伴,包括注册华为帐号、完成企业实名认证、签署协议、加入合作计划等操作。

b. 准备用于集成开发的模组。

c. 准备一部华为HarmonyOS手机(系统版本号为2.0.0.168及以上),用于碰一碰拉起原子化服务的功能调测。

3. 开发指导文档

https://developer.huawei.com/consumer/cn/doc/development/SmartDevicePartner-Guides/atomic-service-overview-0000001136377936

更多文档资源:

HarmonyOS应用开发:

https://developer.harmonyos.com/cn/documentation

HarmonyOS设备开发:

https://device.harmonyos.com/cn/docs/documentation/guide/guide-description-0000001054913231

 

cke_1031.png

点赞
2
收藏
6
回复
6
分享
举报
浏览2660 编辑于2023-04-23 08:59上海
全部评论
最多点赞
最新发布
最早发布

请问楼主手机应用端的代码,从配网页面跳转到控制页面的代码是下面这样子的吗?

收起
自动换行
深色代码主题
复制
goToControl() {
    let target = {
        bundleName: 'com.fanexample.digitalchina',
        abilityName: 'com.fanexample.digitalchina.ControlMainAbility',
        deviceType: 1,
        data: {
            session_id: getApp(this).ConfigParams.deviceInfo.sessionId,
            product_id: getApp(this).Product.productId,
            product_name: getApp(this).Product.productName
        }
    }
    FeatureAbility.startAbility(target);
    app.terminate()
}

我遇到个问题,就是配网完成后无法跳转到控制页面,编译时有遇到ContextDeal::startAbility fetchAbilities failed,不知道是不是这个问题导致的。

求大佬指教,谢谢啦!!!

6楼回复于2021-12-28 10:09 未知归属地
看上面说下载OpenHarmony 1.1.0 LTS全量代码,想知道设备端用2.0的版本可以用吗?
5楼回复于2021-11-16 07:00 未知归属地
不是使用HiSpark Wi-Fi IoT智能家居套件,使用Hi3861的小熊派开发板测试碰一碰配网,只需要修改I2C的引脚就可以了吗?看上面你的图片中使用的也是小熊派的开发板
4楼回复于2021-11-16 02:16 未知归属地
NFC标签怎么申请啊
3楼回复于2021-10-26 08:41 未知归属地

文档看起来很简单, 实践起来有点难啊!  OH3.0都出来了, 这个示例代码还在1.1上面

我在2.0上面跑出了下面这一系列异常, 1.1 的版本没有尝试

[NETCFG_INFO ][NetCfgRegister|405]NetCfgRegister enter.

[NetCfg]NetCfg module init succ

[NetCfgNAN]init succ

[NetCfg] Config Wifi INIT->WORKING

start dhcp fail.

Start softAP:set addr fail.

create ap failed [-1]

ap start succ

stop nan subscribe fail.

set nan normal retry times fail.

nan task init fail

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

Start softAP:enable hotspot fail.

create ap failed [-1]

WifiEvent has been registered.

我想学习的核心是碰一碰配网的示例代码,然而貌似封装在依赖的a库中去了! 
 

展开全部
2楼回复于2021-10-20 10:21 未知归属地
看着简单,实践可难了
1楼回复于2021-10-20 08:17 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

目录 收起
一、碰一碰特性简介
二、开发方案介绍
三、体验方案开发介绍
四、商用开发方案介绍
了解社区公约,与您携手共创和谐专业的开发者社区。