WiFi配网(IoT)

物联网设备首先是需要联网,而很多物联网设备是没有屏幕的,也无法输入wifi的账号等信息,故只能利用其它的手段配网。 提供方便、灵活多样、条件约束少的配网方式,常常成为WIFI模块的卖点之一,也是选型时需要慎重考虑评估的一个重要方面。

硬件Wi-Fi芯片可以接收网络上一切802.11包,并在Wi-Fi信道channel1—channel13不断的切换。

常用工具

概念定义

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

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

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

  • 直接配网—-就是通过UART串口、SPI口、SDIO口、I2C等主机接口,按照一定的通信协议,将SSID和密码,直接传递给WIFI模块。

  • 智能配网(Smart Config)—-就是使用WIFI设备本身自带的WIFI信号,在MAC层将SSID和密码按照一定的协议格式填充在MAC包中不加密的包头部分,采用广播和抓包方式,从手机等设备将SSID和密码分段多次传递给WIFI模块。

配网方式分类

常见的配网方式,一般可以归为如下几大类:直接配网(越来越少用)、智能配网、WPS配网(需要路由器支持WPS,淘汰)、WEB网页配网(或许是最佳和标配方式)。

配网方式

  • WEB配网(是最直接、最简单、最灵活、约束条件最少的配网方式)

  • SmartConfig智能配置/SmartLink(联网成功率并不高,70%)

  • 微信Airkiss

  • AP (联网成功率100%)

  • 蓝牙Blufi

  • 设备搭载摄像头设别二维码

WEB网页配网

在支持AP模式的WIFI模块上内嵌一个简易的WEB服务器,在WEB网页里提供了配网的交互接口。

优点

可以简单地在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或路由器。

smartConfig(一键配网模式)

基于WIFI技术的设备接入网方法,需要硬件支持。 智能配网一般需要在发送SSID和密码的设备(例如手机)上安装一个APP,该APP实现了和WIFI模块之间的协议交互(发送SSID和密码)。

smartConfig 模式(快速连接方式):

连接步骤:

  1. 手机连上 WiFi,打开智能硬件指定 APP 软件,进入配置界面,输入手机所在 WiFi 密码,请求配网 TOKEN

  2. 智能硬件开启混杂模式监听所有网络数据包

  3. 手机通过广播、组播循环发送 ssid/password/token

  4. 硬件设备通过 UDP 包(长度)获取配置信息捕捉到 ssid/password/token,连接路由器(广播根据 UDP 包长度,组播根据 IP 地址信息)

从原理上讲只要芯片驱动支持开启混杂模式(WiFi Promiscuous),就可以支持一键配网功能 手机编码发送采用有 UDP 组播或广播,不同的发送方式和编码,对应的解码过程也不一样

优势

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

局限

  • 需要安装APP(一般需要准备Android和iOS两款APP),使用不太方便

  • 配网原理和过程复杂,成功率低

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

  • 一般不支持通过电脑配网

微信Airkiss

微信Airkiss扫一扫是微信提供的一种智能配网方式,因为微信的广泛使用而得到大量普及。和其他的普通的智能配网方式比较,不需要单独安装APP。

缺点:它需要连接微信服务器(在后台下载一个小应用),且其不能随便提供的SSID和密码,只能是使用微信的设备当前所连接的路由器的SSID和密码。

AP 模式:

AP 是 (Wireless) Access Point 的缩写,即 (无线) 访问接入点。简单来讲就像是无线路由器一样,设备打开后进入 AP 模式,在手机的网络列表里面,可以搜索到SSID

连接步骤:

  1. 能硬件设备初始化并进入 AP 模式

  2. 手机扫描 WIFI 列表:扫描到智能硬件设备后(SSID)连接该智能硬件设备,通过 UDP 发送 经过 AES 加密过的 ssid/password/token

  3. 智能硬件设备通过 UDP 包获取配置信息,切换网络模式连接 WIFI 后配网完成

这种模式是将智能硬件当做AP端,手机作为STA模式进行连接配网

来源:简书 CSDN 著作权归作者所有。