WiFi配网~智能家居配网解决方案

1. 什么是配网?

  先解释一下什么是配网:当智能设备交付用户时,用户如何根据说明手册或者指引,简单成功的将联网设备连接到路由器下面。这里主要是wifi产品,蓝牙、Zigbee、NB-Iot配网是不存在配网这种流程的,因为他们技术的本身自带近似于配网的功能或者无需连接到路由器。在阅读本文前,你需要了解WiFi的四种工作模式,包含Staion、SoftAP、Sniffer、Promisc,前两种不多说,后两种分别是抓包模式和混杂模式。

2. 如何解决配网?

配网技术其实已经很成熟了,但对刚接触的小白还是会存在一定障碍。那么我们如何解决配网尼?目前主流的方案有下述几种:

  1. AP配网或者网页方式,手动配网
  2. 自动配网
  3. AP模式下UDP广播配网

注:目前配网只讨论2.4G WiFi模块,因为WiFi Soc方案主要还是2.4G频段。

3. 方案一,手动配网

该方案配网流程如下图:
WiFi配网~智能家居配网解决方案_第1张图片

  1. APP扫描周围智能设备(SoftAP),或者网页访问智能设备(SoftAP),通过UI手动输入连接家庭中的路由器ssid和pwd。
  2. APP或者手机浏览器告诉智能设备(SoftAP) 路由器ssid和pwd。
  3. 智能设备(SoftAP)保存路由器SSID和PWD,并重启连接路由。
  4. 手机的wifi切换连接到路由器。
  5. APP广播发现设备,配网完成。

4. 方案二,自动配网

配网流程如下图:WiFi配网~智能家居配网解决方案_第2张图片

  1. APP直接连接到路由,通过路由发送广播或组播包。
  2. 智能设备进入Sniffer模式抓取空气中的广播或者组播包。
  3. 抓包成功后,解析连接路由。
  4. APP广播发现设备,配网完成。

5. 方案三,直连配网

配网流程如下图:WiFi配网~智能家居配网解决方案_第3张图片

  1. APP扫描,连接周围配网设备。
  2. APP告诉智能设备(SoftAP)路由器的ssid和pwd,智能设备收到后并告诉APP确认收到,接下来切换到STA并连接路由器。
  3. 手机的wifi切换连接到路由器。
  4. APP广播发现设备,配网完成。

6. 三种方案对比

  手动配网优点是成功率几乎百分百(前提是路由器的密码输入正确),缺点是WiFi智能设备需要重启切换连接到路由器、手机也需要切换连接到不同的AP,配网效率很慢;
  自动配网有点当然是速度快,手机WiFi无需切换连接,只需打开APP一直在统一路由下操作即可,缺点是成功率相对教低,主要原因是不同厂商WiFi兼容性很差,比如有的路由器能够发广播包、有的WiFi Soc芯片不能抓到广播包,我工作时就发现有的设备针对广播包和组播包的性能表现各不一样,经过思考还是觉得WiFi的兼容性还是会存在差异;
  第三种方案,我们暂时称它为直连配网,这种方式也是我最推荐的。为什么尼?WiFi设计之初就是一对多,直连配网的优点是成功率几乎百分百和配网速度相对比较快,在这种方案中配网的速度取决于WiFi 芯片的AP切换到Sta的速度 和 手机WiFi的切换连接不同AP的速度,这些应该是可以优化的。
  如果延伸拓展的话,我们还可以去学习自动配网广播包和组播包具体细节、学习WiFi Soc的混杂抓包接口、零配等等。当然零配是建立在产品生态之下的。

补充:
1,1和3感觉一样,主要是 以前wifi 芯片 没有切换的api,封装的比较死。
2,经过实践,AP配网的速度真是不能自己把控的,原因在于安卓WiFi驱动框架不同手机表现不一样,国内像小米魅族连接路由的时间都需要比较长的时间,国内定制的系统可能对WiFi做了一些改动适配,原生安卓可能表现就比较统一,经过测试esp8266从AP切到STA或者重启连接到路由的时间均比较短大约0.6秒,而手机切换连接的时间则大约2、3秒 有可能更长。

关于配网就谈到这里,我们还可以参考:
1、wifi一键配网smartconfig原理及应用
2、阿里云 SDK -WiFi配网
3、WIFI模块各种常见的配网方式说明及其比较

你可能感兴趣的:(IoT嵌入式,#,wifi,蓝牙)