SmartConfig配网
常见配网方式
1.目标设备设置为AP模式,移动设备连上目标设备AP之后,移动设备通过HTTP协议将室内WiFi账号与密码发送给目标设备,最后目标设备连上室内WIFI
2.SmartConfig配网:移动设备发送指定协议的UDP数据包,目标设备通过探针(sniffer) 获取UDP数据包之后,根据自定义协议做相应数据处理获得通信信道以及室内WIFI账号密码,最后目标设备连上室内WIFI
AT指令
ESP-12S开启SmartConfig的AT指令是:AT+CWSTARTSMART,指令的详细说明参考官方手册,如下图
什么是SmartConfig
智能配网,比如你拿到一个智能灯,它是可以连接你家的 WIFI 的,但是它不认识你家的 WIFI 怎么办呢,那么你就要告诉它,你家的WIFI 是什么名字,密码是什么,怎么样告诉它是最方便的?
智能灯的开发商开发智能灯的时候附带开发一个APP,通过使用这个 APP 来去告诉智能灯你家的WIFI,然后智能灯就可以连接家里的热点或路由器,成功连上网络
基本原理
SmartConfig方式配网的基本原理是先让设备进入WIFI 混杂模式 (WiFi Promiscuous) 以监听捕获周围的 WIFI 报文,由于设备还没有联网,而 WIFI 网络的数据帧是通过加密的,设备无法知道payload的内容,但是可以知道报文的某些特征数据比如每个报文的长度,同时对于某些数据帧比如UDP的广播包或多播包,其报文的帧头结构比较固定,可以很容易的识别出来。
这个时候在手机app或者小程序中,就可以通过发送UDP的广播包或者多播包,聪明的开发者利用报文的特征比如长度变化来进行编码,将目标 WIFI 路由器的SSID/PSW字符以约定的编码方式发送出去,设备端在捕获到UDP报文后按约定的方式进行解码就可以得到目标WIFI 路由器的相关信息并进行联网
连接过程
什么是ESP-Touch
乐鑫官网介绍:乐鑫自主研发的 ESP-TOUCH 协议采用的是 Smart Config(智能配置)技术来帮助用户将嵌入了 ESP8266EX 的设备连接至 Wi-Fi 网络。用户只需在手机上进行简单操作即可实现智能配置
ESP-Touch使用的是厂商给的APP进行配网操作
值得注意的是,ESP-Touch配网中均是向255.255.255.255地址发送自定义UDP协议包,最后,开发板通过探针(sniffer)功能获取这些协议包并做数据处理,以获取室内 WIFI 账号与密码。
什么是AirKiss
AirKiss是微信硬件平台提供的一种WIFI设备快速入网配置技术,要使用微信客户端的方式配置设备入网,需要设备支持AirKiss技术。
从字面上很容易理解,AirKiss即“飞吻”,是一种信息传递技术。
由于智能设备追求小型化、低功耗等特性,大多数智能设备都没有配置屏幕及键盘等输入外设,设备连接无线网络成为一大难题,因此有了AirKiss。
它是微信硬件平台提供的唯一一个WIFI设备快速入网配置技术,换句话说,厂商想让WIFI设备具备微信控制功能,就必须在产品设计时匹配AirKiss协议。
AirKiss优势
作为微信设备功能的一部分,AirKiss技术相比AP传输和外设辅助传输等方式有两大优势。
首先,用户准备连接硬件设备时,只需要打开微信进行入网配置,无需下载第三方软件。
其次,利用AirKiss技术,用户可省去将设备配置为热点模式的步骤,在配置模式下可直接将无线路由器的SSID发送至设备。
微信配网过程可看:无线通讯(WIFI模块)
参考:
https://zhuanlan.zhihu.com/p/148484689
https://www.freesion.com/article/1836798265/
https://iot.weixin.qq.com/wiki/new/index.html?page=4-1-1