Guten Morgen,
derzeit versuche ich mir einen Temperaturlogger zu bauen, der einerseits Daten über WLAN versendet, aber Daten auch speichert. Dias soll so funktionieren:
Wenn mein Computer eingeschaltet ist und das Temperaturanzeigeprogramm läuft, soll der Logger die Daten zu diesem Programm schicken. Wenn das Programm nicht läuft, dann soll der die Daten auf dem Logger speichern. Der Temperaturlogger wird mittels ESP8266 realisiert.
Ich habe die Verbindung zum WLAN hinbekommen, ich kann auch die Daten zu meinem Ausleseprogramm schicken. Ich kann auch die Daten auf dem ESP speichern.
Eines gelingt mir nicht. Ich finde keine Lösung, wie ich dem ESP sage: "Das Ausleseprogramm läuft". Ich war der Meinung, ich könnte das mit client.connected erledigen. Aber leider ist client.connected wahr, sobald ich eine WIFI Verbindung habe.
Ich dachte bisher, die WIFI Verbindung wäre sozusagen die physische Möglichkeit Daten zu übertragen und die Client - Server - Verbindung käme erst zustande, wenn ich eben eine solche etabliere. In meinem Fall vom Temperaturanzeigeprogramm aus.
Irre ich? Gibt es einen Weg?
Herzlichen Dank für Deine schnelle Antwort!
Ich habe mich für Variante 1 entschieden, der ESP sendet nur nach Anfrage, ansonsten speichert er lokal. Es funktioniert.
Zu Deiner dritten Antwort habe ich eine Frage: Wie soll ich auf dem NAS vom ESP aus speichern? Das wäre tatsächlich die idealste Lösung!
Auf meinem NAS läuft eine MySQL-Datenbank. Es geht auch mit einer DB beim Provider, wenn der fernen Zugriff erlaubt.
Hier habe ich in #6 einen Code dazu gepostet.
Gruß Tommy
Warum nicht den ESP zum Server machen. Der ESP speichert immer lokal und das Anzeigeprogramm ruft die Daten ab, ist also Client.
Wenn das Anzeigeprogramm die Daten auch zwischenspeichert, dann kann es die Daten als "Block" abrufen, die seit dem letzten Abruf aufgelaufen sind. Danach kann es dem ESP sagen er soll diese Daten lokal "vergessen".
Oder bei einem Abruf werden automatisch immer alle Daten übertragen, die seit dem letzten Abruf aufgelaufen sind und werden vom ESP dann "vergessen".
Mario.
Ich glaube, so hat es der TO grundlegend auch realisiert, denn er schreibt er sendet nur nach Anforderung an den ESP. Ein Programm dass auf eine Anforderung wartet, um etwas zu tun, ist ein Server.
Der Ausbau mit der Blockverarbeitung könnte eine gute Erweiterung ergeben.
Gruß Tommy