ESP8266 WIFI 配网,WiFiManager 库的使用
仓库:
https://github.com/tzapu/WiFiManager
代码:
#include <DNSServer.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>
// 初始化wifimanager
void initWifiManager()
{
WiFiManager wifiManager; // 创建 wifimanager 对象
// wifiManager.resetSettings(); // 重置保存的修改
wifiManager.setConnectTimeout(10); // 配置连接超时
wifiManager.setDebugOutput(true); // 打印调试内容
wifiManager.setMinimumSignalQuality(30); // 设置最小信号强度
IPAddress _ip = IPAddress(192, 168, 4, 1); // 设置固定AP信息
IPAddress _gw = IPAddress(192, 168, 4, 1); // 设置固定AP信息
IPAddress _sn = IPAddress(255, 255, 255, 0); // 设置固定AP信息
wifiManager.setAPStaticIPConfig(_ip, _gw, _sn); // 设置固定AP信息
wifiManager.setAPCallback(configModeCallback); // 设置进入AP模式的回调
wifiManager.setSaveConfigCallback(saveConfigCallback); // 设置点击保存的回调
wifiManager.setBreakAfterConfig(true); // 设置 如果配置错误的ssid或者密码 退出配置模式
wifiManager.setRemoveDuplicateAPs(true); // 设置过滤重复的AP 默认可以不用调用 这里只是示范
if (!wifiManager.autoConnect("ESP8266Config", "")) // 尝试连接网络,失败去到配置页面
{
//reset and try again, or maybe put it to deep sleep
Serial.println("failed to connect and hit timeout");
ESP.reset(); //重置并重试
delay(1000);
}
Serial.print("IP Address : ");
Serial.println(WiFi.localIP());
}
// 配置进入AP模式通知回调
void configModeCallback(WiFiManager *myWiFiManager)
{
Serial.println("Entered config mode"); //进入配置模式
Serial.print("Wifi Name : ");
Serial.println("Wifi Name : " + myWiFiManager->getConfigPortalSSID());
Serial.print("Wifi IP : ");
Serial.println(WiFi.softAPIP());
}
// 设置点击保存的回调
void saveConfigCallback()
{
Serial.println("Should save config");
}
说明:
Arduino编程的 setup() 方法内调用 initWifiManager() 方法即可使用,烧写上去即可观看结果
版权属于:zgcwkj
本文链接:https://zgcwkj.com/archives/139.html
转载声明:请注明本文章的标题及内容的出处和声明,谢谢
评论已关闭