本文汇总介绍了目前市面上各种WIFI模块的常见的配网方式的原理和实现,对比了各种配网方式的优势和局限,得出结论,WEB配网是最直接、最简单、最灵活、约束条件最少的配网方式,应该成为WIFI模块配网的标配。而基于乐鑫ESP8266芯片的WIFI模块,可以实现对目前市面上各种主流方式的配网方式的支持,也包括对WEB配网方式的支持。
1WIFI模块的“配网”
1.1 “连网”和“配网”
1.1.1 何谓“连网”和“自动连网”?
“连网”一般指的是WIFI设备通过SSID和密码来连接热点AP或路由器,以加入后者所建立的网络的过程。
“自动连网”一般指的是WIFI设备在启动、掉线、或扫描到特定的SSID后,会使用之前保存的SSID与密码,自动连接热点AP或路由器,而不需要手工重新输入。其中,WIFI设备掉线后的“自动连网”,又常常被称为“自动重连”。
“自动连网”,一般需要在之前配网成功后,将SSID和密码进行保存,以便在需要“自动连网”时可以从保存的地址读取出来使用。
1.1.2 何谓“配网”
“配网”指的是,外部向WIFI模块提供SSID和密码,以便WIFI模块可以连接指定的热点或路由器并加入后者所建立的相关WIFI网络。
WIFI模块一般不像电脑手机或平板等设备,有丰富的人机交互界面,可以方便的实现配网,因此,WIFI模块的“配网”方式支持,会成为WIFI模块特性的一个基本话题。
能提供方便、灵活多样、条件约束少的配网方式,常常成为WIFI模块的卖点之一,更是WIFI模块的使用者,在选型时需要慎重考虑评估的一个重要方面。
1.2各种配网方式简介
常见的配网方式,一般可以归为如下几大类:直接配网、智能配网、WPS配网、WEB网页配网。用户可以根据具体的使用场合选择各种最适合的配网方式。Anylinkin推荐大家使用WEB配网方式,因为这种配网方式最简单、最直观、最方便,所以依赖的约束条件也最少。
1.2.1直接配网(串口AT、SPIAPI、SDIOAPI、I2CAPI….)
所谓直接配网,就是通过UART串口、SPI口、SDIO口、I2C等主机接口,按照一定的通信协议,将SSID和密码,直接传递给WIFI模块。WIFI模块在收到SSID和密码后去连接热点或路由器,并将连接的结果从主机接口返回。
例如,常见的通过UART串口AT指令配网、SPIAPI函数配网、SDIO API函数配网、I2C API函数配网等等。
1.2.2智能配网(SmartConfig/SmartLink....)与微信Airkiss配网
所谓智能配网(Smart Config),就是使用WIFI设备本身自带的WIFI信号,在MAC层将SSID和密码按照一定的协议格式填充在MAC包中不加密的包头部分,采用广播和抓包方式,从手机等设备将SSID和密码分段多次传递给WIFI模块。
目前市面上常见的多种SmartConfig/SmartLink技术,虽然各个WIFI芯片方案会取不同的英文名字,但是基本原理则基本相同,只是填充的数据协议格式稍有区别。
智能配网一般需要在发送SSID和密码的设备(例如手机)上安装一个APP,该APP实现了和WIFI模块之间的协议交互(发送SSID和密码)。
微信Airkiss扫一扫是微信提供的一种智能配网方式,因为微信的广泛使用而得到大量普及。和其他的普通的智能配网方式比较,不需要单独安装APP。但是它需要连接微信服务器(在后台下载一个小应用),且其不能随便提供的SSID和密码,只能是使用微信的设备当前所连接的路由器的SSID和密码。
1.2.3WPS一键配网
这种方式需要路由器支持WPS。因为安全性的缘故,近几年已经逐步被放弃,越来越多的路由器开始放弃或者自动关闭对这种方式的支持。
1.2.4WEB网页配网
在支持AP模式的WIFI模块上内嵌一个简易的WEB服务器,在WEB网页里提供了配网的交互接口。其他网络设备(例如手机、平板、电脑等)直接连接上WIFI模块的AP热点,在浏览器上打开该WEB网页,在WEB网页里配置该WIFI模块去连接其他的AP或路由器。
归因于近年来越来越多的WIFI芯片解决方案都开始支持STA+AP混合模式(即WIFI模块不仅可以作为工作站STA使用去连接其他路由器或热点,同时本身也可以作为一个热点AP供其他WIFI设备节点来连接),也归因于近年来许多WIFI芯片解决方案越来越高的集成度可以将TCP IP协议栈直接集成在WIFI模块上,因此,可以简单地在WIFI模块上直接实现一个WEB服务器,且这个服务器可以通过WIFI模块的AP模式直接访问(不需要依赖其他网络,手机等设备直接访问WIFI模块自建立的 WIFI网络和WEB网页,进行配置)。
这种配网方式的基本思想是, WIFI模块工作在STA+AP混合模式并启动内嵌的WEB服务器,电脑手机或平板等WIFI设备连接WIFI模块所建立的AP热点,并获取得到一个IP地址(即:加入了这个WIFI模块的热点AP模式所建立的WIFI局域网),然后电脑手机或平板等WIFI设备通过其上标配的浏览器访问WIFI模块上的WEB服务器,在打开的WEB网页中,完成各种配置,包括设置WIFI模块在STA模式下去链接第三方热点或路由器的SSID和密码,让WIFI模块作为STA去连接其他热点AP或路由器。
1.3 各种配网方式比较
1.3.1直接配网(串口AT、SPIAPI、SDIOAPI、I2CAPI….)的优势和局限
1、优势
直接输入和结果反馈,实现简单,过程明了,配网可靠。
2、局限
(1)需要提供额外的人机交互接口
一般需要额外的机交互接口(例如串口线或LCD),来输入SSID或密码。
(2)需要占用单片机系统的额外串口或其他主机接口资源
所以通过串口AT指令或其他主机接口来配网,会受到一些限制,尤其在大量实际场合,设备往往都是封闭式或者不方便提供人机交互接口的,这种方式导致系统的实现和运行维护变得比较麻烦,一般越来越少用到。
1.3.2一般智能配网(SmartConfig/SmartLink....)的优势和局限
1、优势
不需要提供额外的人机交互接口,不占用额外的单片机资源,直接使用WIFI模块自带的WIFI进行配网,实现比较方便。
2、局限
(1) 需要安装APP,使用不太方便
一般需要在用户的手机上额外安装APP,而且每个方案供应商提供的APP(及底层协议都可能不相同)。而这个APP一般需要模块供应商来开发,一般需要准备Android和iOS两款APP。且需要用户下载和安装和更新该APP,比较麻烦。
(2)配网原理和过程复杂,成功率低
通过智能配网方式配网,采用一种类似于sniff的分块多次广播和抓包方式,如果网络干扰大或信号弱,就容易丢失数据,导致配网的难度加大,周期长,成功率降低。所以,有些做得不够好的WIFI模块,在使用智能配网时,经常会遇到很难成功的情形。而在终端用户那边,因为操作的复杂性,导致配网成功的几率进一步降低。
(3)可能需要提供额外的按键或其他接口
智能配网需要模块预先处于智能配网模式(扫描抓包状态),因此,往往需要一个按键或其他接口,来引导模块在智能配网模式和正常工作模式之间切换。或者,在某个特定阶段(例如启动初始等待20秒)作为智能配网的阶段,用户可以配网,虽可实现单不太灵活,容易带来新的问题。
(4)一般不支持通过电脑配网
智能配网一般只提供手机或平板等移动设备的APP,很少提供电脑操作系统对应的APP,所以一般只能通过手机等移动设备配网,不能通过电脑等配网。
1.3.3微信Airkiss配网的优势和局限
1、优势
和一般的智能配网方式类似,微信Airkiss配网,不需要提供额外的人机交互接口,不占用额外的单片机资源,使用WIFI模块自带的WIFI进行配网,实现比较方便。
另外,相较于普通的智能配网方式,微信Airkiss不需要安装额外的APP,因此不需要区分Android或iOS版,直接通过微信里的扫一扫功能,就可以完成智能配网。
2、局限
(1)不能让WIFI模块随意配网到任意的路由器,配网到的路由器必须是连接互联网的路由器。
这里的局限包括两点:(1)只能配网到运行微信的手机或平板所连接的路由器(2)只能让WIFI模块针对连接上互联网的路由器进行配网,不能针对没有连接上互联网的局域网路由器配网。
因为,通过微信Airkiss配网,需要手机或平板可以连接上微信服务器也就是互联网,且对模块配网到的路由器必须是手机或平板所当前所连接的路由器。
也就是说,微信Airkiss配网,只能配网到连接着互联网的路由器,不能对没有连上互联网的路由器进行配网。
(2)(3)(4)参看1.3.2 一般智能配网(SmartConfig/SmartLink....)的优势和局限
微信Airkiss和许多智能配置的原理基本相似,主要的唯一区别就是依附于微信,不需要安装APP,因此,也会有其他几点的类似局限性。
1.3.4WEB配网的优势
1、优势
通过WIFI模块内嵌的WEB服务器,来对WIFI模块进行配网,最方便、最简单、基本上没有局限性。其优势表现如下:
(1) 只需一部支持WIFI带浏览器的设备,去连接WIFI模块自带的AP热点,就可以链接模块内嵌的WEB服务器,打开一个用来配置的WEB网页,来配网到其他路由器。
(2) 配网简单,很容易成功(成功率和容易程度相当于串口AT等方式的直接配网)。
(3) 可以配至的路由器或热点,可以连接着互联网,也可以不连接着互联网,可以是任意的只需要SSID+密码就可接入的网络。
(4) 不需要在系统上添加其他接口,例如按键或串口等,只需要通过模块的现成的WIFI接口进行配网,所以适合封闭或不方便引出额外接口的场合。
(5) 不仅仅可以通过手机来对WIFI模块进行,也可以通过电脑或其他智能终端(只要可以连WIFI可以打开网页就成)等来配网。
所以,我们认为,WEB配网方式,应该和将成为WIFI模块配网的最佳和标配方式。目前,越来越多的WIFI模块解决方案,都开始支持这种配网方式。
1.3.5市面上各种模块配网方式的优劣对比表(供参考)
配 网 方 式
优 势
局 限
直接配网
串口AT指令
1、 直接输入,配网简单,过程明了,成功率高。
1、需提供额外的人机交互接口来输入SSID和密码,例如串口线或LCD。
2、需要占用单片机系统的额外串口或其他接口资源。
SPI接口API
智能配网
普通的
智能配网( SmartConfig )
1、直接用手机配网,不需要提供额外的人机交互接口,也不占用额外的单片机主机资源。
1、手机需安装APP,iOS或Android版。
2、配网原理和过程复杂,成功率较低。
3、需要提供额外的按键或其他接口引导模块在智能配网和正常工作模式间切换。
4、一般不支持通过电脑PC配网。
微信Airkiss
1、和“普通智能配网”优势1相同。
2、不需安装APP,手机上安装有微信就可以配网。
1、只能配网到连接互联网的路由器或热点。
2/3/4、和“普通智能配网”的局限2/3/4相同。
WEB配网
WEB网页配网
1、直接输入,配网简单,过程明了,成功率高。
2、 可以配至的路由或热点,不受限制不必连互联网。
3、 不需要在系统上添加其他接口,适合封闭或不方便引出额外接口的场合。
4、 可以通过任意支持WIFI和浏览器的设备来配网,非常灵活实用。
1、需要一个支持WIFI功能和浏览器功能的设备(例如,手机或电脑PC)来配合配网。这一点基本算不上局限了。
这里有一个基于8266WIFI模块案例的演示视频,在这个模块上做的WEB服务器: https://v.qq.com/x/page/o0523skib3s.html (请选择超清或以上查看)。
在这个视频里,可以看到,一旦连接上模块后,手机上会自动弹出一个网页,可以在里面配网并提示配网进展状态、查看连接状态,以及很多其他的功能。