OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 931|回复: 8

分享个WIFI 一键配置原理-以ESP8266为例

[复制链接]

  离线 

40

主题

57

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
213
金钱
213
注册时间
2017-3-30
在线时间
19 小时
发表于 2017-7-25 19:59:29 | 显示全部楼层 |阅读模式
正点原子公众号
#每日技术干货# 《Wi-Fi一键配置原理》!对于一般企业来说,想要让设备联网,从成本、维护、周期等等角度考虑,那选择什么样的的方案是最快捷、安全可靠的联网方式了?


1wifi模块可以连接路由器,是不是就能实现远程控制呢?
         wifi模块可以连接路由器,说明实现路由器的局域网控制没有问题。

2 远程控制的过程中,自己家里面搭建服务器可以吗?
        远程控制需要服务器,但是用户通过自己的电脑在家里搭建服务器实现的可能性很小,因为搭建服务器需要公网的Ip还有服务器相关的软件开发,并且维护过程是一个成本较高的开支。

3 现在市面上有哪几种可以实现远程控制?
方式一:自己买服务器硬件,搭建在腾讯服务器百度服务器中心等(方便维护),企业自身开发服务器软件等。(超大型企业)
方式二:通过租用阿里云,自己写服务器的软件实现。(企业用户,难度较大)
方式三:通过一些P2P平台,实现穿透。但是国内的这项技术相对不够准确。(小部分企业使用)
方式四:通过第三方平台实现,比如机智云等。(企业用户和个人开发者)
方式五:通过路由器的花生壳技术解析,实现映射的过程。(业余爱好者)
从上面可以很清楚的看出,对于一般企业来说,想要让设备联网,从成本、维护、周期等等角度考虑,选择机智云之类的方案是最快捷、安全可靠的联网方式之一。

就联网方面,目前运用非常广的WIFI,今天就总结下这个方面,也对于有需要的盆友也希望有抛砖引玉之效果。

来看个知乎上的提问,很有意思!
问题:
用机智云开发了一个智能插座,发现有一个很神奇的一键配置功能。简单的说就是:当智能插座还没有连上WiFi的时候,此时通过手机App可以将WiFi的SSID及密码一键配置到智能插座上去。

知乎有人回答,看到比较好的解答是:
解析一键配置,其大体工作原理如下:
1. 设备进入初始化状态,开始收听附近的 WiFi 数据包。
2. 手机/平板设置 WiFi 名字和密码后,发送 UDP 广播包。
3. 设备通过 UDP 包(长度)获取配置信息,切换网络模式,连接上家里 WiFi,配置完成。

接下来我们来分析一下原理
物联网智能单品路线: 智能硬件+APP+云
APP将要配置上的路由的wifi用户名、密码进入智能硬件,目前各个WIFI芯片厂家基本采用以下几种方式:

1)SmartConfig
2)AP模式: APP 配置 手机连接到 智能硬件(WIFI芯片 的AP),构建成一个局域网,当然该局域网是不能上网的,但是局域网内的各个设备的通信是OK的。
此时 该局域网内一般有三个设备(WIFI芯片工作在AP模式 或者是AP+STATION模式),手机和智能硬工作在STATION模式。

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

所谓的SmartConfig就是:
  • 手机APP端发送包含WIFI 用户名 WIFI密码的 UDP广播包或者组播包;
  • 智能终端的WIFI芯片可以接收到该UDP包,只要知道UDP的组织形式,就可以通过接收到的UDP包解密 出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接入

AP 是 (Wireless) AccessPoint 的缩写,即 (无线) 访问接入点。简单来讲就像是无线路由器一样,设备打开后进入 AP 模式,在手机的网络列表里面,可以搜索到类似 TPLINK_XXX 的名字(SSID)。
随着无线路由器双频 WiFi(可以有两个 WiFi 名字,其中一个 5G,一个 2.4G)的越来越多,也许下一次智能硬件公司更换 WiFi 方案时,设备支持 5G 也会是个选择因素了(换个支持 5G 的芯片方案)。

再往下畅想,对于手机厂商来讲,可以进一步的优化基于一键配置的连接 WiFi 方式:借助于手机共享自身连入的 wifi(SSID)给设备,直接给用户提供免配置体验(实际是后台替你做了一键配置的流程)。

当然也会有其他连接方式,诸如使用 NFC,声波识别等告诉智能设备要配置 WiFi 的名字和密码,如叮咚音箱就是这样做的。


回复

使用道具 举报

  离线 

9

主题

163

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1304
金钱
1304
注册时间
2012-8-24
在线时间
142 小时
发表于 2017-8-3 16:19:28 | 显示全部楼层
单片机技术交流请加127034610
回复 支持 反对

使用道具 举报

  离线 

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2013-11-28
在线时间
27 小时
发表于 2017-8-8 21:40:27 | 显示全部楼层
分析的不错!
回复 支持 反对

使用道具 举报

  离线 

11

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2017-3-15
在线时间
28 小时
发表于 2017-9-10 15:14:30 | 显示全部楼层
好干货
回复 支持 反对

使用道具 举报

  离线 

0

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2017-3-20
在线时间
52 小时
发表于 2017-9-11 13:31:52 | 显示全部楼层
很棒,学习了
回复 支持 反对

使用道具 举报

  离线 

3

主题

175

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
369
金钱
369
注册时间
2016-12-31
在线时间
83 小时
发表于 2017-9-11 13:47:48 来自手机 | 显示全部楼层
学习,学习
来自: 微社区
回复 支持 反对

使用道具 举报

  离线 

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2017-8-20
在线时间
10 小时
发表于 2017-9-11 21:59:54 | 显示全部楼层
顶      
回复 支持 反对

使用道具 举报

  离线 

0

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2016-9-21
在线时间
33 小时
发表于 2017-9-21 15:40:09 | 显示全部楼层
不错,顶起来
回复 支持 反对

使用道具 举报

  离线 

45

主题

617

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1734
金钱
1734
注册时间
2016-1-8
在线时间
301 小时
发表于 2017-9-21 17:22:33 | 显示全部楼层
谢谢分享,鄙视用了还不感谢的人
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2017-11-22 05:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */