Temperatursensor DHT22 am Raspberry Pi mit Python betreiben

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

,
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzerkomfort bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst und hilft uns zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.