当前位置: 首页 > news >正文

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介

无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。

2、配网原理

2.1 通信原理

    手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规SoftAP配网方式共存。

2.2 相关配网代码流程

相关代码:
teamX/common/iot_wifi/libs/libhilinkadapter_3861.a // 无感配网相关库文件
teamX/common/iot_wifi/libs/libnetcfgdevicesdk.a    // 无感配网相关库文件
teamX/common/inc/iot_netcfg_nan.h
teamX/common/inc/network_config_service.h // 无感配网相关头文件
teamX/common/iot_wifi/iot_wifi.c  // 相关联网接口
teamX/common/iot_wifi/iot_netcfg_nan.c // 无感配网相关实现

具体配网流程如下:

3、操作说明

3.1 配网准备

(1) 提前准备好一个可以正常联网的AP热点A,并确保安装数字管家应用的手机连接到该热点A上。

(2) 提前准备智能设备硬件,并下载相关设备侧代码。

(3) 编译相关智能设备软件,并烧录。备软件,并烧录。

(4)将配网信息写入设备侧NFC芯片(详细参考NFC标签配置)。

3.2 配网操作

(1) 启动提前准备好的设备,或者按下设备对应配网按键后重启设备。

​ 

配网说明:(以小熊派开发板为例)

如果是刷新固件后第一次重启,直接进入无感配网模式,此时LED灯以8times/S的频率闪烁,成功配网后以1times/S的频率闪烁。并且会同时保存配网数据到KV中,重启后无需重新配网; 如果需要更换账号密码,按下F2 按键不放,同时按下后放开RESET按键。待LED灯以8times/S 的频率闪烁时,放开F2 按键即可重新进入配网模式。

(2) 手机靠近设备NFC标签,进入手机配网页面。

(3) 待设备通过NAN协议获取手机中保存的热点A账号信息,并且进入联网动作。联网成功后自动进入数字管家的相关的控制页面。

最后

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,不同的角度的问了一些问题,我明显感觉到一点,那就是许多人参与鸿蒙开发,但是又不知道从哪里下手,因为体系杂乱无章,教授的人也多,无从选择。有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)文档用来跟着学习是非常有必要的。 

为了确保高效学习,建议规划清晰的学习路线,涵盖以下关键阶段:

希望这一份鸿蒙学习文档能够给大家带来帮助~

GitCode - 全球开发者的开源社区,开源代码托管平台


相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 「大数据分析」Pandas图形可视化,基本绘图:折线图及实践
  • SpringBoot教程(二十八) | SpringBoot集成Elasticsearch(Java High Level Rest Client方式)
  • Prometheus+Grafana普罗米修斯,搭建和使用
  • [最优化方法] 《最优化方法》个人问答式学习笔记 with LLM
  • Java语言程序设计基础篇_编程练习题*18.9 (以逆序输出一个字符串中的字符)
  • Resnet图像识别入门——激活函数
  • AI驱动的Web3革命:如何通过智能技术实现去中心化
  • prometheus删除指定metrics下收集的值
  • 【GIS开发教程分享】基于Mapbox技术栈,共享电动车项目实战
  • 内联汇编 (28)
  • 【云原生】docker 部署 Doris 数据库使用详解
  • 电力系统中的A类在线监测装置—APView400
  • 极狐GiLab 17.3 重点功能解读 升级指南
  • 2、PF-Net点云补全
  • 如何在ST官网下载HALL包和cube开发工具
  • 《Java编程思想》读书笔记-对象导论
  • CentOS 7 修改主机名
  • Codepen 每日精选(2018-3-25)
  • JavaScript-Array类型
  • JavaScript对象详解
  • java多线程
  • learning koa2.x
  • leetcode388. Longest Absolute File Path
  • Redis在Web项目中的应用与实践
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 强力优化Rancher k8s中国区的使用体验
  • 区块链共识机制优缺点对比都是什么
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 深度学习在携程攻略社区的应用
  • 我与Jetbrains的这些年
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 一道闭包题引发的思考
  • 因为阿里,他们成了“杭漂”
  • 在Unity中实现一个简单的消息管理器
  • ionic入门之数据绑定显示-1
  • Python 之网络式编程
  • 阿里云服务器如何修改远程端口?
  • (2022 CVPR) Unbiased Teacher v2
  • (6)STL算法之转换
  • (web自动化测试+python)1
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • ****三次握手和四次挥手
  • ***检测工具之RKHunter AIDE
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .DFS.
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .Net Memory Profiler的使用举例
  • .net 连接达梦数据库开发环境部署
  • .NET 中的轻量级线程安全
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本