#include "config_manager.h" #include "status_blink.h" #include "user_data.h" #define SSID "Topuino" #define PASSWORD "vvzero.com" extern StatusBlink* statusLed; extern ConfigManager* configManager; extern UserData* userdataManager; static String configPage("\ \ \ \ Topuino\ \ \ \ \

Topuino Config Page

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