#include "WifiConfigManager.h" #include "StatusLed.h" #include "UserData.h" #define SSID "Topuino" #define WIFI_PASSWORD "vvzero.com" extern StatusLed* statusLed; extern WifiConfigManager* wifiConfigManager; extern UserData* userdataManager; static String configPage("\ \ \ \ Topuino\ \ \ \ \

Topuino Config Page

\
\
\
\ \ \
\
\ \ \
\
\ \
\
\
\ \ \ "); static void handleOnConnect() { wifiConfigManager->httpServer.send(200, "text/html", configPage); } static void handleOnCommit() { if (wifiConfigManager->httpServer.hasArg("ssid") && wifiConfigManager->httpServer.hasArg("psw")) { userdataManager->SetWifiSsid(wifiConfigManager->httpServer.arg("ssid")); userdataManager->SetWifiPasswd(wifiConfigManager->httpServer.arg("psw")); userdataManager->ConfirmWifiData(); wifiConfigManager->httpServer.send(200, "text/html", "OK"); statusLed->SetBlinkRate(StatusLed::BlinkRate::RateAlwaysOn); delay(200); ESP.restart(); } else { wifiConfigManager->httpServer.send(200, "text/html", "ERROR"); } } WifiConfigManager::WifiConfigManager() : localIp(192,168,1,1), gateway(192,168,1,1), subnet(255,255,255,0), httpServer(80) { statusLed->SetBlinkRate(StatusLed::BlinkRate::Rate0_5Hz); WiFi.softAPConfig(localIp, gateway, subnet); WiFi.softAP(SSID, WIFI_PASSWORD); delay(100); httpServer.on("/", handleOnConnect); httpServer.on("/setup", handleOnCommit); httpServer.begin(); } void WifiConfigManager::ProcessConfig() { while (1) { httpServer.handleClient(); } }