Hallo Leute,
aktuell stehe ich leider bei einem kleinen Problem an, wo ich eure Hilfe brauchen könnte. Ich versuche gerade eine HTML Seite zu basteln, womit ich meine WiFi-Netzwerke anzeige, wobei ich dann SSID und Passwort in Eingabefelder eingeben möchte, um diese Daten auf meinem ESP32 zu speichern. Um die Daten nach einmaliger Eingabe zu persistieren, habe ich mittels SPIFFS ein JSON-File gespeichert, welches die ID und den dazugehörigen Key speichert. Bei Restart des ESP, durchlauft der Setup dann einmalig die "getDatafromMemoryAndConnect()"-Methode und versucht, die Daten aus der JSON zu laden und eine Verbindung damit herzustellen. Leider stoße ich hier immer auf folgendes Problem:
Auf meinem Async-Server habe ich einen Endpunkt erstellt, welche die Daten aus den Eingabefeldern auslest und an meine Wifi Methode übergibt, um eine Verbindung herzustellen. Nun wird für versucht, eine Verbindung herzustellen. Falls es klappt, sollen die Daten auf meinem JSON gespeichert werden, falls nicht, sollte ein 400er Error zurück gegeben werden. Leider stürzt mein ESP wegen einem getriggerten Watchdog immer ab, sobald falsche Daten eingegeben haben. Ich vermute hier, dass die 10 Sekunden Wartezeit den Watchdog auslösen, da der ESP denkt, hängen geblieben zu sein.. habe ich das richtig verstanden? Würde es hier einen besseren Workaround geben oder geht der Ansatz schon in eine richtige Richtung? Da die Probleme eigentlich nur auftreten, wenn die Wifi Credentials falsch sind, ist mir auch aufgefallen, dass es vorkommen kann, zuerst die richtigen Daten einzugeben -> ESP verbindet sich. Nun drückt man im Browser jedoch bei bereits verbundenem ESP auf zurück und sendet falsche Daten erneut. Nun ist der ESP aber schon verbunden und speichert die falschen in mein JSON, da er ja nur prüft, ob er eine Verbindung herstellen konnte. Wie kann ich dies umgehen?