Wetterstation

  • Dieses Projekt ist mit dem Wunsch entstanden, endlich aktuelle Wetterwerte aufzeichnen zu können. Hierbei war auch von Anfang an klar, das es sich um ein Langzeitprojekt mit mehreren Komponenten handelt.


    Im Folgenden möchte ich auf die Startbedingungen und erste Schritt eingehen:

    Datenverwaltung

    Als erstes hat sich die Frage gestellt wo und wie die Daten gespeichert werden sollen. Um die Daten später performant abrufen und speichern zu können habe ich mich dafür entschieden eine MySQL-Datenbank anzulegen. (mein SQL-Server läuft auf meinem Synology-NAS). Für die Datenbank habe ich mir folgendes Schema überlegt:


    Datenübertragung

    Als Messpunkte sollen ESP-8266 zum Einsatz kommen, genauer gesagt ein ESP in Bauform eines NodeMCU, da es mir in meinen Tests jedoch nicht gelungen ist vom ESP direkt in die Datenbank zu schreiben musste ich einen kleinen Umweg gehen. Der ESP sendet nun via HTTP-Request die Messdaten an ein PHP-Skript das ebenfalls auf meinem Synology-NAS läuft. Dieses Skript speichert die Daten dann in der Datenbank:

    PHP
    <?php
    $conn=mysql_connect("192.168.1.63", "wetterstation", "wetter") or
    die("Could not connect: " . mysql_error());
    mysql_select_db("Wetterstation");
    $temp = $_GET["temp"];
    $id = $_GET["id"];
    $date = date('Y-m-d H:i:s');
    mysql_query("INSERT INTO Messwerte VALUES (NULL, $temp, $id, '$date');");
    mysql_close($conn);
    ?>

    Datenaufnahme

    Um die Daten abgreifen zu können, soll wie schon bereits erwähnt ein bzw. mehrere ESP-8266 zum Einsatz kommen. Da die bestellten Sensoren jedoch noch nicht bei mir angekommen sind, kann ich den fertigen Sketch hier noch nicht präsentieren, da dieses Projekt jedoch über einen längeren Zeitraum Arbeit machen wird, ist das nicht schlimm. Dieser Teil wird also zu gegebener Zeit entsprechend ergänzt.

    Die Schaltung

    Natürlich musste ich mir so langsam dann doch einmal Gedanken machen wie die ganze Wetterstation eigentlich verkabelt werden soll. Also habe ich mich zuerst an die Software Fritzing gesetzt und mir die Schaltung skizziert um ein Gefühl für den Aufwand zu bekommen. Rausgekommen ist dabei das folgende Layout


    Fritzing-Skizze zur Wetterstation

    Die Datei kann sich über das entsprechende Github-Repository heruntergeladenwerden.

    Der erste Sketch

    Nach dem nun das Layout feststand und ich dieses schnell provisorisch zusammen gesteckt hatte fing ich an einen Sketch zusammen zu basteln. Wobei zusammen basteln das richtige Stichwort ist. Da ich vorher zwar immer mal etwas zusammen geschustert hatte, aber nicht ständig mit C und Arduinos arbeite, musste ich doch etwas Dr. Google bemühen. Schließlich fand ich dort zahlreiche interessanten Hilfen. Durch diese Hilfen und die entsprechend verlinkten Bibliotheken ist es mir dann gelungen den ersten Sketch zu entwickeln.


    ür diesen Sketch musste ich zwei Bibliotheken aus dem Internet herunterladen und einbinden:

    Soweit funktioniert unsere Idee also. In den nächsten Tagen und Wochen werde ich mich dann damit beschäftigen das PHP-Skript entsprechend anzupassen und die Kommunikation mit dem ESP8266 herzustellen. Außerdem benötigen wir noch ein schönes Gehäuse, was uns dann also im weiteren Projektverlauf zum Konstruieren und Drucken bringt.

    Projektmaterial

    Alle Materialen werde ich fortlaufend über das entsprechende Github-Repositoryverteilen und aktualisieren, sowie die Konstruktionen auf Thingiverse hochladen.


    Literatur


    Quelle dieses Textes sind die Posts auf meinem Blog zu diesem Projekt: Wetterstation

  • Neuigkeiten 2019-11-24

    Als Visualisierung kommt nun Grafana zum Einsatz welches mit die Daten säuberlich aufbereitet grafisch oder nummerisch darstellt. Versuchsweise habe ich nun ein Python-Skript geschrieben welches mit die aktuellen Wetterdaten von OpenWeatherMap holt und in meine Datenbank auf meinem NAS speichert. Dies passiert stündlich über einen Cronjob auf einem RaspberryPi, welches auch als Host für Grafana dient. Für diesen Test musste ich auch die Datenbank anpassen, wodurch ich heute dann ein neuen Dump zur Verfügung stellen kann.

    Die Ansicht in Grafana kann dann zum Beispiel so aussehen:

  • Update 2020-07-21

    Die Wetterstation ist nun endlich fertig geworden. - Es werden alle Messwerte vom ESP an die DB gesendet. Allerdings ist es aktuell noch notwendig das alle Sensoren als einzelner Messpunkt in der Datenbank angelegt sind.


    Kompletter Quellcode:

    Vollständiges Projekt auf Github.com/Soeren3003


    Gehäuse und Befestigung

    Die Wetterstation habe ich kurzer Hand an meine Werkstatt montiert, da ich dort schon Strom liegen habe und sie dort die Optik nicht stört.

    Das Gehäuse habe ich auf Thingiverse.com gefunden.


    ToDo's

    1. Grafana Oberfläche anpassen -> OpenWeatherMap und lokale Wetterdaten auf ein Dashboard migrieren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!