ESP8266之smartconfig

       smartconfig,字面意思智能配置,所谓智能,我觉得应该体现在配网上的方便快捷。如下图所示,手机已经通过无线WIFI接入了路由器,而设备不知道无线路由器WIFI密码,这时可通过手机将路由器WIFI信息告知设备,smartconfig可以理解为接入路由器的手机快速配置设备,使其接入路由器

     smartconfig完成配网主要分以下3个步骤:

1、设备进入初始化状态,开始收听附近的 WiFi 数据包。

2. 手机/平板设置 WiFi 名字和密码后,发送 UDP 广播包。

3. 设备通过 UDP 包(长度)获取配置信息,切换网络模式,连接上家里 WiFi,配置完成。

       关于UDP数据包发送有一个难点是,如果WLAN都是不加密的话,那UDP直接把相关信息发出来就好,但可惜路由器AP的加密方式是不固定的,模块没法知道UDP数据是何种加密方式,因此没办法解析出DATA信息,DATA不行,聪明的人类打算从其他字段下手,大部分字段手机端无法获得权限,最适合的只剩下长度字段。

      ESP8266 smartconfig使用AT指令进行配置,关于smartconfig指令只有两条:

AT+CWSTARTSMART—开启 SmartConfig

AT+CWSTOPSMART—停⽌止 SmartConfig

1、配置AT+CWSTARTSMART=1,wifi模块会一直进入广播监听模式。通过手机发送UDP信息:

2、直到成功接受到ssid和pwd,手机会接受到相应的应答,并显示发送成功的信息模块的回传信息,WIFI模块在连接过程中的提示信息如下:

3、最后通过AT+CWSTOPSMART=1停止smart config ,无论 smartconfig 成功与否,调⽤ AT+CWSTOPSMART 可释放快连占⽤用的内存。

猜你喜欢

转载自blog.csdn.net/qq_15391889/article/details/81416964