wifi快连与smartconfig介绍

介绍

smartconfig其实是一些芯片厂商提供的一种wifi快连技术,其目的是使智能家电等设备能够简单、快速的连上wifi。不同的厂商对这种wifi快连技术的叫法不一样,其他叫法诸如SmartConnection、EasyConnect、SimpleConfig、Airkiss等。

为何需要wifi快连技术呢?一些智能家电设备,没有像电脑、手机等显示界面能够供用户选择wifi热点进行连接,但是智能家电,智能家居又必须要能够连上网络,所以wifi快连技术就产生了。

smartconfig原理

目前,实现smartconfig一般需要的设备有:移动终端(手机或平板电脑)、智能家电、路由器。其具体实现wifi快连的原理有以下两种:
1:移动终端先连上wifi,打开智能硬件厂商提供的用于连接智能硬件的app,其界面通常如下图所示(一般会自动识别出移动终端所连接的wifi热点名称),并输入密码。此时,操作智能硬件(一般是按压几秒智能硬件的某个功能键),智能硬件就会扫描环境中的所有wifi信道,监听信道中的是否有报文发送,手机app将所连接wifi的SSID和密码编码到UDP报文中,通过广播包或组播包发送,智能硬件接收到UDP报文后解码,得到正确的SSID和密码,然后主动连接指定SSID的路由,从而完成连接。
wifi快连与smartconfig介绍_第1张图片
2:另外一种连接方法称为AP模式。智能硬件首先利用本身所具有的wifi芯片,人为操作智能硬件(一般也是按压几秒智能硬件的某个功能键),产生一个热点(一般热点名称是产品名称或产品序列号等),手机会扫描到该热点,通过手机连接该热点,形成一个局域网。这个时候,再通过app,选择想要连接的wifi名称,输入wifi密码,手机将wifi的SSID和密码发送给智能硬件,从而进行wifi的连接。
以上两种方法可以看出,AP模式相对第一种方式多了一个步骤,这是因为由于路由器及手机品牌的多种多样,smartconfig存在一定的兼容性问题,AP模式相对于第一种方式,成功连接wifi的可靠性更高。所以目前一般厂家仍保留AP模式,作为smartconfig失败后的备用配网方案。

要注意的是,智能硬件连接wifi成功后,手机一般都不会再与智能硬件进行直接交互,之后所谓的手机控制智能硬件,都是手机将命令下发给云端服务器–>服务器传输数据给路由器–>路由器将数据传给智能硬件–>智能硬件解析数据并做出响应。

smartconfig过程中的数据交互

由上文可知,当进行smartconfig时,手机会通过udp包的形式发送wifi的SSID与wifi密码给智能硬件,目前,常用的udp组包方式有两种,分别是udp广播和udp组播。

由于无线数据传播必定是广播的,所以必然可以被监听到。如果无线传输数据没有加密的话,UDP直接可以把相关的信息发送出来。但是路由器一般都是加密的,而且加密方式不固定。因此wifi模块无法直接解析出数据包。

udp广播

802.11的帧格式如下图:
这里写图片描述
从802.11帧格式分析中获知,无线信号监听方的角度来说,不管无线信道有没有加密,DA、SA、LENGTH 、LLC、SNAP、FCS字段总是暴露的,因此信号监听方可以从这6个字段获取有效信息。从发送方讲,由于操作系统的限制,如果采用广播,只剩下LENGTH字段。发送方只要指定出一套利用长度编码的通讯协议,就可利用数据包的LENGTH字段进行数据传递。

udp组播

组播地址是保留的D类地址从224.0.0.0-239.255.255.255
IP地址与MAC地址映射关系为:将MAC地址的前25位设定为01.00.5e,而MAC地址的后23位对应IP地址的位。
故发送端可以将数据编码在组播ip的后23bit中,通过组播包发送,接收端进行解码即可。

补充:
1.接收端进入一键配置功能后,智能硬件从信道1开始监听路由上的数据。如当前监听信道有符合规则的数据包,就停止信道切换,停留在当前信道接收完全部数据。否则就依次切换至信道2.3.4….直到信道14后又从信道1开始继续监听依次循环。

2.智能硬件可以在开启混杂模式之前,先行扫描当前环境下存在的AP。获取所有当前AP的信道,然后只对当前扫描到的信道进行依次监听。如当前环境下只存在2个路由,分别在1和6信道,只需轮流扫描channel1和channel6,这样可以提高配置效率。

转载自:
https://blog.csdn.net/flyingcys/article/details/49283273
参考:
https://blog.csdn.net/sadshen/article/details/47049129#reply

你可能感兴趣的:(物联网)