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://www.zgcwkj.com/archives/139.html
轉載聲明:請注明本文章的標題及內容的出處和聲明,謝謝
評論已關閉