Wi-Fi快速配网介绍
一类让不具备人机交互功能的Wi-Fi设备实现配网的技术方案,也称为一键配网、智能配网、无感配网、零配配网、Wi-Fi快连等。
快速配网的目的是让待配网设备获得无线路由器的SSID、密码、加密方式这三项内容,除此外,不同厂商还会根据需要传递一些比如注册token、设备ID、设备类型之类的数据,以便于设备连网成功后向云端发起注册,或是便于在局域网内发现当前设备。
目前市面上存在着众多的快速配网方案,这些方案实现原理大体一致,都是让待配网的Wi-Fi设备处在监听模式(也称为混杂模式),通过监听无线信道中特定的网络包,来实现获取配网信息的目的,含有配网信息的网络包一般由已连接路由器的APP发出,或是由路由器本身发出,或是局域网内其他已配网的同类设备发出。
由于无线路由器的工作信道是固定的,而待配网的设备并不知道路由器的工作信道,所以设备一般需要逐个扫描所有的信道,通过检测当前信道是否存在的一些事先约定的具有明显特征的网络包,来锁定真正用于配网的信道。配网信息发送方除了要发送配网包,还要发送一些具有明显特征的包,以便于设备锁定信道。锁信道策略的好坏,将直接影响快速配网的速度。
除了信道锁定,快速配网还要具有纠错和抗丢包能力,因为无线信道是共用的,设备有可能收到其他设备发出的具有配网包特征、但并非配网包的数据包,这就要求算法具有纠错能力,不能返回错误的配网信息。同时,无线信道也是复杂的,设备在接收配网包时有可能丢包,这就要求算法要有抗丢包能力,考虑一轮接收不到全部配网包的情况下,要能够通过多轮接收来获得全部配网包。
以下是一些Wi-Fi快速配网的方案示例:
方案名称 | 厂家 | 配网技术 | 备注 |
---|
HiLink | 华为 |
|
|
FastConfig | 雄迈 | 广播+组播配网 | 只支持2.4G频段,需要扫描信道,方案通用,任何路由器都可以实施。 |
BeaconConfig | 雄迈 | beacon包配网 | 路由器将配网信息写在beacon包中,设备扫描beacon包获取配网信息。 缺点:私有协议,路由器和设备端程序都要定制。 |
Pegasus配网 | 涂鸦 | 管理帧配网 | 采用802.11协议中Beacon/Probe Request/Probe Response帧实现待配网设备无感配网,支持2.4G/5G频段,无需扫描信道,缺点是路由器需要定制,比如路由器要能够在Probe Response中嵌入配网信息。 缺点:私有协议,路由器和设备端程序都要定制,且设备端对Wi-Fi协议栈的操作性要求较高。 参考:无感配网路由SDK参考-TuyaOS-涂鸦开发者 |
AirKiss配网 | 腾讯 | 广播+组播配网 | 参考:物联网开发平台 AirKiss配网开发-设备端开发指南-文档中心-腾讯云 |
零配配网 | 阿里云 | 通过局域网内已配网的设备对未配网的设备进行配网 | 参考:Wi-Fi设备配网方案介绍-零配配网 |
ESP-TOUCH | 乐鑫 | 广播+组播配网 | 参考:ESP-TOUCH编码规则及解码 |
SmartConfigTM | 德州仪器 | 广播+组播配网 |
|
除了上述方案,还有以下方案也可以实现设备配网:
配网方案 | 说明 |
---|
二维码配网 | 摄像头类产品使用,扫描含有配网信息的二维码实现配网。 |
AP配网 | 待配网设备先切换到AP模式,手机连接设备AP热点后输入路由器SSID和密码,设备收到后再切换回STA模式并连接指定路由器。 |
声波配网 | 参考链接:给摄像机远程配网,原理是手机将配网信息编码到音频声波中,待配网设备通过识别音频信号来获取配网信息。 |
蓝牙辅助配网 | 通过蓝牙发送配网信息。 |
WPS配网 | 这是WPA标准支持的配网方式,有按键和pin码两种模式,按键模式下,设备进WPS配网状态后,路由器上按下WPS按键即可完成配网,pin码模式下,设备进WPS配网状态后,输入路由器上指定的pin码可以完成配网。 |
路由器私有协议配网 | 以小米快连为例,路由器内置私有的配网协议,可实现小米生态链设备零配置配网,并且路由器修改密码后设备可自动同步密码。这为方案的本质其实也是管理帧配网或广播+组播配网。 |
NFC触碰配网 | 路由器内置NFC芯片并写入配网信息,设备扫描NFC后获取配网信息。 |
参考链接:
广播+组播快速配网原理
广播配网原理
通过广播包的长度来携带配网信息。
组播配网原理
通过组播包的地址来携带配网信息。
注意点:
- 机密性,配网包很容易截获,要使得配网信息不容易被破解。
- 加密内容尽量短,比如典型的异常加密,不增加长度。
- 抗丢包性,考虑一轮接收不到全部配网包的情况下,要能够多轮接收配网信息。
- 方便接收端锁定信道。
- 兼容性,不同的路由器,不同的加密方式,都要能够适配,考虑WPA3能否跑通快速配网,WPA3PSK肯定使用的也是AES加密,和WPA2PSK长度理论上应该是一样的,这两者会不会无法区分,还有WPA3 SAE认证和OWE认证等等。
Q&A:
- 为什么不需要输入认证方式?
广播+组播快速配网实现
发送的数据包不能超过802.11帧最大长度2346字节,否则会被分片。
可以考虑Wi-Fi设备配网适配开发这样的实现,将HAL接口实现与算法分离,定义一套通用的快速配网算法,在适配不同的Wi-Fi设备时,只要实现其对应HAL接口即可,涂鸦好像也是这么做的。
广播+组播快速配网方案注意点
无线路由器不转发组播包,但大概率会发送广播包。
设备既可能收到APP发出的配网包,也可以收到路由器转发的配网包。
锁信道,纠错,抗丢包(重复发能力)。
配网什么时候结束?APP怎么检测设备已经配好网了?