Raspberry Pi DIY Wetterstation – Luftfeuchtigkeitsensor
Ähnlich wie zuletzt beim Temperatursensor installieren wir für die Wetterstation einen Luftfeuchtigkeitsensor. Mit diesem behalten wir die Luftfeuchtigkeit im Auge, im schlimmsten Fall könnte diese die gelagerten Elektrogeräte gefährden.
Raspberry Pi DIY Wetterstation – Luftfeuchtigkeitsensor
Wie schon bei der Temperatur ist mir bei der Luftfeuchtigkeit auch wichtig eine Übersicht zu haben wie sich der Wert im Laufe der Zeit ändert. Was hat darauf Einfluss und wo liegen die Extremwerte. Kann man durch heizen des Raums einen Einfluss nehmen? Wie stark wirkt sich das Wetter draußen auf das Raumklima aus?
Da ich neben meinen Raspberry Pi auch einen PC und zahlreiche Retro Geräte lagere bzw. betreibe muss ich die Luftfeuchtigkeit kontinuierlich beachten. Ein zu hoher Wert könnte zu Kurzschlüssen und Defekten führen. Schaltet man Geräte ein entsteht unweigerlich Wärme. Aus erwärmter Luft fällt die Feuchtigkeit heraus und es kommt schnell zu Bildung von Kondenswasser – der Erzfeind von elektronischen Geräten.
DHT11 Luftfeuchtigkeitssensor
Ich verwende den DHT11 Luftfeuchtigkeitssensor. Dieser ist Pin gleich mit dem DHT22, welcher etwas genauer ist. Der Sensor hat 4 Pins, wobei aber nur 3 belegt sind. Von vorne gesehen von links nach rechts sind das die Stromversorgung (3-5 Volt), die Datenleitung und GND. Wie bereits beim Temperatursensor beschrieben handelt es sich um einen 1-wire Sensor. Ein einzelner Pin wird für die Daten verwendet, auf dieser Leitung kann man beliebig viele solcher 1-wire Sensoren anschließen.
Der Sensor misst neben der Luftfeuchtigkeit auch die Temperatur. Da die Temperatur mein wichtigster Messwert ist bin ich über jeden weiteren gemessenen Wert dankbar. Die Sensoren sind alle unterschiedlich gut, weshalb ein Mittelwert aller gemessenen Temperaturen der tatsächlichen Temperatur wohl am ehesten entspricht.
Auf dem Steckbrett habe ich den Sensor mittig platziert und mit den Leitungen für die Stromversorgung verbunden (schwarz GND, rot 5 Volt). Zwischen Spannungsversorgung und Datenleitung wurde noch ein 10 kΩ Widerstand eingebaut. Man beachte das rote Kabel, welches den 1-wire Datenbus vom Temperatursensor mit dem Datenbus des DHT11 Sensors verbindet. Über das blaue Kabel ist dieser dann mit der GPIO Schnittstelle vom Raspberry Pi verbunden. Über eine Leitung werden beide Messwerte übertragen.
Software
Im letzten Artikel zum Temperatursensor haben wir und für Python als Programmiersprache entschieden. Für den DHT11 Sensor gibt es von Adafruit eine Bibliothek. Verwendet man diese ist die Abfrage der Messwerte für Luftfeuchtigkeit und Temperatur trivial. In meinem fertigen Script in dem alle Sensoren abgefragt werden benötige ich für den DHT11 Sensor gerade mal 5 Zeilen Code:
# humidity and temperature from connected DHT11 sensor pin = 4 # GPIO Pin number sensor = Adafruit_DHT.DHT11 h, t = Adafruit_DHT.read_retry(sensor, pin) sensor_dht11_temperature = str(t) sensor_dht11_humidity = str(h)
Der read_retry Funktion muss man den Typ des Sensors (in meinem Fall DHT11) und die Pin Nummer angeben, an welcher die Datenleitung des Sensors angeschlossen ist. Zurück bekommt man die numerischen Werte für die Temperatur und Luftfeuchtigkeit. Gespeichert werden diese beiden Werte als String in den Variablen sensor_dht11_temperature und sensor_dht11_humidity. Es ist wichtig die read_retry Funktion zu verwenden. Der Sensor hat die Eigenschaft, dass er manchmal keine Messwerte zurückliefert. die retry Funktion misst so lange mit jeweils einer Sekunde Wartezeit, bis Werte zurück kommen.
Die Adafruit_DHT Bibliothek muss man am Beginn des Python Scripts importieren:
import Adafruit_DHT
Wie man die Adafruit_DHT Bibliothek installiert und baut erfahrt ihr in meinem Artikel zum DHT11 Sensor. Daran hat sich bis heute nichts geändert.
Fazit
Mit dem Sensor für die Luftfeuchtigkeit bekommt unsere Wetterstation einen neuen Messwert. Dieser ist gerade für einen Keller in dem man elektrische Geräte lagert nützlich. Ich habe euch gezeigt wie man den Sensor mit einem Raspberry Pi Rechner verbindet und dessen Messwerte in einem Python Script ausliest. Im nächsten Artikel kommt noch ein Sensor für den Luftdruck hinzu.
Diese Artikelserie besteht aus folgenden Artikeln:
- Raspberry Pi DIY Wetterstation
- Raspberry Pi DIY Wetterstation – initiales Setup
- Raspberry Pi DIY Wetterstation – Temperatursensor
- Raspberry Pi DIY Wetterstation – Luftfeuchtigkeitsensor
- Raspberry Pi DIY Wetterstation – Luftdrucksensor
- Raspberry Pi DIY Wetterstation – Wetter API
- Raspberry Pi DIY Wetterstation – Webserver