0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

WIFI模块的各种配网方式之比较(串口AT、SmartConfig、微信Airkiss、WEB网页配网....)

随时随地的自由互联 2019-08-09 19:22 次阅读

本文汇总介绍了目前市面上各种WIFI模块的常见的配网方式的原理和实现,对比了各种配网方式的优势和局限,得出结论,WEB配网是最直接、最简单、最灵活、约束条件最少的配网方式,应该成为WIFI模块配网的标配。而基于乐鑫ESP8266芯片的WIFI模块,可以实现对目前市面上各种主流方式的配网方式的支持,也包括对WEB配网方式的支持。


在某宝关键字搜索 "SPI 高速 多链接"可以找到支持多种配网方式的高速WIFI模组产品化案列的详细说明。

1 WIFI模组的配网

1.1 “连网配网

1.1.1 何谓连网自动连网

连网一般指的是WIFI设备通过SSID和密码来连接热点AP或路由器,以加入后者所建立的网络的过程。

自动连网一般指的是WIFI设备在启动、掉线、或扫描到特定的SSID后,会使用之前保存的(启动时的自动连网)或之前连接成功(掉线后的自动连网)SSID与密码,自动连接热点AP或路由器,而不需要手工重新输入。其中,WIFI设备掉线后的自动连网,又常常被称为自动重连

1.1.2 何谓配网

配网指的是,外部向WIFI模组提供SSID和密码,以便WIFI模组可以连接指定的热点或路由器并加入后者所建立的相关WIFI网络。

WIFI模组一般不像电脑手机或平板等设备,有丰富的人机交互界面,可以方便的实现配网,因此,WIFI模组对配网方式的支持,会成为WIFI模组特性的一个基本话题。

能提供方便、灵活多样、条件约束少的配网方式,常常成为WIFI模组的卖点之一,更是WIFI模组的使用者,在选型时需要慎重考虑评估的重要方面。

1.2 各种配网方式简介

常见的配网方式,一般可以归为如下几大类:直接配网、智能配网、WPS配网、WEB网页配网。用户可以根据具体的使用场合选择各种最适合的配网方式。Anylinkin推荐大家使用WEB配网方式,因为这种配网方式最简单、最直观、最方便,适应性也最好(所依赖的条件约束最少)。

1.2.1 直接配网(串口ATSPI APISDIO APII2C API….

所谓直接配网,就是通过UART串口、SPI口、SDIO口、I2C等主机接口,按照一定的通信协议,将SSID和密码,直接传递给WIFI模组。WIFI模组在收到SSID和密码后去连接热点或路由器,并将连接的状态结果从主机接口返回。

例如,常见的通过UART串口AT指令配网、SPI API函数配网、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.3 WPS一键配网

这种方式需要路由器支持WPS。因为安全性的缘故,近几年已经逐步被放弃,越来越多的路由器开始放弃或者自动关闭对这种方式的支持。

1.2.4 WEB网页配网

在支持AP模式的WIFI模组上内嵌一个简易的WEB服务器,在WEB网页里提供了配网的交互接口。其他网络设备(例如手机、平板、电脑等)直接连接上WIFI模组的AP热点,在浏览器上打开该WEB网页,在网页里配置该WIFI模组的STA部分去连接其他的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 直接配网(串口ATSPI APISDIO APII2C API….)的优势和局限

1、优势

直接输入和结果反馈,实现简单,过程明了,配网可靠。

2、局限

1)需要提供额外的人机交互接口

一般需要额外的机交互接口(例如串口线或LCD),来输入SSID或密码。

2)需要占用单片机系统的额外串口或其他主机接口资源

所以通过串口AT指令或其他主机接口来配网,会受到一些限制,尤其在大量实际场合,设备往往都是封闭式或者不方便提供人机交互接口的,这种方式导致系统的实现和运行维护变得比较麻烦,一般越来越少用到。

1.3.2 一般智能配网(SmartConfig/SmartLink....)的优势和局限

1、优势

不需要提供额外的人机交互接口,不占用额外的单片机资源,直接使用WIFI模组自带的WIFI进行配网,实现比较方便。

