安信可官方小程序源码
- https://github.com/xuhongv/WeChatMiniAP2Net
复制代码 什么是智能配网智能配网这种快速连接方式,相对于 AP 模式连接简化操作,更加贴近于市场
1、手机连上 WiFi,打开智能硬件指定 APP 软件,进入配置界面,输入手机所在 WiFi 密码,请求配网 TOKEN
2、智能硬件开启混杂模式监听所有网络数据包
3、手机通过广播、组播循环发送 ssid/password/token
4、硬件设备通过 UDP 包(长度)获取配置信息捕捉到 ssid/password/token,报文后解码,得到正确的 SSID 和密码,然后主动连接指定 SSID 的路由完成连接。
智能配网过程
进入智能配网模式后, 用手机微信扫描安信可官方二维码
输入WIFI密码 微信会广播这些信息, ESP32获取后得知 WIFI名, 密码. 自动存储好. 自动连接WIFI 示例, 智能配网过程思路: 先自动联网20秒, 如果失败了进入智能配网阶段, 智能配网过程如上 - #include
- #include "WiFi.h"
-
- void mySmartWifiConfig()
- {
- WiFi.mode(WIFI_MODE_STA);
- Serial.println("开启智能配网:");
- WiFi.beginSmartConfig();
- while (1)
- {
- Serial.print(".");
- delay(500);
- if (WiFi.smartConfigDone())
- {
- Serial.println("配网成功");
- Serial.printf("SSID:%s", WiFi.SSID().c_str());
- Serial.printf("PSW:%s", WiFi.psk().c_str());
- break;
- }
- }
- }
-
- bool autoConfig()
- {
- WiFi.disconnect(true,true);
- WiFi.begin();
- for (size_t i = 0; i < 20; i++)
- {
- int wifiStatus = WiFi.status();
- if (wifiStatus == WL_CONNECTED)
- {
- Serial.println("自动连接成功!");
- return 1;
- }
- else
- {
- delay(1000);
- Serial.println("等待自动配网中...");
- }
- }
- Serial.println("无法自动配网!");
- return 0;
- }
-
- void setup()
- {
- Serial.begin(115200);
- delay(5000);
- if (!autoConfig())
- {
- mySmartWifiConfig();
- }
- }
- void loop()
- {
- if (WiFi.isConnected())
- {
- Serial.println("网络已连接");
- delay(1000);
- }
- }
复制代码 第一次连接时:
手机端也会同步显示:
第二次连接时:
|