Forum: Projekte & Code Micropython Wetterstation


von Christoph M. (mchris)


Angehängte Dateien:

Lesenswert?

Hier der erste, schnelle Versuch, eine Wetterstation als ESP32 
Accesspoint zu bauen. Der DS18b20 OneWire Sensor ist an Port 4 und muss 
mit 4k7 gegen 3.3V betrieben werden.

Vielleicht hat der ein oder andere einen Tipp, was man alles verbessern 
kann.

Ungünstig ist ein wenig, dass man die Webadresse in den Browser tippen 
muss:
http://192.168.4.1/

: Bearbeitet durch User
von Jack V. (jackv)


Lesenswert?

Christoph M. schrieb:
> Vielleicht hat der ein oder andere einen Tipp, was man alles verbessern
> kann.

Grundlegend würde ich es erstmal schlicht „Thermometer“ nennen, eine 
Wetterstation zeigt ja doch ein paar mehr Parameter an. Alternativ mit 
etwa einem BME280 noch Feuchtigkeit und Druck mit reinholen.

Die Werte kann man dann in Intervallen speichern (für so einfache 
Strukturen nehme ich meist plump CSV her: Timestamp, Temperatur, Druck, 
Feuchtigkeit). Da kann man dann hübsche Diagramme für den Verlauf draus 
erstellen und anzeigen lassen.

Eine Kleinigkeit noch: Die Einheit wäre °C. Wenn du es nicht direkt 
schreiben möchtest, ginge ° im HTML

Nicht zuletzt: Wenn du bereits ein lokales WLAN hast, wär’s vielleicht 
praktischer, wenn du den ESP dorthin verbinden lässt, statt einen 
eigenen AP aufzumachen. Dann könntest du mit allen Geräten im Netz die 
Temperaturen anschauen.

Das Script wurde ursprünglich für einen Pi Pico entworfen?

: Bearbeitet durch User
von Sebastian R. (sebastian_r569)


Lesenswert?

Christoph M. schrieb:
> Ungünstig ist ein wenig, dass man die Webadresse in den Browser tippen
> muss:

Schau mal, ob man irgendwo einen Hostnamen vergeben kann, dann wird es 
vielleicht etwas besser.

Statt des Alive-Counters vielleicht eine Anzeige, vor wie vielen 
Sekunden der letzte Wert empfangen wurde.

Ansonsten ja, zur Wetterstation gehört mehr als nur eine Temperatur. 
Zumindest ein zeitlicher Verlauf über die letzten X Stunden wäre 
vielleicht noch hilfreich. AlsZwischenschritt noch Höchst- und 
Tiefsttemperatur der letzten 24 Stunden.

von Christoph M. (mchris)


Lesenswert?

Erst einmal danke für eure Rückmeldungen. Ich werde mal sehen, was sich 
noch so machen lässt.

Jack V. schrieb:
> Eine Kleinigkeit noch: Die Einheit wäre °C.

Ich hatte ursprünglich
1
document.getElementById('internal_temp').textContent =  data.internal + ' °C';

aber wenn das '°' Zeichen eingefügt ist, macht der Browser aus mir 
unerklärlichen Gründen eine 'Ä' vor das '°' Zeichen. Deshalb habe ich es 
dann raus geworfen.

von Christoph M. (mchris)


Lesenswert?

Jack V. schrieb:
> Das Script wurde ursprünglich für einen Pi Pico entworfen?

Eigentlich wollte ich den PiPico-W dafür verwenden und meine 
Netzwerkeinstellungen im Rechner sind noch für den PiPico-W konfiguriert 
und ich wollte nicht alles neu einstellen. Ich denke, wenn man Messung 
und Übertragung des internen ESP32 Temperatursensors rauswirft, müsste 
es mit Microptyhon wahrscheinlich dann auch auf dem PiPico-W 
funktionieren.

von Fred F. (fred08151)


Lesenswert?

Meine ESPs haben einen BME280 und schicken die Daten alle 30 Minuten zur 
Datenbank auf dem Pi, dort lassen sie sich auch schöner visualisieren, 
z.B. mit Grafana.
Zudem kann man mit einem BME280 auch den Taupunkt berechnen, benötigen 
keinen Widerstand, wie der veraltete DS18b20, sondern lassen sich direkt 
mit 3,3V betreiben.

von Heinz R. (heijz)


Lesenswert?

wie wäre es mit einem Display direkt am ESP

Es gibt fertige 2,8" Displays, incl. verbautem ESP32, für unter 20€

von Christoph M. (mchris)


Angehängte Dateien:

Lesenswert?

Hier mal ein zweiter Versuch mit Uhrzeit. Die stimmt erstaunlicherweise, 
obwohl sie aus dem Mikrocontroller kommt.

Fred F. schrieb:
> Meine ESPs haben einen BME280 und schicken die Daten alle 30 Minuten zur
> Datenbank auf dem Pi, dort lassen sie sich auch schöner visualisieren,
> z.B. mit Grafana.

Grafana habe ich vor kurzem erst zufällig entdeckt. Ich hätte aber immer 
gerne "self contained" Systeme ohne äußere Abhängigkeiten. Deshalb ist 
das Beispiel als Accesspoint ausgeführt, dann braucht es gar kein 
externes Netz.
Das einzige Problem könnte jetzt die Uhrzeit sein. Irgendwie muss ja 
synchronisiert werden. Vielleicht gibt es eine Möglichkeit, dass wenn 
ein externes Gerät die ESP-Webseite nutzt, dass dann die Uhrzeit aus dem 
Gerät in den Mikrocontroller übertragen wird.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.