2、局限

1 需要安装APP,使用不太方便

一般需要在用户的手机上额外安装APP,而且每个方案供应商提供的APP(及底层协议都可能不相同)。而这个APP一般需要模组供应商来开发,一般需要准备AndroidiOS两款APP。且需要用户下载和安装和更新该APP,比较麻烦。

2)配网原理和过程复杂,成功率相对较低

通过智能配网方式配网,采用一种类似于sniff的分块多次广播和抓包方式,如果网络干扰大或信号弱,就容易丢失数据,导致配网的难度加大,周期长,成功率降低。所以,有些做得不够好的WIFI模组,在使用智能配网时,经常会遇到很难成功的情形。而在终端用户那边,因为操作的复杂性,导致配网成功的几率进一步降低。

3)可能需要提供额外的按键或其他接口

智能配网需要模组预先处于智能配网模式(扫描抓包状态),因此,往往需要一个按键或其他接口,来引导模组在智能配网模式和正常工作模式之间切换。或者,在某个特定阶段(例如启动初始等待20秒)作为智能配网的阶段,用户可以配网,虽可实现单不太灵活,容易带来新的问题。

4)一般不支持通过电脑配网

智能配网一般只提供手机或平板等移动设备的APP,很少提供电操作系统对应的APP,所以一般只能通过手机等移动设备配网,不能通过电脑等配网。

1.3.3 微信Airkiss配网的优势和局限

1、优势

和一般的智能配网方式类似,微信Airkiss配网,不需要提供额外的人机交互接口,不占用额外的单片机资源,使用WIFI模组自带的WIFI进行配网,实现比较方便。

另外,相较于普通的智能配网方式,微信Airkiss不需要安装额外的APP,因此不需要区分AndroidiOS版,直接通过微信里的扫一扫功能,就可以完成智能配网。

2、局限

1)不能让WIFI模组随意配网到任意的路由器,配网到的路由器必须是连接互联网的路由器。

这里的局限包括两点:(1)只能配网到运行微信的手机或平板所连接的路由器(2)只能让WIFI模组针对连接上互联网的路由器进行配网,不能针对没有连接上互联网的局域网路由器配网。

因为,通过微信Airkiss配网,需要手机或平板可以连接上微信服务器也就是互联网,且对模组配网到的路由器必须是手机或平板所当前所连接的路由器。

也就是说,微信Airkiss配网,只能配网到连接着互联网的路由器,不能对没有连上互联网的路由器进行配网。

2)(3)(4)参看1.3.2 一般智能配网(SmartConfig/SmartLink....)的优势和局限

微信Airkiss和许多智能配置的原理基本相似,主要的唯一区别就是依附于微信,不需要安装APP,因此,也会有其他几点的类似局限性。

1.3.4 WEB配网的优势

1、优势

通过WIFI模组内嵌的WEB服务器,来对WIFI模组进行配网,最方便、最简单、基本上没有局限性。其优势表现如下:

1 只需一部支持WIFI带浏览器的设备,去连接WIFI模组自带的AP热点,就可以链接模组内嵌的WEB服务器,打开一个用来配置的WEB网页,来配网到其他路由器。

2 配网简单,很容易成功(成功率和容易程度相当于串口AT等方式的直接配网)。

3 可以配至的路由器或热点,可以连接着互联网,也可以不连接着互联网,可以是任意的只需要SSID+密码就可接入的网络。

4 不需要在系统上添加其他接口,例如按键或串口等,只需要通过模组的现成的WIFI接口进行配网,所以适合封闭或不方便引出额外接口的场合。

5 不仅仅可以通过手机来对WIFI模组进行,也可以通过电脑或其他智能终端(只要可以连WIFI、可以打开网页就成)等来配网。

所以,越来越多的WIFI模组解决方案,都开始支持这种配网方式。但是越简单的操作,往往越容易会带来安全性隐患,这一点为许多模组的WEB配网方式所忽略。所以,提供WEB配网方式的方案,必须考虑到这一点并做出可靠的补偿处理。


