查看: 3074|回复: 2

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

[复制链接]

该用户从未签到

发表于 2017-7-25 19:53:36 | 显示全部楼层 |阅读模式
分享到:
#每日技术干货# 《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 的名字和密码,如叮咚音箱就是这样做的。

回复

使用道具 举报

  • TA的每日心情
    擦汗
    2019-6-26 20:59
  • 签到天数: 235 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2017-8-2 08:57:06 | 显示全部楼层
    学习了,谢谢分享。。。。。。。。。。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-9-25 13:23:14 | 显示全部楼层
    smartconfig模式没搞明白

    智能硬件在位置wifi密码的情况下也能收到UDP包?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-16 20:22 , Processed in 0.134320 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.