OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7482|回复: 14

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

[复制链接]

50

主题

68

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
272
金钱
272
注册时间
2017-3-30
在线时间
25 小时
发表于 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 的名字和密码,如叮咚音箱就是这样做的。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

232

帖子

0

精华

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

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

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

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

使用道具 举报

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

3

主题

178

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

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

使用道具 举报

0

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

62

主题

902

帖子

0

精华

论坛元老

Rank: 8Rank: 8

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

使用道具 举报

9

主题

84

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2017-4-1
在线时间
4 小时
发表于 2017-11-22 19:04:42 | 显示全部楼层
WiFi模块购买地址 https://shop67012462.taobao.com
回复 支持 反对

使用道具 举报

7

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2017-3-24
在线时间
42 小时
发表于 2018-2-13 16:11:41 | 显示全部楼层
不错,学习
回复 支持 反对

使用道具 举报

5

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
金钱
232
注册时间
2016-10-20
在线时间
42 小时
发表于 2018-3-15 16:02:32 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1167
金钱
1167
注册时间
2015-11-9
在线时间
246 小时
发表于 2018-4-19 16:20:14 | 显示全部楼层
请问smartconfig配置好后,外网服务器数据如何发送给ESP8266(ESP8266连的是路由器,不是公网IP)???
回复 支持 反对

使用道具 举报

1

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2018-11-7
在线时间
16 小时
发表于 2018-11-8 00:01:43 | 显示全部楼层
先顶一个
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2018-8-23
在线时间
27 小时
发表于 2018-11-8 17:46:25 | 显示全部楼层
哇 我最近一直在想的就是怎样才能实现一键联网,也是AP模式下的连接。老哥说到我心坎里了。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 11:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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