Die Kontrolle von Temperatur und Luftfeuchtigkeit ist nicht nur für Klimaforscher oder Wetterstationen von Bedeutung. Dank kostengünstiger Sensoren wie dem DHT22 und Geräten wie dem Raspberry Pi kann jeder diese wichtigen Umweltdaten messen und für eigene Projekte nutzen. Dieses Tutorial zeigt Schritt für Schritt, wie der Temperatursensor angeschlossen und mit Python 3 so programmiert wird, dass aktuelle Temperatur- und Feuchtigkeitswerte in der Konsole ausgegeben werden.

Hardware:
Raspberry Pi 3 / 4 / 5 (incl Zubehör + MicroSD-Karte)
Sensor DHT22
Breadboard-Halterung für den Raspberry Pi zum Ausdrucken gibt es hier.
Zum Verschrauben habe ich kleine Blechschrauben 2mm*4 verwendet.
Verdrahtung:
3,3Volt oder 5V = +
GPIO Pin 4 = Out
GND = GND

Belegungsplan: Belegungsplan Raspberry Pi
In der Konsole die Library installieren wie auf Github erklärt:
Dieser Befehl sudo apt-get update aktualisiert die Paketlisten für die Paketverwaltung. Es wird überprüft, ob neue Versionen der installierten Pakete in den Repositories verfügbar sind.
Dieser Befehl sudo apt-get upgrade installiert die neuesten Versionen aller Pakete, die bereits auf deinem System installiert sind. Es wird empfohlen, dies regelmäßig durchzuführen, um sicherzustellen, dass dein System aktuell und sicher ist.
Dieser Befehl sudo apt install python3-dev python3-pip installiert die benötigten Python-Pakete. python3-dev
enthält Header-Dateien und eine Bibliothek zur Erweiterung von Python und python3-pip
ist der Paketmanager für Python, mit dem du Python-Pakete aus dem Python Package Index (PyPI) installieren kannst.
Mit diesem Befehl mkdir ~/dht22 erstellst du ein neues Verzeichnis namens dht22
im Home-Verzeichnis. Dieses Verzeichnis wird als Arbeitsverzeichnis für das Projekt verwendet.
Dieser Befehl cd ~/dht22 wechselt in das zuvor erstellte Verzeichnis dht22
.
Mit diesem Befehl python3 -m venv env erstellst du eine virtuelle Umgebung in dem Verzeichnis env
innerhalb des aktuellen Verzeichnisses. Eine virtuelle Umgebung stellt sicher, dass die für das Projekt installierten Pakete isoliert sind und nicht mit anderen Projekten oder dem globalen Python-Paketraum überschneiden.
Dieser Befehl source env/bin/activate aktiviert die virtuelle Umgebung. Nachdem die Umgebung aktiviert ist, verwendest du das Python und pip, das in der Umgebung installiert ist.
Schließlich wird mit diesem Befehl python3 -m pip install adafruit-circuitpython-dht das adafruit-circuitpython-dht
Paket installiert, das notwendig ist, um mit dem DHT22 Temperatursensor zu arbeiten.
Code:
import time
import adafruit_dht
import board
# Initialisiere das DHT22-Gerät, das mit GPIO-Pin 4 (D4) verbunden ist
dht_device = adafruit_dht.DHT22(board.D4)
while True:
try:
# Lies die Temperatur in Celsius vom DHT22-Sensor
temperature_c = dht_device.temperature
# Konvertiere die Temperatur von Celsius in Fahrenheit
temperature_f = temperature_c * (9 / 5) + 32
# Lies die Luftfeuchtigkeit vom DHT22-Sensor
humidity = dht_device.humidity
# Ausgabe der Temperatur in Celsius und Fahrenheit sowie der Luftfeuchtigkeit
print("Temp:{:.1f} C / {:.1f} F Humidity: {}%".format(temperature_c, temperature_f, humidity))
except RuntimeError as err:
# Behandlung von Laufzeitfehlern (z.B. Sensorfehler) und Ausgabe der Fehlernachricht
print(err.args[0])
# Warte 2 Sekunden, bevor der nächste Lesevorgang gestartet wird
time.sleep(2.0)
Was in Zeile 19 so aussieht wie Reguläre Ausdrücke, ist ein
.format
-Methodenaufruf. Das bedeutet:
{:.1f}
: Formatiert die Temperatur in Celsius und Fahrenheit auf eine Dezimalstelle.
{}
: Platzhalter für den Wert der Luftfeuchtigkeit.
Speichern im Verzeichnis dht22 unter dem Namen „temeratur.py“
Dort auch ausführen, mit python3 temeratur.py
Temperatur und Luftfeuchtigkeit wird nun in der Konsole solange ausgegeben bis Abbruch mit STRG C