在某宝关键字搜索 "SPI 高速 多链接"可以找到支持多种配网方式的高速WIFI模组产品化案列的详细说明。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 配网
    +关注

    关注

    0

    文章

    155

    浏览量

    9077
  • wifi模块
    +关注

    关注

    60

    文章

    380

    浏览量

    73584
收藏 人收藏

    评论

    相关推荐

    wifi模块用到了httpd,单独开http服务器会冲突报错怎么解决?

    wifi模块用到了httpd,单独开http服务器会冲突报错 通过
    发表于 08-01 06:35

    AirKiss完成后,向10000端口发送UDP广播包的长度疑问求解

    问题,是否符合规范? http://iot.weixin.qq.com/wiki/airkiss_d ... manual.pdf
    发表于 07-19 07:47

    wifi smartconfig时功耗比较大,如何降低?

    现在wifismartconfig 时候功耗比较大,现在达不到要求,需要在时降低10mA。 1,如何通过编程的手段进行降低? 2,这
    发表于 07-10 08:09

    Airkiss失败率高的原因?

    我们现在开发的一款产品需要用到,分别尝试使用了Airkiss和ESP_TOUCH,在比较之后,发现有很多时候,Airkiss
    发表于 07-10 06:15

    ESP32C3 wifi失败的原因?

    1, 采用官方提供的at固件,固件版本V2.4.2; 2,发送AT+CWSTARTSMART进入WiFi,启动app; 问题:在2
    发表于 06-26 06:00

    esp32c3用按键长按3s进入模式,为什么还要重启模块

    按键长按3s之后先进入WiFi连接事件,发现连接不上才进入模式,这样时间就比较久了,重新
    发表于 06-20 07:12

    ESP32C3用smartconfig不成功是怎么回事?

    大家好,最近在用ESP32 C3做项目,用的是IDF 4.3在做smartconfig时发现成功率很低,于是用smartconfig的例程直接编译下载同样是成功率很低。基本卡
    发表于 06-20 06:44

    SmartConfig例程在WiFi6路由器下无法成功发送完成通知,怎么处理?

    我家的路由器是TP-LINK TL-XDR3020,开发板是ESP32-WROOM-32D,烧录官方例程(idf 4.3.1)后测试SmartConfig功能,使用和EspTouch都可以获取
    发表于 06-19 07:29

    根据espesp-idfexampleswifismart_config例程来编写的智能,怎么做才能判断智能连接是否失败?

    ;); else if(event_id == SC_EVENT_GOT_SSID_PSWD)/* 得到了智能设备提供的ssid和password */ { printf(\"smartconfig
    发表于 06-19 07:00

    在官WiFi/smart_config中把的任务改成一个函数,为什么不能

    官方写的是一个任务,我想把任务改成一个函数,结果发现不了。 void
    发表于 06-19 06:08

    ESP-IDF-V4.4版本SmartConfig,APP端无法收到结果怎么解决?

    用ESP-IDF-V4.4,SmartConfig,设备可以拿到SSID和PASSWORD,但是设备上报结果会失败报错。导致APP端
    发表于 06-18 07:07

    smartconfig清除网络后再进行时就不成功是什么原因导致的?

    有个项目中对于有个需求,那就是需要清除网络信息并重新,我是用的是arduino环境,我在代码中添加了清除网络数据的功能和smartconfi
    发表于 06-12 06:06

    ESPConfig蓝牙失败的原因?如何解决?

    软件版本:ESP-IDF v4.1 小程序:ESPConfig 问题描述: 1. 无法通过小程序提供的 getWifiList 获取WIFI列表 2. 靠wx自带的获取到WIFI
    发表于 06-11 08:57

    ESP32C2上使用Airkiss功能失败的原因?

    esp_smartconfig_set_type(SC_TYPE_AIRKISS),进行airkiss,使用乐鑫
    发表于 06-06 08:19

    机智云物联网:连接智能AirKiss网技术

    用户提供了更便捷、智能的连接体验。   1.AirKiss网技术的介绍 AirKiss网技术是一项智能设备配置技术,旨在简化用户使用智能硬件的过程。基于
    的头像 发表于 03-26 16:36 672次阅读