Arduino UNO Q - DHT22 Temperatur- und Feuchtigkeitssensor
Der DHT22 bietet genauere Temperatur- und Feuchtigkeitsmessungen als der DHT11 — mit einem größeren Messbereich und besserer Genauigkeit. Dieses Tutorial zeigt Ihnen, wie Sie ihn mit Arduino UNO Q für die vollständige Umgebungsüberwachung mit Telegram-Warnungen verwenden.
In diesem Tutorial werden Sie lernen:
- Was der DHT22-Temperatur- und Feuchtigkeitssensor ist und wie er sich vom DHT11 unterscheidet
- Wie Sie den DHT22-Sensor und das Modul mit dem Arduino UNO Q MCU verdrahten
- Wie Sie den MCU programmieren (C/C++-Arduino-Code), um Temperatur und Luftfeuchtigkeit vom DHT22 zu lesen
- Wie Sie sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++) programmieren, um DHT22-Daten über Bridge zu lesen
- Wie Sie Telegram-Warnungen erhalten, wenn Temperatur oder Luftfeuchtigkeit einen Schwellenwert auf Arduino UNO Q überschreiten
- Wie Sie OpenClaw auf Arduino UNO Q mit dem DHT22-Sensor verwenden

Hardware erforderlich
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den DHT22-Sensor
Der DHT22 (auch als AM2302 bekannt) ist eine präzisere Alternative zum DHT11. Beide verwenden die gleiche Bibliothek und fast identischen Code — der Hauptunterschied liegt in der Typkonstante im Konstruktor.
| DHT22 | |
|---|---|
| Betriebsspannung | 3,3V bis 6V |
| Temperaturbereich | -40°C bis 80°C |
| Temperaturgenauigkeit | ±0,5°C |
| Feuchtigkeitsbereich | 0% bis 100% |
| Feuchtigkeitsgenauigkeit | ±2% |
| Messung Häufigkeit | 0,5Hz (einmal alle 2 Sekunden) |
Pinout

DHT22-Sensor (4-polig):
- GND: Mit GND (0V) verbinden
- VCC: Mit 3,3V oder 5V verbinden
- DATA: Kommunikationspin — mit einem digitalen Pin auf dem MCU verbinden
- NC: Nicht verbunden
DHT22 Modul (3-polig):
- GND: Mit GND (0V) verbinden
- VCC: Mit 3,3V oder 5V verbinden
- DATA: Kommunikationspin (auch als OUT oder S auf einigen Modulen beschriftet)
Die meisten DHT22-Module enthalten einen integrierten Pull-up-Widerstand — kein externer Widerstand erforderlich.
Verdrahtungsdiagramm
Arduino UNO Q - DHT22-Sensor-Verdrahtung
Erfordert einen 10kΩ Pull-up-Widerstand zwischen DATA und VCC.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino UNO Q - DHT22-Modul-Verdrahtung
Kein externer Widerstand erforderlich — das Modul enthält einen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| DHT22-Pin | Arduino UNO Q MCU |
|---|---|
| GND | GND |
| VCC | 3,3V oder 5V |
| DATA | D2 |
So programmieren Sie den DHT22
- Bibliothek einbinden:
- Definieren Sie den Pin und erstellen Sie ein Sensor-Objekt:
- Initialisieren Sie den Sensor:
- Lesen Sie Luftfeuchtigkeit und Temperatur:
- Überprüfen Sie immer auf fehlgeschlagene Lesevorgänge:
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Der STM32 MCU liest den DHT22-Sensor direkt — die gesamte Sensorkommunikation läuft auf dem MCU
- Die Qualcomm MPU führt Debian Linux aus und verwaltet Wi-Fi, Python und Cloud-Konnektivität
- In diesem Abschnitt wird nur der MCU programmiert — die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Der MCU liest Temperatur und Luftfeuchtigkeit alle 3 Sekunden und gibt sie auf dem Serial Monitor aus.
Schnelle Schritte
Zum ersten Mal mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q, bevor Sie fortfahren.
- Verbinden: Verdrahten Sie den DHT22-Sensor oder das Modul wie im Verdrahtungsdiagramm gezeigt mit Arduino UNO Q MCU.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihren Arduino UNO Q erkennt.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Neue App erstellen.

- Geben Sie der App einen Namen, zum Beispiel: Dht22
- Klicken Sie auf Erstellen, um zu bestätigen.

- Sketch einfügen: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein. Behalten Sie andere Dateien als Standard.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for DHT sensor library created by Adafruit and click the Install button.
- Hochladen: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab.

