====== Eigene Raspberry Pi Wetterstation (Temperatur, Luftfeuchtigkeit) ======
Eines der beliebtesten Projekten neben der Hausautomatisierung und Robotern ist die eigene Raspberry Pi Wetterstation. Diese kann sowohl für den Innen- als auch Außenbereich verwendet werden und ist dazu beliebig erweiterbar. Die Daten lassen wir entweder über eine Weboberfläche von anderen Geräten aus anzeigen, oder nutzen den Raspberry Pi Touchscreen.
In diesem Tutorial erstellen wir eine funktionsfähige und erweiterbare Wetterstation, die über einen Touchscreen abgerufen und gesteuert werden kann.
===== Zubehör =====
Für die Wetterstation wirst du folgendes Zubehör benötigen. Dabei können natürlich auch einzelne Komponenten weg gelassen oder hinzugefügt werden. Der Code muss dann allerdings auch entsprechend angepasst werden.
* Raspberry Pi inklusive Micro SD Karte und USB Netzstecker
* DHT22 Sensor für Temperatur & Luftfeuchtigkeit
* Jumper Kabel
* Breadboard
* ev. [[https://tutorials-raspberrypi.de/raspberry-pi-gas-sensor-mq2-konfigurieren-und-auslesen/ | Gas-Sensor MQ-2 ]]
* ev. LED-Display
===== Aufbau & Verkabelung =====
{{:inf:infoprojekt_2018_19:02:pasted:20190402-130639.png}}
Der linke Pin des Sensors wird an 3V3 von Pi (Pin1) angeschlossen, der zweite Sensor Pin über einen Pull-Up Widerstand (4.7k – 10kΩ) mit einen freien GPIO des Raspberrys (bei mir GPIO4, Pin7) und der rechte Senior Pin kommt an GND (Pin6) vom Pi. Der zweite Pin von rechts des Sensors bleibt frei.
===== Raspberry Pi Luftfeuchtigkeit Software installieren und testen =====
Zunächst einmal müssen einige Pakete installiert werden:
sudo apt-get update
sudo apt-get install build-essential python-dev python-openssl git
Nun kann die Bibliothek für die Sensoren geladen werden. Ich verwende hierfür eine vorgefertigte Bibliothek von Adafruit, welche verschiedene Sensoren unterstützt:
git clone https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT
sudo python setup.py install
Dadurch wird eine Python Bibliothek angelegt, die wir einfach in unsere Projekte einbinden können.
Hat alles geklappt können wir bereits die Temperatur und Luftfeuchtigkeit auslesen. Am Einfachsten ist das erst einmal mit den Demofiles:
cd examples
sudo ./AdafruitDHT.py 22 4
Der erste Parameter (22) gibt an, welcher Sensor benutzt wurde (22 für den DHT22) und der zweite, an welchem GPIO er angeschlossen ist (Nicht die Pin Nummer, sondern die GPIO Nummer). Das erzeugt eine Ausgabe wie folgende:
$ sudo ./AdafruitDHT.py 11 4
Temp=24.0* Humidity=41.0%
Achtung: Die Sensoren sind nur alle zwei Sekunden bereit. Achte also darauf nicht direkt jede Sekunde eine Abfrage zu starten.
Um die Raspberry Pi Luftfeuchtigkeit Bibliothek in andere (Python) Projekte einzubinden, braucht man nur folgendes:
import Adafruit_DHT
...
sensor = Adafruit_DHT.DHT22
pin = 4
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
...
===== Daten dauerhaft loggen =====
Für Wetterstationen und ähnliche Projekte zur Überwachung der Temperatur und Luftfeuchtigkeit bietet es sich an diese Werte in regelmäßigen Zeitintervallen zu speichern um diese dann später analysieren zu können. Eine Möglichkeit wäre das Speichern in lokaler Datenbank, allerdings hat das den Nachteil, dass unter Umständen die SD-Karte zu sehr belastet werden könnte.
Daher habe ich eine andere Methode gewählt, welche die Daten auf einem externen Server speichert.
zB.:
Eine strukturierte Speicherung als CSV wäre von Vorteil:
Jahr;Monat;Tag;Stunde;Minute;Sekunde;Temperatur;Luftfeuchtigkeit;Regen;
2019;04;04;10;10;3;24.2;40.23;ja
2019;04;04;10;10;6;23.6;39.23;ja
2019;04;04;10;10;10;24.1;40.64;nein
===== Daten auf Webseite anzeigen =====
Zeige nun die aktuellen Wetter-Daten auf einer eigens erstellten Webseite an.
[[https://developers.google.com/chart/interactive/docs/gallery/linechart| Google Line Charts]]