开启辅助访问 天气与日历

登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 1567|回复: 0

微信小程序一键配网

[复制链接]

70

主题

73

帖子

775

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
775

活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2021-9-7 22:48:36 | 显示全部楼层 |阅读模式 来自 中国陕西西安
安信可官方小程序源码

  1. https://github.com/xuhongv/WeChatMiniAP2Net
复制代码
什么是智能配网智能配网这种快速连接方式,相对于 AP 模式连接简化操作,更加贴近于市场

1、手机连上 WiFi,打开智能硬件指定 APP 软件,进入配置界面,输入手机所在 WiFi 密码,请求配网 TOKEN
2、智能硬件开启混杂模式监听所有网络数据包
3、手机通过广播、组播循环发送 ssid/password/token
4、硬件设备通过 UDP 包(长度)获取配置信息捕捉到 ssid/password/token,报文后解码,得到正确的 SSID 和密码,然后主动连接指定 SSID 的路由完成连接。
222.png


智能配网过程
进入智能配网模式后, 用手机微信扫描安信可官方二维码

输入WIFI密码

微信会广播这些信息,

ESP32获取后得知 WIFI名, 密码. 自动存储好. 自动连接WIFI

示例, 智能配网过程

思路: 先自动联网20秒, 如果失败了进入智能配网阶段, 智能配网过程如上

  1. #include
  2. #include "WiFi.h"

  3. void mySmartWifiConfig()
  4. {
  5.   WiFi.mode(WIFI_MODE_STA);
  6.   Serial.println("开启智能配网:");
  7.   WiFi.beginSmartConfig();
  8.   while (1)
  9.   {
  10.     Serial.print(".");
  11.     delay(500);
  12.     if (WiFi.smartConfigDone())
  13.     {
  14.       Serial.println("配网成功");
  15.       Serial.printf("SSID:%s", WiFi.SSID().c_str());
  16.       Serial.printf("PSW:%s", WiFi.psk().c_str());
  17.       break;
  18.     }
  19.   }
  20. }

  21. bool autoConfig()
  22. {
  23.   WiFi.disconnect(true,true);
  24.   WiFi.begin();
  25.   for (size_t i = 0; i < 20; i++)
  26.   {
  27.     int wifiStatus = WiFi.status();
  28.     if (wifiStatus == WL_CONNECTED)
  29.     {
  30.       Serial.println("自动连接成功!");
  31.       return 1;
  32.     }
  33.     else
  34.     {
  35.       delay(1000);
  36.       Serial.println("等待自动配网中...");
  37.     }
  38.   }
  39.   Serial.println("无法自动配网!");
  40.   return 0;
  41. }

  42. void setup()
  43. {
  44.   Serial.begin(115200);
  45.   delay(5000);
  46.   if (!autoConfig())
  47.   {
  48.     mySmartWifiConfig();
  49.   }
  50. }
  51. void loop()
  52. {
  53.   if (WiFi.isConnected())
  54.   {
  55.     Serial.println("网络已连接");
  56.     delay(1000);
  57.   }
  58. }
复制代码
第一次连接时:


手机端也会同步显示:






第二次连接时:










您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Geek Planet ( 陕ICP备19010480号 )

GMT+8, 2024-9-8 08:59 , Processed in 0.068250 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表