Hallo liebe Gemeinde,
ich bin gerade dabei, wie hunderttausend andere auch, ein WLAN
Thermometer zu bauen. Weil ich es gern richtig mache, soll es wie folgt
funktionieren.
Ich verwende ESP8266 auf NodeMCU mit Arduino.
Das Teil liegt in einer Ecke und zeichnet alle XX Sekunden die
Temperatur von 1 bi 16 DS18B20 auf. Die Daten werden Permanent in einer
Datei auf dem ESP8266 Board gespeichert. Wenn ich Lust und Zeit habe,
rufe ich die Daten über WLAN ab. Ich habe ein PC Programm programmiert,
welche die Datenübertragung anstößt und die Daten dann aufnimmt. Das
klappt alles.
Meine Fragen:
1. Was passiert, wenn während meiner Abwesenheit die WLAN Verbindung
zusammenbricht?
2. Wie erkenne ich auf dem ESP Board, das das so ist, und dass er sich
nun neu verbinden sollte?
3. Solange er Daten aufzeichnet, stört das Fehlen der Verbindung nicht!
Er zeichnet einfach weiter auf, aber nur, wenn es mir gelingt, dass ein
nicht erfolgreicher Verbindungsaufbau nicht alles blockiert. Wie
programmiere ich das?
Üblicherweise wird ja in den allermeisten Fällen so hier gestartet:
1 | WiFi.begin(ssid, password);
|
2 |
|
3 | // Check if module is still connected to WiFi.
|
4 | if (WiFi.status() != WL_CONNECTED)
|
5 | {
|
6 | while (WiFi.status() != WL_CONNECTED)
|
7 | {
|
8 | delay(500);
|
9 | }
|
10 | // Print the new IP to Serial.
|
11 | printWiFiStatus();
|
12 | }
|
13 |
|
14 | // Start TCP server.
|
15 | server.begin();
|
Die Zeile
1 | while (WiFi.status() != WL_CONNECTED)
|
blockiert die ganze Abarbeitung, bis ein Netz gefunden wird, oder
jemand Reset drückt. (Reset ist ganz schlecht, weil ich kein DS1307
Module installieren will!)
Danke für Eure Antworten.