WIFI快连(一键配网)原理分析及优化建议
一键配网说明
文章目录
- 一键配网说明
- 一键配网基本流程
- 说明
- 配网流程
- EZ配网原理
- 组播
- 广播
- EZ配网优缺点及优化建议
- 优点
- 缺点
- 优化建议
一键配网基本流程
说明
wifi快连
也叫一键配网
,也叫EZ配网。目前市面上一键配网的功能需要设备支持monitor模式(也称为混杂模式),即设备应当具有监听当前环境中空气包的能力。并且设备可以对相关的报文进行筛选,并解析出设备中特定信息用于完成配网。
由于一键配网操作简单,不需要像AP(热点)配网那样需要用户频繁的操作。用户只需要点击APP上的配网按键,就有相关配网程序来完成设备的配网,对用户来说比较友好。所以目前市面上大多数做物联网解决方案的厂商,都会在自己的产品里支持这一配网功能。
目前EZ配网一般流程为:APP(一般为用户手机端)端发送带有AP ssid和AP passwd以及token的广播包或组播包。同时设备端开启监听模式,监听这个过程中的所有报文,通过约定加密方式解密出AP的ssid 、passwd、token等。然后设备切换到station模式开始配网。
配网流程
整个配网过程,如下图所示:
EZ配网原理
EZ配网通过组播或者广播报文来携带ssid/passwd/token等信息,然后设备端通过约定的加密方式来对相关信息进行解密,从而达到配网的目的。采用这两种通信方式的目的是使环境当中尽可能多的设备能接受到APP发出的信息,因为我们当前并不知道设备相关信息,所以无法直接发送特定的信息给到设备。
组播
组播
很多时候也叫多播
。组播传送地址作为目的物理地址的帧可以被组内的其它主机同时接收,而组外主机却接收不到。但是,如果将网卡设置为组播传送模式,它可以接收所有的组播传送帧,而不论它是不是组内成员。
监听端(即设备端),会使wifi网卡在1-13信道循环监听组播wifi数据帧,以约定的组播MAC地址为同步头,当监听到同步头之后,进入接收模式并锁定信道。并且只接收来自该MAC地址的组播wifi数据帧,在接收完包头信息及数据之后进行解析,再使用之前约定的密钥解密,得到ssid/passphrase/token,同时设备切换为station模式,开始配网。
wifi组播配网正是利用了之前所说的组地址与组播MAC地址之间的映射及wifi数据帧头中的MAC地址信息来传输配网信息。IP地址与MAC地址映射关系为:将MAC地址的前25位设定为01:00:5e,而MAC地址的后23位对应IP地址的位;故发送端可以将数据编码在组播ip的后23bit中,通过组播包发送,接收端按照约定进行解码即可。
广播
广播
即向环境中所有设备广播报文,它的目的MAC地址是 FF:FF:FF:FF:FF:FF的帧为广播帧。
显然,广播与组播有所不同,它的目的MAC地址是固定的。那么我们通过什么方式来编码相关信息呢?数据长度。广播帧会通过发送数据长度不同的广播帧来编码数据,并且不断的循环发送。
同样的,设备会在所支持的信道(通常是1-13信道间不断的轮询),直到捕获到符合配网规则的数据报文后停止信道轮询,尝试在此信道上接收完成所有报文,若当前信道接收失败或超时则重新开始信道轮询。
EZ配网优缺点及优化建议
优点
- 用户的操作相对更少,更加方便。
- 配网时间相对其他方式会更短,体验相对会更好。
- 配网的数据会被加密,安全性更高。
缺点
- APP端需要向设备发送ssid/passwd/token,这三个信息若有任意一个有错误,都会导致配网失败。
- 若手机连接的是5G频段的路由器则会导致设备无法接受到手机端组播/广播的信息而导致配网失败,因为设备一般默认只支持2.4G频段。
- 对手机和路由器的兼容性有较高的要求,如有些路由器会默认关闭广播/组播报文的转发,使得设备接收不到路由器转发的报文,从而导致配网失败。
- 因为设备端是通过连续多包数据来解析ssid/passwd/token等信息,所以若通信质量不佳,其中只要有一包数据丢失,就会导致解析数据失败,开始下一轮循环。
- 因为EZ配网同时存在以上这些缺点,所以EZ配网很多时候配网成功率相对不会很高,所以需要制定相应的第二方案当EZ配网失败时可以转换为相应的成功率更高的配网方式。
优化建议
- 减少token长度。通过上面的分析,可以发现EZ配网的数据传输效率并不高,需要通过连续多包数据才能解析出对应的加密信息。ssid和passwd是由用户设定的,我们无法改变,所以通过减少token长度可以减少配网时间以及增加配网成功率。
- 采用组播+广播的方式传输信息。采用这种方式会同时通过组播和广播的方式编码配网信息,设备端只需要看哪种方式先被解析出配网信息。这样也会增加配网成功率以及节省配网时间。
会同时通过组播和广播的方式编码配网信息,设备端只需要看哪种方式先被解析出配网信息。这样也会增加配网成功率以及节省配网时间。 - 优化设备的收包能力,避免因为设备端丢包或者将某些包过滤掉而导致配网失败。
WIFI快连(一键配网)原理分析及优化建议相关推荐
- 物联网ESP8266 WIFI SoftAP模式一键配网,开源源码,测试OK可以直接使用
1.创作起因:网上找了很久,都没有关于ESP8266 WIFI通过softap方式配网开源例程,基本都是smartconfig airkiss方式一键配网,这种方式受手机.路由器等兼容性影响,配 ...
- wifi一键配网smartconfig原理及应用
版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog.csdn.net/flyingcys/article/details/49283273 智能家居/家电现阶段还处于普及阶段 ...
- 物联网的通信技术以及Wi-Fi、一键配网技术、BLE、GPRS(2G)、LTE-Cat1 、NB-IoT简介
物联网的通信技术以及Wi-Fi.一键配网技术.BLE.GPRS(2G).LTE-Cat1 .NB-IoT简介 物联网的一个重要的特点是接入了网络,因此这些设备才能将传感器采集的数据上传到云平台,然后根 ...
- WiFi-ESP8266入门http(3-4)网页一键配网(1若为普通wifi直连 2若为西电网页认证自动网页post请求连接)+网页按钮灯控+MQTT通信...
网页一键配网(1若为普通wifi直连 2若为西电网页认证自动网页post请求连接)+网页按钮灯控+MQTT通信 工程连接:https://github.com/Dongvdong/ESP8266_H ...
- 使用Arduino开发ESP32(二十九):WiFismartconfig,一键配网,又名快连
前言 目前流行的wifi配置模式一般有以下2种: 1:智能硬件处于AP模式,手机用于station模式,手机连接智能插座的AP后组成局域网,手机发送需要连接路由的SSID及密码至智能插座,智能硬件主动 ...
- esp8266 wifi模组手机一键配网,配置一次,下次重启设备后不需再进行配网
编写时间:2018年9月2日 #define ATCMDLEN 20 extern uint8_t usart3RecvEndFlag; extern UART_HandleTypeDef hu ...
- WIFI配网方案:1、蓝牙配网 2、WIFI自身配网 3、SmartConfig一键配网
蓝牙配网: 顾名思义,通过蓝牙给WIFI配网,过程相对较为简单,首先设备上具有WIFI和蓝牙两种功能.然后通过手机的小程序或者APP连接产品蓝牙,连接之后发送WIFI连接所需要的SSID和PASSID ...
- 【IoT】物联网之 WIFI 一键配网 smartConfig 浅析(ESP32)
一.背景 物联网时代技术开始规模化服务于民众,方便快捷显得尤为重要,WIFI 直连便是一个典型案例. 目前主流的 WIFI 配置模式有以下 2 种: 1.智能硬件处于 AP 模式(类似路由器,组成局域 ...
- Esp8266学习之旅⑥ 了解SmartConfig与Airkiss一键配网,给8266一键配网上云端。(带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...
最新文章
- 存储过程和函数 PROCEDURE FUNCTION
- IOS开发基础之团购案例17-xib和UITableView两种方式实现
- java caller_js中的caller和callee属性
- linux下如何关闭防火墙、查看当前的状态、开放端口
- 【eclipse】启动不了报错java was started but returned exit code=13
- 富士通Fujitsu DPK9500GA Pro 打印机驱动
- GoF 的 23 种设计模式的分类和功能
- Python将Word转换为Pdf格式文件(包含批量转换)
- 2018.10.31 NOIP模拟 一串数字(数论+贪心)
- ECharts为X轴Y轴添加单位
- 添加腾讯007防水墙
- CSI笔记【11】:阵列信号处理及MATLAB实现(第2版)阅读随笔(三)
- uni-app分分钟解决苹果X以上型号黑线条兼容问题
- yii2.0域名目录绑定(二级域名)以及url美化 url伪静态 Apache ,Ngnix和 IIS
- 贵阳副市长刚写了一本区块链的书,趁热乎推荐给你!
- Android设备唯一标识符ID
- NovelAI二次元绘画体验
- 可燃冰 flammable ice
- 数据库timestamp类型与date,datetime区别及到达时间极限2038年后如何处理
- 来到公司一星期的感受