Wetterdaten aufzeichnen

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo Matze,


    für die Aufzeichnung der Daten solltest Du auf jeden Fall eine echte SQL-fähige Datenbank verwenden. Dafür sind die ja da.

    Die Tabelle mit den Bewegungsdaten, also Temperatur, Feuchte, etc. sollte neben dem Datum und der Uhrzeit, getrennt, eine zusätzliche, eindeutige Schlüsselspalte enthalten, als Zeitstempel. Sowas wie YYYYMMDD-HHMMSS (z.B.: 20230517-131500) immer komplett aufgefüllt, mit fester Länge und Position.

    Der Zeittakt sollte 5 Minuten sein, für alle Messungen, dadurch entsteht natürlich eine Redundanz und die Datenmenge wird deutlich größer. Aber die Auswertungen werden erheblich erleichtert. Sieh' die gerne mal meine Wetterstation an Wetterstation Nievenheim


    Gruß, Holger

  • Für den Betrieb einer Web-Anwendung ist die Verwendung eines Datenbank-Servers ein logischer Schritt.


    Wenn man keinen Datenbank-Server betreiben möchte/kann/darf und auch keine Web-Anwendung entwickelt, ist die Verwendung von sqlite3 sinnvoll.

    Anwendungen, die einen Datenbank-Server nicht voraussetzen können, nutzen sqlite: z.B. Firefox, Thunderbird, VSCode, MQTTExplorer, Microsoft Teams, darktable, Atom, discrod .... und die Liste geht weiter

  • Wobei auch für Webanwendungen SQLite3 nicht automatisch ungeeignet ist. Solange da nicht häufig nebenläufig geschrieben wird, ist SQLite3 in der Regel kein Problem.

    „Eat the rich — the poor are full of preservatives.“ — Rebecca ”Becky” Connor, The Connors

  • Ich wusste garnicht das man auch als Datentyp 'timestamp' nehmen kann.

    Ich dachte man muss die vorgegebenen wie text, int, real u.s.w verwenden.


    Edit: also könnte man jeden Datentyp nehmen und es wird in SQLite3 umgewandelt in z.B. TEXT oder INT?

    Edited once, last by matze1 ().

  • Was steht denn als Hardware zur Verfügung?


    Meine Wetterstation läuft mit einen Raspberry 4 (2GB) (vorher Zero WH), BME280 Sensor, MariaDB, Python3 und Apache Webserver. Die Daten werden jede Minute und separat aller 5 Minuten geschrieben. Werte werden auf dem Raspberry und zusätzlich bei meinen Webhoster abgelegt. Die Datenmenge hält sich sehr in Grenzen. Es werden Temperatur, Taupunkt, rel. Feuchte, Luftdruck, maximaler und tatsächlicher Wasserdampfgehalt aufgezeichnet. Macht alles Python und bisschen Mathematik.


    Visualisiert wird das ganze mit Highcharts (JavaBibliothek).

    Edited once, last by miwi1706 ().

  • Ich habe eine sehr einfache Wetterstation, wo nur die Temperatur gemessen wird, aber das alles ist nur zum testen.

    Ich werde mir aber eine mit Niederschlagsmessung, Windmessung usw zulegen (kann mir jemand da was gutes empfehlen?).


    Bis jetzt habe ich alles soweit hinbekommen, habe ein Python Script geschrieben was die Daten einfängt und die Daten an Broker MQTT sendet.


    Von da kann man beliebig die Daten abfangen, ich habe dafür ein Script welches die Daten Abfängt, dann in eine Datenbank (SQLite3) schreibt und per Telegram an mein Handy jede halbe Stunde schickt, so bekomme ich aller 30 Minuten die aktuelle Temperatur auf mein Handy (wüsste jetzt nicht wie man vom Handy aktiv auf solche Daten zugreifen kann).


    Das ist alles beta-Version, bis ich mal eine "richtige" Wetterstation habe.

  • Hallo Matze,

    willst Du Dir einen Wetterstation-Bausatz, mit Mast, Wind und Regenmesser etc. zulegen, oder alle Daten mit separaten Sensoren erfassen ?

    Für die „fertigen“ Funk-Wetterstationen z.B. kann man sehr gut die Software „Cumulus“ (Freeware) auf dem Raspi oder PC verwenden. Die Daten werden dann regelmäßig per USB von dem Display der Wetterstation abgefragt und in Text-Dateien gespeichert. Und können auch gleich angezeigt werden.

    Ein Programm könnte diese dann individuell in eine SQL Datenbank übertragen. Man muss natürlich darauf achten, dass Cumulus die betreffende Wetterstation auch abfragen kann, es sind aber viele Treiber verfügbar. Dieses Vorgehen ist recht verbreitet.

    Für Regenmenge und Winderfassung ist die fertige Wetterstation mit Cumulus ein ganz guter Weg. Alle anderen Daten können über zusätzliche Sensoren direkt am Raspi erfasst und ebenfalls in der Datenbank gespeichert werden.

    Es ist sogar sinnvoll, einige Daten mehrfach parallel aufzuzeichnen; beispielsweise die Temperaturen werden natürlich sowieso von der Wetterstation gemessen, aber die muss wegen Regen- und Windmessung möglichst frei auf einem Mast montiert sein. Da scheint aber den ganzen Tag die Sonne drauf und die Temperatur hingegen sollte in 1m Höhe über dem Erboden im Schatten gemessen werden. Man sollte jeden Sensor an dem für ihn geeigneten Ort anbringen.


    Gruß, Holger

  • Hallo Matze,

    nun ja, mit dem Empfehlen ist das immer so’ne Sache :|

    Ich habe hier eine WH1080 im Einsatz. Zumindest klappt da die Kommunikation mit Cumulus gut. Dazu habe ich einen Raspberry per USB an der Display-Einheit angeschlossen. Die anderen Sensoren über I2C.

    Läuft recht stabil, ist aber keine HighTech-Lösung. Gut ist, dass diese Wetterstationen einen internen Speicher haben und die Daten daher gepuffert abgefragt werden, also nur bei längeren Ausfällen Daten verloren gehen.

    Gruß, Holger

  • OK, mein Ziel ist es nach wie vor alles per Funk zu bekommen.


    Desweiteren ist es, mir eventuell doch eine MyQSL-Datenbank aufzubauen, mit der ich auch von außen zugreifen kann, das Zugreifen mit den auswerten (Diagramme etc) werde ich dann mit Java realisieren.


    Das ist ein schönes Objekt wo ich in allen Bereichen noch lernen und üben kann.

  • Hallo Matze,

    die Datenübertragung von der Wetterstation (draußen auf dem Mast) erfolgt per Funk an ein Display (drinnen), an das man dann den Raspberry über USB anschließt.

    Cumulus schreibt die Daten dann alle 5 Minuten in eine Textdatei, die man mit Python oder dergleichen auslesen kann. Selbiges Programm schreibt die Daten dann in "Form" gebracht in eine Datenbank. Dies geht auch per sFTP auf einen Cloudserver (wenn Du einen hast) im Internet.

    Die eigentliche Auswertung der Daten und deren Anzeige in Reports, erfolgt dann wieder mit einem anderen Programm das z.B. HTML5 - Seiten zur Verfügung stellt, die Du, oder wenn Du wilst jeder, im Browser aufrufen kann.

    ... und ja, jede Menge zu lernen und zu üben :)


    Gruß, Holger