当前位置:首页 > 电子 > 正文内容

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

admin7年前 (2017-09-02)电子5027
物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004

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

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

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

问题:

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

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

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


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

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

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)。

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

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


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

PS:

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

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

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


到了第二代插座产品 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)给设备,直接给用户提供免配置体验(实际是后台替你做了一键配置的流程)。

扫描二维码推送至手机访问。

版权声明:本文由视觉博客发布,如需转载请注明出处。

本文链接:http://www.cqroom.cn/post/42.html

“物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004” 的相关文章

STM32 keil mdk启动代码发分析

在启动文件我们看到了__main和用户写的main,这2个是有区别的,大概流程如下: 1、复位第一条指令:Reset_Handler   PROC,这里指定为 LDR     R0, =__main。表示调用...

STM32 中断向量表的位置 、重定向

STM32 中断向量表的位置 、重定向

这篇文章已经说了STM32的启动过程: http://www.cqroom.cn/post/39.html 我们也知道怎么跳到main函数了,那么,中断发生后,又是怎么跑到中断入口地址的呢? 从stm32f10x.s可以看到,已经定义好了一大堆...

SmartLink原理

SmartLink原理

智能家居/家电现阶段还处于普及阶段,由于家庭wifi网络的普及,目前普遍采用wifi与路由器完成连接,与手机/云端进行数据交互. 智能硬件,如智能插座,智能空调,智能空气净化器由于不具备人机交互界面,不能像电脑一样的搜索/选择指定路由器,输入连接密码的界面,所以必须先解决正确连接路...

内存堆和栈的区别

内存堆和栈的区别

在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。 堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以...

FAT32文件格式详解

FAT32文件格式详解

说明: MBR :Master Boot Record ( 主引导记录)  DBR :DOS Boot Record ( 引导扇区) ...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。