This commit is contained in:
2025-08-24 09:11:23 +02:00
parent a0d2e03058
commit e670ec0e13
2 changed files with 45 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
#define VERSION (char *) "V2.20" #define VERSION (char *) "V2.21"
/* /*
V2.12 230205 neues SDK 8266; AP+Wifi Client; lokaleip eingebaut V2.12 230205 neues SDK 8266; AP+Wifi Client; lokaleip eingebaut
@@ -10,6 +10,7 @@
V2.18 230313 Sommerzeitprüfung auch offline eingebaut; Auf doRTCSecond umgebaut; V2.18 230313 Sommerzeitprüfung auch offline eingebaut; Auf doRTCSecond umgebaut;
V2.19 230327 Sommerzeit stellt die Uhr jetzt auch vor (nicht zurück); neues SDK V2.19 230327 Sommerzeit stellt die Uhr jetzt auch vor (nicht zurück); neues SDK
V2.20 230331 OV-Alzenau in RST Karlstadt geändert (Name beim Booten) V2.20 230331 OV-Alzenau in RST Karlstadt geändert (Name beim Booten)
V2.21 231111 Begrüßungs OV kann jetzt mit "/do?set=owner&to=" gewählt werden (0=OALZ,1=ODES,default=RKST); Debug Zeile ausgeblendet;
*/ */
// Pins for LED MATRIX // Pins for LED MATRIX
@@ -38,7 +39,7 @@
#include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
#include <ESPAsyncTCP.h> #include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h> #include <ESPAsyncWebServer.h>
#include <AsyncElegantOTA.h> #include <ElegantOTA.h>
#include <DNSServer.h> #include <DNSServer.h>
AsyncWebServer webServer(80); AsyncWebServer webServer(80);
DNSServer dnsServer; DNSServer dnsServer;
@@ -104,6 +105,8 @@ char ChipID[10] = "ERROR";
bool withSeconds = true; bool withSeconds = true;
bool alwaysAccessPoint = true; bool alwaysAccessPoint = true;
uint8_t owner = 0;
// ISR for display refresh // ISR for display refresh
void display_updater(){ void display_updater(){
display.display(display_draw_time); display.display(display_draw_time);
@@ -188,6 +191,20 @@ void showOVALZ(void){
spalte += Out5x7Char('u',spalte,zeile,255,255,255)+1; spalte += Out5x7Char('u',spalte,zeile,255,255,255)+1;
} }
void showOVDESSAU(void){
uint8_t zeile=20;
uint8_t spalte=8;
spalte += Out5x7Char('O',spalte,zeile,255,255,255)+1;
spalte += Out5x7Char('V',spalte,zeile,255,255,255)+1;
spalte += Out5x7Char('-',spalte,zeile,255,255,255)+1;
spalte += Out5x7Char('D',spalte,zeile,255,255,255)+1;
spalte += Out5x7Char('e',spalte,zeile,255,255,255)+1;
spalte += Out5x7Char('s',spalte,zeile,255,255,255)+1;
spalte += Out5x7Char('s',spalte,zeile,255,255,255)+1;
spalte += Out5x7Char('a',spalte,zeile,255,255,255)+1;
spalte += Out5x7Char('u',spalte,zeile,255,255,255)+1;
}
void showNTOOLS(void){ void showNTOOLS(void){
uint8_t zeile=5; uint8_t zeile=5;
uint8_t spalte=10; uint8_t spalte=10;
@@ -695,13 +712,27 @@ void setup() {
EEPROM.get(201,pass); EEPROM.get(201,pass);
EEPROM.get(151,appass); EEPROM.get(151,appass);
EEPROM.get(255,owner);
display.begin(16); display.begin(16);
display.setBrightness(ceil(255 * brightness)); display.setBrightness(ceil(255 * brightness));
display.setFastUpdate(true); display.setFastUpdate(true);
doClearLEDs(true); doClearLEDs(true);
//showOVALZ(); switch(owner){
case 0:
showOVALZ();
break;
case 1:
showOVDESSAU();
break;
default:
showRST(); showRST();
}
//showOVALZ();
//showOVDESSAU();
//showRST();
showNTOOLS(); showNTOOLS();
display_update_enable(true); display_update_enable(true);
@@ -830,7 +861,7 @@ void setup() {
webServer.on("/poll", HTTP_GET, [] (AsyncWebServerRequest *request) {html_poll(request);}); webServer.on("/poll", HTTP_GET, [] (AsyncWebServerRequest *request) {html_poll(request);});
//webServer.on("/resetAP", HTTP_GET, [] (AsyncWebServerRequest *request) {html_resetAP(request);}); //webServer.on("/resetAP", HTTP_GET, [] (AsyncWebServerRequest *request) {html_resetAP(request);});
AsyncElegantOTA.begin(&webServer); // Start AsyncElegantOTA ElegantOTA.begin(&webServer); // Start AsyncElegantOTA
webServer.begin(); webServer.begin();
if(rtcEnabled) if(rtcEnabled)
@@ -890,6 +921,8 @@ void loop(){
} }
if(APEnabled) if(APEnabled)
dnsServer.processNextRequest(); dnsServer.processNextRequest();
ElegantOTA.loop();
} }
//alles was WEB ist ... //alles was WEB ist ...
@@ -1084,6 +1117,11 @@ void html_do(AsyncWebServerRequest *request) {
} }
} }
}else if((s_set == "owner")& (request->hasParam(PARAM_TO))) {
s_value = request->getParam(PARAM_TO)->value();
owner = s_value.toInt();
EEPROM.put(255,owner);
EEPROMDataNotSaved = true;
} }
request->send(200, "text/plain", "OK"); request->send(200, "text/plain", "OK");
lastminutes = -1; lastminutes = -1;
@@ -1095,8 +1133,9 @@ void html_do(AsyncWebServerRequest *request) {
request->send(200, "text/plain", "OK"); request->send(200, "text/plain", "OK");
delay(1000); delay(1000);
ESP.restart(); ESP.restart();
} }else{
request->send(200, "text/plain", "NOK"); request->send(200, "text/plain", "NOK");
}
} }
void html_resetAP(AsyncWebServerRequest *request) { void html_resetAP(AsyncWebServerRequest *request) {

View File

@@ -139,7 +139,6 @@ const char html_page_index[] PROGMEM = R"rawliteral(
position: relative; position: relative;
text-decoration: none; text-decoration: none;
text-transform: uppercase; text-transform: uppercase;
width: 100%;
padding: 0.25rem 0.5rem; padding: 0.25rem 0.5rem;
@media(min-width: 600px) { @media(min-width: 600px) {
margin: 0 1em 2em; margin: 0 1em 2em;
@@ -238,7 +237,7 @@ const char html_page_index[] PROGMEM = R"rawliteral(
</span> </span>
</div> </div>
</div> </div>
<input id="d" type='text' style='width:80%;font-size:0.75rem;' value=''> <input id="d" type='text' style='width:80%;font-size:0.75rem;display:none;' value=''>
<div class='option m50'> <div class='option m50'>
<input class="fs17" id="save" class="btn" type='button' value='dauerhaft speichern' onclick='save();'> <input class="fs17" id="save" class="btn" type='button' value='dauerhaft speichern' onclick='save();'>
</div> </div>