- Atmen Sie auf den Sensor oder halten Sie ihn — beobachten Sie, wie sich Luftfeuchtigkeits- und Temperaturmessungen alle 3 Sekunden aktualisieren.
App Lab-Konsolenausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite Temperatur- und Feuchtigkeitsdaten über Bridge lesen kann:
- Der DHT22-Sensor ist mit dem MCU (STM32) verbunden — der MCU liest alle 3 Sekunden Daten und speichert die neuesten Werte zwischen
- Die MPU kann nicht direkt auf den DHT22 zugreifen — sie muss Bridge-Funktionen aufrufen, um Lesevorgänge auszuführen
- Die MPU hat Wi-Fi — auf vollständiger Debian Linux-Ausführung kann sie Daten protokollieren, auf Dashboards veröffentlichen oder Warnungen über das Internet senden
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT für den Router — öffnen Sie sie niemals in Benutzercode
Kurz gesagt: MCU liest DHT22 alle 3 Sekunden und speichert das Ergebnis zwischen → MPU fragt Bridge ab, um Lesevorgänge auszuführen → MPU veröffentlicht oder warnt über Wi-Fi.
Hinweis: In der Bridge-Skizze liest die loop()-Funktion den DHT22 alle 3 Sekunden, um die zwischengespeicherten Werte aktuell zu halten. Alle Bridge-Callbacks sind schreibgeschützt und geben zwischengespeicherte Daten zurück, ohne zu blockieren.
MCU Code (Bridge)
Python Code (Bridge)
Schnelle Schritte
- Verbinden: Verdrahten Sie den DHT22-Sensor wie im Verdrahtungsdiagramm gezeigt mit Arduino UNO Q.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis die Platine erkannt wird.
- Erstellen Sie eine neue App: Klicken Sie auf Neue App erstellen, nennen Sie sie Dht22Bridge, und klicken Sie auf Erstellen.
- Paste MCU sketch: Kopieren Sie den MCU Bridge Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Paste Python code: Kopieren Sie den Python Bridge Code oben und fügen Sie ihn in die Python-Datei der App ein.
- Hochladen: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab.

- Beobachten Sie, wie Temperatur- und Feuchtigkeitsmessungen alle 3 Sekunden in der Python-Konsole angezeigt werden.
App Lab-Konsolenausgabe
Telegram
Überwachen Sie Temperatur und Luftfeuchtigkeit aus der Ferne. Erhalten Sie automatische Warnungen, wenn die Temperatur 35°C überschreitet oder die Luftfeuchtigkeit 80% übersteigt.
MCU sketch: Behalten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt.
Python Code (Telegram)
Schnelle Schritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren tatsächlichen Bot-Token von BotFather.
- Ersetzen Sie YOUR_CHAT_ID durch Ihre Telegram-Chat-ID.
- Fügen Sie diesen Python-Code in die Python-Datei Ihrer App ein (behalten Sie die gleiche MCU-Skizze bei).
- Klicken Sie auf die Run-Schaltfläche. Senden Sie /temp oder /humidity von Telegram, oder atmen Sie auf den Sensor, um Warnungen auszulösen.
App Lab-Konsolenausgabe
ArduinoBot
OpenClaw
You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial
Projektideen
Sie können viele nützliche Projekte mit dem DHT22-Sensor und Arduino UNO Q erstellen:
- Präzise Wetterstation: Der DHT22 mit seinem größeren Bereich und besserer Genauigkeit ist ideal für eine präzise Innen-/Außenstation — die Linux-MPU protokolliert Daten jede Minute und erstellt Diagramme mit Trends im Laufe der Zeit
- Intelligenter HVAC-Regler: Verwenden Sie Temperatur- und Feuchtigkeitsdaten, um ein Relais zu steuern, das Ihre Klimaanlage oder einen Luftbefeuchter schaltet — Telegram-Warnungen, wenn Bedingungen außerhalb des Bereichs liegen
- Keimungsmonitor: Achten Sie auf optimale Luftfeuchtigkeit und Temperatur für die Keimung von Samen — erhalten Sie Warnungen, wenn die Luftfeuchtigkeit unter den Schwellenwert fällt, und Daten werden zur Überprüfung protokolliert
- Weinkeller-Monitor: Der DHT22 deckt den niedrigeren Temperaturbereich ab, der für die Weinlagerung erforderlich ist — überwachen Sie Temperatur und Luftfeuchtigkeit mit Telegram-Warnungen, wenn einer der beiden außerhalb der sicheren Grenzen abweicht
- Überwachung der Umgebung im Serverraum: Mit Wi-Fi bereitstellen für Fernüberwachung — die MPU sendet stündliche Berichte und sofortige Telegram-Warnungen, wenn Temperatur oder Luftfeuchtigkeit ansteigt
Fordern Sie sich selbst heraus
Bereit, mit dem DHT22 auf Arduino UNO Q noch weiter zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: Ändern Sie die MCU-Skizze, um die eingebaute LED mit unterschiedlichen Geschwindigkeiten je nach Temperaturbereich blinken zu lassen — langsames Blinken unter 20°C, schnelles Blinken über 35°C, kein Blinken dazwischen.
- Mittel: Berechnen Sie den Taupunkt aus Temperatur und Luftfeuchtigkeit auf der Python-Seite mit der Magnus-Formel, und beziehen Sie ihn zusammen mit Temperatur und Luftfeuchtigkeit in die Telegram-/status-Antwort ein.
- Erweitert: Erstellen Sie eine Datenvisualisierungspipeline: Die MPU liest DHT22 über Bridge alle 5 Minuten, speichert Messwerte in einer JSON-Datei und bietet eine einfache HTTP-Seite mit einem Temperatur-/Feuchtigkeitsdiagramm mit Chart.js an — zugänglich von einem beliebigen Browser im lokalen Netzwerk.