diff --git a/LichtWecker/LichtWecker.ino b/LichtWecker/LichtWecker.ino index 3f69e4f..ca84aa3 100644 --- a/LichtWecker/LichtWecker.ino +++ b/LichtWecker/LichtWecker.ino @@ -9,17 +9,19 @@ #include #include #include -#include +#include ; #include #include //https://github.com/agnunez/ESP8266-I2C-LCD1602 #include //https://github.com/SensorsIot/NTPtimeESP #include String Hardware = "0.10"; -String Software = "0.05"; +String Software = "0.06"; +String ntp_server = "ntp2.uni-augsburg.de"; // Set web server port number to 80 ESP8266WebServer server(80); +ESP8266HTTPUpdateServer httpUpdater; //LED Band Setup #define FASTLED_ESP8266_RAW_PIN_ORDER @@ -36,7 +38,7 @@ CRGB leds[NUM_LEDS]; RTClib RTC; DS3231 Clock; //NTP Setup -NTPtime NTPch("ntp2.uni-augsburg.de"); // Choose server pool as required +NTPtime NTPch(ntp_server); // Choose server pool as required //Display LiquidCrystal_I2C lcd(0x3f, 16, 2); @@ -221,44 +223,13 @@ void setup() { previousMillis = millis(); - - - //------------------------------------------------- - //OTA - // No authentication by default - - ArduinoOTA.setPassword(NodeName.c_str()); - ArduinoOTA.setHostname(NodeName.c_str()); - - ArduinoOTA.onStart([]() { - write_log("Start"); - }); - ArduinoOTA.onEnd([]() { - write_log("\nEnd"); - }); - ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { - write_log("Progress: " + String(progress / (total / 100))); - }); - ArduinoOTA.onError([](ota_error_t error) { - write_log("Error: " + String(error)); - if (error == OTA_AUTH_ERROR) write_log("Auth Failed"); - else if (error == OTA_BEGIN_ERROR) write_log("Begin Failed"); - else if (error == OTA_CONNECT_ERROR) write_log("Connect Failed"); - else if (error == OTA_RECEIVE_ERROR) write_log("Receive Failed"); - else if (error == OTA_END_ERROR) write_log("End Failed"); - }); - ArduinoOTA.begin(); - //------------------------------------------------- update_time_from_web(); - + setup_webserver(); } void loop() { - //OTA - ArduinoOTA.handle(); - //OTA handle_webserver(); unsigned long currentMillis = millis(); unsigned long intervall = currentMillis - previousMillis; diff --git a/LichtWecker/webserver.ino b/LichtWecker/webserver.ino index 650c301..86142ae 100644 --- a/LichtWecker/webserver.ino +++ b/LichtWecker/webserver.ino @@ -1,6 +1,8 @@ String logfile = ""; void setup_webserver(){ + httpUpdater.setup(&server, "Licht", "Wecker"); + server.on("/log", []() { //Define the handling function for the path server.send(200, "text/plain", logfile); @@ -16,8 +18,8 @@ void handle_webserver(){ } -String Header = "Lichtwecker

Licht Wecker

"; -String Footer = "



Hardware: " + Hardware + ", Software:"+ Software +"
"; +String Header = "Lichtwecker

Licht Wecker


"; +String Footer = "



Not for Sale, Prototyp by CHM, Hardware: " + Hardware + ", Software: "+ Software +"
"; void handleRootPath() { //Handler for the rooth path handleArgs(); @@ -74,6 +76,7 @@ void handleArgs(){ break; } else if(server.argName(i) == "reset" && server.arg(i) == "true"){ + print_reset(); ESP.restart(); break; } @@ -85,16 +88,21 @@ void handleArgs(){ void print_website(){ bool A1 = Clock.checkAlarmEnabled(1); bool A2 = Clock.checkAlarmEnabled(2); - String Alarm1 = "Alarm 1:
:
Sommerzeit: " + getBoolString(summer) + " Aktiv: " + getBoolString(A1) + "
Aktivieren " + "  Deaktivieren"; - String Alarm2 = "Alarm 2:
:
Sommerzeit: " + getBoolString(summer) + " Aktiv: " + getBoolString(A2) + "
Aktivieren " + "  Deaktivieren"; + String Alarm1 = "Alarm 1:
:
Sommerzeit: " + getBoolString(summer) + "
Aktiv: " + getBoolString(A1) + "
Aktivieren " + "  Deaktivieren"; + String Alarm2 = "Alarm 2:
:
Sommerzeit: " + getBoolString(summer) + "
Aktiv: " + getBoolString(A2) + "
Aktivieren " + "  Deaktivieren"; String Alarm = "

Alarm

" + Alarm1 + "

" + Alarm2; String Zeit = "

Zeit

" + String(h) + ":" + String(m) + ":" + String(s) + " - " + String(d) + "." + String(M) + "." + String(y) + " | DST: " + String(summertime_EU(y,M,d,h,1)); - String NTP = "

NTP

" + String("stündliches Zeit Update über Netzwerk: ") + getBoolString(ntp_update) + "
Aktivieren " + "  Deaktivieren"; - String Reboot = "

System:

Neustart"; + String NTP = "

NTP

" + String("stündliches Zeit Update über " + ntp_server + ": ") + getBoolString(ntp_update) + "
Aktivieren " + "  Deaktivieren"; + String Reboot = "

System:

Neustart

Software Update Modus"; String Body = Alarm + Zeit + NTP + Reboot; server.send(200, "text/html", Header + Body + Footer); } +void print_reset(){ + String Body = "Neustart... Neu laden"; + server.send(200, "text/html", Header + Body + Footer); + delay(500); +} //Helpers //####################################################################################