FW: 智能设备 WiFi 配网的两种方式

智能家居的设备智能化,很多家电设备都安装上了 WiFi 模块, 方便用户通过手机控制和远程查看家里情况,典型的设备如智能插座,智能空调,智能空气净化器。

智能设备首次配置,这个过程简单来讲就是把 WiFi 设备初始化后,连到家里的无线路由器上。第一次配置成功后,基本就一劳永逸了。

目前流行的wifi配置模式一般有以下2种:

  • 1:智能硬件处于AP模式,手机用于station模式,手机连接智能插座的AP后组成局域网,手机发送需要连接路由的SSID及密码至智能插座,智能硬件主动去连接指定路由后,完成连接
  • 2:一键配置(smartconfig)模式:智能硬件处于混杂模式下,监听网络中的所有报文;手机APP将SSID和密码编码到UDP报文中,通过广播包或组播报发送,智能硬件接收到UDP报文后解码,得到正确的SSID和密码,然后主动连接指定SSID的路由,完成连接

AP(兼容) 模式

AP 是 (Wireless) Access Point 的缩写,即 (无线) 访问接入点。简单来讲就像是无线路由器一样,设备打开后进入 AP 模式,在手机的网络列表里面,可以搜索到类似 TPLINK_XXX 的名字(SSID)。
连接步骤:

  • 1、连接路由器(获取路由器名称)
  • 2、请求配网token,用户输入 WiFi 名字和密码后
  • 3、初始化硬件设备,使设备进入 AP 模式,Wifi 灯慢闪
  • 4、手机切回 WiFi:接入上述 设备出现的 WiFi 名字(SSID)的网络 (类似 TPLINK_XXX)。连上设备后,通过 UDP 发送 经过 AES 加密过的 ssid/password/token
  • 5、设备通过 UDP 包获取配置信息,切换网络模式,连接上家里 WiFi,配置完成。断开设备热点。发送token,注册到服务端,登录MQTT服务器
  • 6、手机切回到家里面的 WiFi ,根据token,去服务端查找设备。
  • 7、服务器返回智能设备的信息

 

EZ(快捷)Easy-Connect 模式

这种快速连接方式,相对于 AP 模式连接简化操作,省了很多步骤,首次配置速度更快。

  • 1、手机连上 WiFi,开启 APP 软件,点击"添加新设备",进入配置界面,输入手机所在 WiFi 密码,请求配网token
  • 2、智能硬件开启混杂模式监听所有网络数据包,Wifi 灯快闪
  • 3、手机通过广播、组播循环发送 ssid/password/token
  • 4、硬件设备通过 UDP 包(长度)获取配置信息捕捉到ssid/password/token,Wifi灯熄灭,连接路由器,连接成功后Wifi灯常亮。发送token,注册到服务端,注册成功后登录MQTT服务器。(广播根据 UDP 包长度,组播根据 IP 地址信息)
  • 5、手机根据token,去服务端查找设备,返回设备信息

当前主流IOT的wifi方案有:

这个功能最早是TI提出并应用于CC3200上;不过从原理上讲,只要芯片驱动支持开启混杂模式(WiFi Promiscuous),就可以支持一键配网功能,只是各个厂家叫法及实现编码方式不同而已;
手机编码发送采用有UDP组播或广播,不同的发送方式和编码,对应的解码过程也不一样.,当前测试发现,微信是通过UDP广播包实现的;TI是通过往一固定IP地址发送udp包;其他芯片厂家提供的一般为UDP组播方式;
由于无线数据传播必定是广播的,所以必然可以被监听到;如果AP没有加密的话,UDP直接可以把相关的信息发送出来.但是路由器AP一般都是加密的,而且加密方式不固定.wifi模块在无法直接解析出数据包

  • 1、广播:发送方可通过改变其所需要发送数据包的长度进行控制
    所以只要指定出一套利用长度编码的通讯协议,就可利用数据包的Lenght字段进行数据传递
  • 2、 组播:组播地址是保留的D类地址从224.0.0.0-239.255.255.255
    IP地址与MAC地址映射关系为:将MAC地址的前25位设定为01.00.5e,而MAC地址的后23位对应IP地址的位;故发送端可以将数据编码在组播ip的后23bit中,通过组播包发送,接收端进行解码即可



作者:Orange_iOS
链接:https://www.jianshu.com/p/4fca16d8702f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文转载自:https://www.jianshu.com/p/4fca16d8702f

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章