一 概要
Wi-Fi大家很早就接触了,但是配网对很多人都比较陌生。因为早期的Wi-Fi设备基本都是带屏幕和输入设备的(如笔记本/手机/PDA等),而配网只需要用户直接输入路由器的SSID/password即可,简单到被人忽略。
但是随着物联网的兴起,Wi-Fi被大量应用于没有人机交互方式的设备中,如智能插座等物联网终端产品中,而Wi-Fi(IEEE802.11)标准在设计之初是没有考虑这种无人机交互方式的配网的,也就是没有官方标准。配网成了一种类似于黑客找漏洞的技术,这也就导致了市面上配网的方法多种多样,且各家玩各家的,鱼龙混杂,互不相通,整体体验偏低。
几个概念:
狭义配网:Wi-Fi设备获取路由器信息(SSID,password等)并连接路由器的过程。
绑定:用户手机APP账号与被配网设备关联的过程。
广义配网:狭义配网+绑定。
本文讨论的配网如未注明都指狭义配网,并省略云端参与流程。简化示意图如下:
那么市面上的配网技术有哪几种呢?按原理分商用的主要有:
- 一键配网(Smart Config)
1.1 广播包长方式
1.2 组播地址方式 - 设备热点配网(AP)
- 蓝牙配网(BLE)
- 手机热点配网
- 路由器配网
- 零配
- 其他(如语音配网/摄像头二维码配网等)
二 详细介绍
1 一键配网
流程
一键配网(Smart Config)主要原理为:
设备进入sniffer模式(又叫混杂模式,即不过滤数据报文),监听环境中所有的802.11报文;
设备需要在所支持的信道(通常1-13)上轮询监听(因为设备不知道用户手机和目标路由器的信道);
捕获到符合配网规则的数据报文后停止信道轮询,尝试在在此信道上接收完成所有报文;
当前信道接收失败或超时重新回到步骤2;
-
数据报文接收完成则关闭sniffer模式,回到station模式并开始尝试连接路由器,狭义的配网过程完成。smart_config.png
优点:
用户操作简单,体验好(成功时)。
缺点:
对手机,路由器都有严格的兼容性要求,比如有些路由器默认关闭广播/组播报文转发使得设备收不到路由器转发的报文;手机以5G频段连接到路由器,2.4G的设备压根收不到包等,诸如此类不可控因素导致整体兼容性差,配网成功率低
总结
物联网刚兴起时大多数厂商的默认选择,在饱受用户投诉之后慢慢被弃用。
2 设备热点配网
设备热点配网(AP配网)很好理解:
设备端Wi-Fi进入softAP模式,建立一个约定名称的AP热点;
APP端提示用户手动将手机连接到1中设备建立的热点;
连接建立后,手机与设备建立局域网;
手机通过UDP/TCP将配网信息直接传给设备;
-
设备拿到配网信息后切换回station模式(STA模式),开始连接路由器。
device_ap.png
优点:
成功率高,可靠。
缺点:
用户操作相对一键配网复杂度略高(iPhone用户需要手动跳转到无线局域网设置界面连接app界面提示的设备热点)。
总结
中庸可靠是其取胜之道,在昔日霸主一键配网由于成功率不高被广为吐槽后,设备热点配网在市场上的占有率稳定提升。
项目使用效果如下:
3 手机热点配网
这是热点配网(softAP)的一个变种,热点不由设备创建而是由手机创建。
优点:
设备无需支持热点模式,端上开发工作量较低;可与一键配网共存(同时使能)
缺点:
用户体验不佳,尤其在iOS设备上APP无法自动创建热点,需要用户跳转设置界面手动改设备名并手动打开热点。
总结
由于一键配网本身占比降低,这个替补方案的出场率也就更低了。
4 蓝牙配网
蓝牙配网整体流程跟设备热点配网差不多。只不过用ble替换了设备端的热点,理论上还是一种基于点对点连接的配网方式。
优点:
兼容性较好,成功率高。
用户体验好。
缺点:
成本略高。相对与其他配网模式,需要额外增加蓝牙硬件成本。
总结
适合与本身既有蓝牙又有Wi-Fi的应用场景的设备,或者模组成本相对不是那么敏感的土豪设备。随着低成本BLE的推行,其占有率逐渐提升。
项目使用效果如下:
5 路由器配网
路由器配网的思路就是路由器在配网模式下开启一个特定的用于配网的SSID,设备发现了这个热点后连接这个热点以获取配网信息,流程跟手机热点配网相似。其简化流程图如下:
优点:
用户体验较好。
缺点:
应用面窄,需满足设备跟路由器都为同一方案的场景。
总结
适合端上整套生态打法的厂商。
6 零配
这是一种充分利用待配设备/及主配设备的高权限优势的配网,要求主配和待配设备的应用程序都能发送和接收802.11管理帧。直接使用802.11 的管理帧(probe request/response)携带配网信息,从而实现高效配网。简化原理如下:
优点:
用户体验好,成功率高,如智能音响对智能设备配网即可使用此方式。
缺点:
应用面窄,需要满足路由器下存在已经配网的同方案设备的要求。
总结
设计上本身高效可靠,但是由于手机APP权限问题,无法通过第三方程序组装或者接收Wi-Fi管理帧,限制了其在手机上的应用(手机不能当主配),也就使得其只能成为一种辅助或者特定领域的配网方式。
三 总结对比
通过一个表格对比各配网方式特点:
四 发展方向
除了上面列出的配网方式外,还有其他一些方向供大家参考。
- Wi-Fi P2P。使用Wi-Fi Direct技术直接将配网信息通过手机传给设备。
缺点:无奈仅Android手机支持Wi-Fi Direct技术,iOS尚不支持。而且不是所有的安卓手机都支持,导致手机兼容性差,一条腿走路注定了无法普及。
- 苹果AWDL协议。AWDL可以认为是苹果私有的端上P2P协议,如Air Drop即基于这种协议。无奈协议不开源,即使对协议进行破解,使用起来也存在法务风险。不然可以跟1中方式配合使用,形成互补。
因此,上面两种方式在通用配网中不会成大气候。
- 针对特定场景的配网:
语音配网(使用本地语音识别技术给带语音识别模块的设备如智能音响配网)。
针对智能摄像头的二维码配网(摄像头主动扫手机APP生成的二维码,二维码里面包含SSID/password等信息,智能摄像头获取信息后就可以尝试路由器)等,在本公司的项目中有用到此方式。
借助了自己独特的软硬件优势在相应领域提供体验上佳的配网体验,是物联网发展对细分市场高度定制和优化的表现。
- DPP(Device Provisioning Protocol)。Wi-Fi Easy Connect的重要组成部分,Wi-Fi Alliance官方制定。由4个步骤组成:
补充
经过上面的步骤,智能设备已经连接上路由器,下一步可能需要在局域网中,发现智能设备,以便手机与智能设备建立链接,做进一步的交互;这个时候就需要用到局域网相互发现技术了,可以参考之前的文章
iOS Bonjour 客户端基本使用及完美解决各种坑~
Android 安卓Bonjour(NSD服务) 客户端基本使用-->填坑-->进阶使用
flutter udp multicast 组播
补充二:蓝牙配网
模块支持搜索附近WiF且支持蓝牙:
这种方式需要设备内置的联网模块本身支持搜索附近的WiFi热点,并且最好同时支持蓝牙,可以方便通过蓝牙连接把设备搜索到的WiFi信息发送给手机app,手机端可以选择设置已经发现WiFi热点,设置WiFI密码后即可进行对设备的配网。这种方式就不要求手机是否开启定位
,甚至不需要手机连接了WiFi
,而且不用考虑是否是5G频段的WiFi
,因为设备能搜索到的WiFi热点肯定也支持连接WiFi热点了;不过这种方式成本高,需要设备同时支持WiFi模块和蓝牙模块。
结尾
今天的分享至此接近尾声喽,小伴们,觉得有点用的话,或者已经看到这里面来的请点赞加关注吧~~ 后续分享更多iOS原生技术及物联网技术相关文章。如果有疑问的话,欢迎在下方留言~