#include #include #include #include "structs.h" #include "prototypes.h" const char* ssid = "PPIA"; const char* password = "pawelpdaldonejta"; unsigned char brightness = 100; WebServer server(80); void handleBrightness() { if (server.hasArg("value")) { brightness = server.arg("value").toInt(); } server.send(200, "text/plain", "OK"); } void handleRoot() { size_t len = strlen(index_html); server.setContentLength(len); server.send(200, "text/html", ""); const size_t CHUNK = 256; for (size_t i = 0; i < len; i += CHUNK) { size_t n = (len - i < CHUNK) ? len - i : CHUNK; server.client().write((const uint8_t*)(index_html + i), n); } } void handleToggleProgram() { if (server.hasArg("program") && server.hasArg("enabled")) { String program = server.arg("program"); bool enabled = server.arg("enabled") == "true"; if (program == "top_text") { program_top_text_enabled = enabled; } else if (program == "bottom_text") { program_bottom_text_enabled = enabled; } else if (program == "vehicles") { program_vehicles_enabled = enabled; } else { server.send(400, "text/plain", "Unknown program"); return; } server.send(200, "text/plain", "OK"); } else { server.send(400, "text/plain", "Missing program or enabled parameter"); } } void handleProgramStatus() { StaticJsonDocument<128> doc; doc["top_text"] = program_top_text_enabled; doc["bottom_text"] = program_bottom_text_enabled; doc["vehicles"] = program_vehicles_enabled; doc["brightness"] = brightness; String json; serializeJson(doc, json); server.send(200, "application/json", json); } void start_server() { WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { pixels.clear(); scrollAllScrollableTexts(true); pixels.show(); delay(50); } Serial.println("Connected to WiFi"); Serial.println(WiFi.localIP()); server.on("/", handleRoot); server.on("/toggle-program", HTTP_POST, handleToggleProgram); server.on("/program-status", HTTP_GET, handleProgramStatus); server.on("/brightness", HTTP_POST, handleBrightness); server.begin(); } void handle_server() { server.handleClient(); }