Raspberry Pi – Temperatur und Luftfeuchtigkeit

AM2301Um mit dem Raspberry Pi die Temperatur und die Luftfeuchtigkeit zu messen, habe ich mir einen entsprechenden Sensor zugelegt. Dabei handelt es sich um den AM2301.

Diese ist dem typischen DHT 22 sehr ähnlich und lässt sich auch mit den gleichen Python Libarys ansprechen.

Aufbau des AM2301 in einer Teststellung

Für unsere kleine Teststellung habe ich einen Raspberry Pi 3, einen AM2301, ein Breadboard und ein paar Jumper Kabel verwendet. Alles angeschlossen sieht dann so aus:

RPI-AM2301

Sicherheitshalber habe ich auch nochmal eine kleine Zeichnung erstellt =)

RPI-AM2301Adafruit Python DHT Sensor Library

Zum Ansteuern des AM2301 verwende ich die DHT Sensor Library. Diese steht unter MIT Lizenz und kann einfach von GitHub geladen werden. Vor dem Download sollten wir das System noch darauf vorbereiten. Dafür installieren wir die Pakete build-essentail und python-dev.

Anschließend können wir das GitHub Repository klonen.

Nach dem nun der Quellcode auf unserem System ist, müssen wir diesen konfigurieren. Dafür wechseln wir in den Ordner Adafruit_Python_DHT und führen anschließend den Setup Aufruf durch.

Nun können wir auf die Library zurückgreifen.

Erster Test mit AdafruitDHT.py

Im Ordner examples gibt es Beispiele für die Verwendung. In diesen wechseln wir nun.

Hier verwenden wir die für einen ersten die AdafruitDHT.py. Schauen wir uns das Skript erstmal etwas mit einem Editor an. Für die Übersicht habe ich die ganzen Kommentare erstmal entfernt.

Für uns sind erstmal nur die Zeilen 7 – 9 und 10 – 12 interessant.

In den Zeilen 7 – 9 wird eine Key/Value Liste aufgebaut. Dabei handelt es sich um die Möglichen Sensor Typen (22, 11 und 2302) und dem entsprechenden Verweis in die Library. Das heißt für uns, dass wir mit der Adafruit Python DHT Sensor Library die Sensoren von Typ DHT 22, DHT 11 oder AM2302 ansprechen können.

In den Zeilen 10 – 12 werden nun die entsprechenden Informationen für den Sensor Typ und der GPIO Port an dem der Sensor angeschlossen ist eingelesen. Das ist bei uns der Port 4.

Ein Testaufruf auf dem Terminal sehe dann so aus:

Als Rückgabe bekommen wir die Temperatur und die Luftfeuchtigkeit.

Wichtig hierbei ist, dass der Sensor nicht jede Sekunde abgefragt werden kann. Er hat eine leichte Verzögerung. Dies hat zur folge das man nur alle 2 – 3 Sekunden auch einen Wert zurückbekommt. Dies fällt relativ schnell auf, wenn er versucht den Befehl mehrere male hintereinander auszuführen.

About Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Speak Your Mind

*