物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004
2015-10-13 15:53
661 查看
自从物联网 问世以来,如何使得物 能够联网 有了很多的方式,目前运用非常广的WIFI,今天就总结下自这个方面,也对于有需要的盆友 也希望有抛砖引玉之效果。
物联网: 智能硬件+APP+云
APP 需要配置wifi用户名 密码进入智能硬件,目前各个WIFI芯片厂家基本采用以下几种方式
1)TI 的smartconfig
2)AP模式: APP 配置 手机连接到 智能硬件(WIFI芯片 的AP),构建成一个局域网,当然该局域网是不能上网的,但是局域网内的各个设备的通信是OK
此时 该局域网内一般有三个设备(WIFI芯片工作在AP模式 或者是AP+STATION模式) 手机 智能硬件STATION模式---智能硬件的AP
先来说smartconfig吧 也就是所谓的一键配置,速度比AP模式快,为什么呢?请看下面分解。
所谓的smartconfig就是
手机APP端发送包含WIFI 用户名 WIFI密码的 UDP 广播包或者组播包,
智能终端的WIFI芯片可以接收到该UDP包,只要知道UDP的组织形式,就可以通过接收到的UDP包解密 出WIFI 用户名 密码,
然后智能硬件 配置受到的WIFI 用户名 密码到指定的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接入
QCA4004芯片:kuaifi 连接也就是smartconfig 采用UDP组播模式( IP地址是组播即可,如239.0.0.254)
UDP广播模式跟组播的差异就不用说了,这是基本的TCP/IP东西,如果从安全角度看 UDP组播会安全点,当然目前 这方面还不需要考虑。
4004 跟ESP8266不同,它不行前期AP扫描,直接从1-2--。。13 循环配置区接收UDP包,并且UDP包采用组播
写了两个例子,加深理解
1) android 的app 用于配置4004 也就是UDP组播例子
2)UBUNTU LINUX下UDP 组播例子
UDP 组播例子源代码 可以百度下,非常多,我也是在那个上面修改的,理解了原理 最关键。
程序运行后 用wireshark 抓包分析下
见附件图片!!
物联网: 智能硬件+APP+云
APP 需要配置wifi用户名 密码进入智能硬件,目前各个WIFI芯片厂家基本采用以下几种方式
1)TI 的smartconfig
2)AP模式: APP 配置 手机连接到 智能硬件(WIFI芯片 的AP),构建成一个局域网,当然该局域网是不能上网的,但是局域网内的各个设备的通信是OK
此时 该局域网内一般有三个设备(WIFI芯片工作在AP模式 或者是AP+STATION模式) 手机 智能硬件STATION模式---智能硬件的AP
先来说smartconfig吧 也就是所谓的一键配置,速度比AP模式快,为什么呢?请看下面分解。
所谓的smartconfig就是
手机APP端发送包含WIFI 用户名 WIFI密码的 UDP 广播包或者组播包,
智能终端的WIFI芯片可以接收到该UDP包,只要知道UDP的组织形式,就可以通过接收到的UDP包解密 出WIFI 用户名 密码,
然后智能硬件 配置受到的WIFI 用户名 密码到指定的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接入
QCA4004芯片:kuaifi 连接也就是smartconfig 采用UDP组播模式( IP地址是组播即可,如239.0.0.254)
UDP广播模式跟组播的差异就不用说了,这是基本的TCP/IP东西,如果从安全角度看 UDP组播会安全点,当然目前 这方面还不需要考虑。
4004 跟ESP8266不同,它不行前期AP扫描,直接从1-2--。。13 循环配置区接收UDP包,并且UDP包采用组播
写了两个例子,加深理解
1) android 的app 用于配置4004 也就是UDP组播例子
2)UBUNTU LINUX下UDP 组播例子
UDP 组播例子源代码 可以百度下,非常多,我也是在那个上面修改的,理解了原理 最关键。
程序运行后 用wireshark 抓包分析下
见附件图片!!
相关文章推荐
- 【物联网】OpenWrt OpenWRT的源码下载及目录结构
- 物联网 command 原型设计及框架
- centos linux系统日常管理复习 CPU物理数逻辑核数,iftop ,iotop ,sar ,ps,netstat ,一网卡多IP,mii-tool 连接,ethtool速率,一个网卡配置多个IP,mii-tool 连接,ethtool速率 ,crontab备份, 第十八节课
- 物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004
- 物联网对现代生活的影响
- 物联网技术与应用
- 解决win10 iot VS编程出现的无法引用错误
- 加入ZigBee联盟,共画物联网的未来
- UVA 10881 - Piotr's Ants(思维转换)
- 物联网通信协议介绍
- 农业物联网具有四大优势 有关运用途径浅谈
- 三维GIS在交通应急上的应用
- 树莓派2B + Windows IoT
- 【物联网】WiFi基础知识
- 微软Windows 10 IoT Core起步者套装正式发布 折合人民币713元
- cc2650鼓捣教程-2.一切的开始 Hello world程序!
- 【物联网】QCA4010之SNTP协议
- 【物联网感知技术】:时多分址算法之二进制搜索算法
- 基于WPF的物联化监测系统
- 磁盘性能分析之iotop