您的位置:首页 > 大数据 > 物联网

物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004

2016-04-19 11:06 453 查看


自从物联网问世以来,如何使得物 能够联网有了很多的方式,目前运用非常广的WIFI,今天就总结下自这个方面,也对于有需要的盆友也希望有抛砖引玉之效果。

来看个知乎上的提问,很有意思!

问题:

买了BroadLink的智能插座,发现有一个很神奇的一键配置功能。简单的说就是:当智能插座还没有连上WiFi的时候,此时通过手机App可以将WiFi的SSID及密码一键配置到智能插座上去。



知乎有人回答,看到比较好的解答是:

解析一键配置,其大体工作原理如下:

1. 设备进入初始化状态,开始收听附近的 WiFi 数据包。

2. 手机/平板设置 WiFi 名字和密码后,发送 UDP 广播包。

3. 设备通过 UDP 包(长度)获取配置信息,切换网络模式,连接上家里 WiFi,配置完成。

Broadlink最新的插座SP2 和RM2,e-Air等用的是Marvell
Easy-Connect方案

提到的 Broadlink,第一代智能插座产品 Sp1 使用的是 TI 的方案:430 单片机+
CC3000 WiFi 芯片(具体芯片 MSP430F5309 +CC3000MOD)。

到了第二代插座产品 Sp2 使用的是 Marvell 的方案:Cortex-M3 单片机 + 低功耗 Wifi 芯片(具体芯片 88MC200
+ 88W8782)。

接下来我们来分析一下原理

物联网智能单品路线: 智能硬件+APP+云

APP将要配置上的路由的wifi用户名、密码进入智能硬件,目前各个WIFI芯片厂家基本采用以下几种方式

1)TI 的smartconfig

2)AP模式: APP 配置 手机连接到 智能硬件(WIFI芯片 的AP),构建成一个局域网,当然该局域网是不能上网的,但是局域网内的各个设备的通信是OK

此时 该局域网内一般有三个设备(WIFI芯片工作在AP模式 或者是AP+STATION模式)手机和智能硬工作在STATION模式。

smartconfig也就是所谓的一键配置,速度比AP模式快,为什么呢?请看下面分解。

所谓的smartconfig就是:

l 手机APP端发送包含WIFI
用户名 WIFI密码的 UDP广播包或者组播包;

l 智能终端的WIFI芯片可以接收到该UDP包,只要知道UDP的组织形式,就可以通过接收到的UDP包解密
出WIFI 用户名、密码;

l 然后智能硬件配置到指定的WIFI
AP 上。

AP模式比较不好的就是配置时间比smartconfig要长,手机连接的WIFI接入点会变化,如果配置不成功,手机就无法上网,需要在手动配置WIFI,手机才能上网。

ESP8266 芯片:SDK提供两种连接方式,

1)smartconfig

采用UDP广播模式(UDP接收IP地址是255.255.255.255)esp8266先scan 下AP ,得到AP的相关信息,如工作的channel,然后配置wifi芯片工作在刚才scan到的channel上去接收UDP包,如果没有接收到,继续配置ESP8266工作在另外的channel上,如此循环,直到收到UDP包为止,为什么要提前进行SCAN 下WIFI AP呢?就是为了提高配置效率。假设当前网络中只有两个AP,一个AP工作在CHANEL1,另外个
ap工作在channel13,我们现在需要配置智能硬件连接到AP2 ,就是channel13上,如果不提前scan就需要从1--13扫描浪费时间。就是需要从channel1-chane2---...channnel13一直扫描了,如果扫描了AP,芯片马上从AP CHANNNEL1 到channel13加快获取到UDP包;



2) AP接入

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




cb设计

QCA4004 跟ESP8266不同,它不进行行前期AP扫描,直接从信道1-2--。。13 循环配置区接收UDP包,并且UDP包采用组播。

PS:

这些看似不同的方案实质上思路是一致的,如刚才提到的 Broadlink,第一代智能插座产品 Sp1 使用的是 TI 的方案:430单片机+ CC3000 WiFi 芯片(具体芯片MSP430F5309 + CC3000MOD)。


到了第二代插座产品 Sp2 使用的是 Marvell 的方案:Cortex-M3 单片机 + 低功耗 Wifi 芯片(具体芯片88MC200 + 88W8782)。



至于 Broadlink 要换方案的原因,抛开价格,功耗因素,WiFi 兼容性这块也值得去考虑。对比这 2 个方案还会发现 Marvell 的芯片兼容性要胜出一些(Marvell 的 88W8782 支持 IEEE 802.11 a/b/g/n,TI 的 CC3000 只支持 IEEE802.11 b/g)。

随着无线路由器双频 WiFi(可以有两个WiFi 名字,其中一个 5G,一个 2.4G)的越来越多,也许下一次智能硬件公司更换 WiFi 方案时,设备支持 5G 也会是个选择因素了(换个支持 5G 的芯片方案)。

再往下畅想,对于手机厂商来讲,可以进一步的优化基于一键配置的连接 WiFi 方式:借助于手机共享自身连入的 wifi(SSID)给设备,直接给用户提供免配置体验(实际是后台替你做了一键配置的流程)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: