Arduino UNO Q - DHT11 Temperatur- und Feuchtigkeitssensor
Möchten Sie Temperatur UND Luftfeuchtigkeit mit Ihrem Arduino UNO Q messen — und erhalten Sie Telegram-Benachrichtigungen, wenn es zu heiß oder zu feucht wird? Dieses Tutorial zeigt Ihnen, wie Sie das DHT11-Sensormodul zur vollständigen Umgebungsüberwachung verwenden.
In diesem Tutorial erfahren Sie:
- Was der DHT11-Temperatur- und Feuchtigkeitssensor ist und wie er funktioniert
- Wie Sie den DHT11-Sensor und das Modul mit der Arduino UNO Q MCU verdrahten
- Wie Sie die MCU (C/C++ Arduino-Code) programmieren, um Temperatur und Luftfeuchtigkeit vom DHT11 zu lesen
- Wie Sie sowohl die Linux-Seite (Python) als auch die MCU-Seite (C/C++) programmieren, um DHT11-Daten via Bridge zu lesen
- Wie Sie Telegram-Benachrichtigungen erhalten, wenn Temperatur oder Luftfeuchtigkeit einen Schwellenwert auf Arduino UNO Q überschreitet
- Wie Sie OpenClaw auf Arduino UNO Q mit dem DHT11-Sensor verwenden

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den DHT11-Sensor
| DHT11 | |
|---|---|
| Betriebsspannung | 3 bis 5V |
| Temperaturbereich | 0°C bis 50°C |
| Temperaturgenauigkeit | ± 2°C |
| Feuchtigkeitsbereich | 20% bis 80% |
| Feuchtigkeitsgenauigkeit | 5% |
| Abfragerate | 1Hz (einmal pro Sekunde) |
Pinbelegung
Der DHT11 ist in zwei Formen verfügbar: Sensor und Modul.

DHT11-Sensor (4-polig):
- GND: Mit GND (0V) verbinden
- VCC: Mit 3,3V oder 5V verbinden
- DATA: Kommunikationspin — mit einem digitalen Pin der MCU verbinden
- NC: Nicht verbunden
DHT11-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 bezeichnet)
Die meisten DHT11-Module enthalten einen integrierten Pull-up-Widerstand — kein externer Widerstand erforderlich.
Schaltplan
Arduino UNO Q - DHT11-Sensor-Verdrahtung
Erfordert einen 10-kΩ-Pull-up-Widerstand zwischen DATA und VCC.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino UNO Q - DHT11-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.
| DHT11 Pin | Arduino UNO Q MCU |
|---|---|
| GND | GND |
| VCC | 3.3V or 5V |
| DATA | D2 |
Programmierung für DHT11
- Schließen Sie die Bibliothek ein:
- Definieren Sie den Pin und erstellen Sie ein Sensorobjekt:
- 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 verfügt über zwei zusammenarbeitende Prozessoren:
- Die STM32 MCU liest den DHT11-Sensor direkt — die gesamte Sensorkommunikation läuft auf der MCU
- Die Qualcomm MPU führt Debian Linux aus und behandelt Wi-Fi, Python und Cloud-Konnektivität
- In diesem Abschnitt wird nur die MCU programmiert — die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren via Bridge zusammenarbeiten.
Die MCU liest Temperatur und Luftfeuchtigkeit alle 3 Sekunden und gibt die Daten im Seriellen Monitor aus.
Schnelle Schritte
Erste Erfahrung mit Arduino UNO Q? Folgen Sie zuvor dem Getting Started with Arduino UNO Q Tutorial.
- Verbinden: Verdrahten Sie den DHT11-Sensor oder das Modul mit der Arduino UNO Q MCU wie im Schaltplan gezeigt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihre Arduino UNO Q erkennt.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Create New App.

- Geben Sie der App einen Namen, z. B.: Dht11
- Klicken Sie auf Create, um zu bestätigen.

- Fügen Sie den Sketch ein: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein. Behalten Sie andere Dateien wie voreingestellt.
- 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.
- Upload: Klicken Sie auf die Schaltfläche Run in Arduino App Lab.

- Atmen Sie auf den Sensor oder halten Sie ihn — sehen Sie, wie sich die Luftfeuchtigkeits- und Temperaturwerte aktualisieren.
App Lab Konsolenausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite die Temperatur und Luftfeuchtigkeit via Bridge lesen kann:
- Der DHT11-Sensor ist mit der MCU (STM32) verbunden — die MCU liest Daten alle 3 Sekunden und speichert die neuesten Werte zwischen
- Die MPU kann nicht direkt auf den DHT11 zugreifen — sie muss Bridge-Funktionen aufrufen, um Messwerte abzurufen
- Die MPU verfügt über Wi-Fi — führt vollständiges Debian Linux aus und kann Daten protokollieren, auf Dashboards veröffentlichen oder Benachrichtigungen über das Internet versenden
- Arduino_RouterBridge aktiviert RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT durch den Router — öffnen Sie diese nie im Benutzercode
Kurz gesagt: MCU liest DHT11 alle 3 Sekunden und speichert das Ergebnis zwischen → MPU fragt Bridge ab, um Messwerte abzurufen → MPU veröffentlicht oder sendet Benachrichtigungen über Wi-Fi.
Hinweis: Im Bridge-Sketch liest die Funktion loop() den DHT11 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 DHT11-Sensor mit der Arduino UNO Q wie im Schaltplan gezeigt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis das Board erkannt wird.
- Erstellen Sie eine neue App: Klicken Sie auf Create New App, benennen Sie es Dht11Bridge und klicken Sie auf Create.
- Fügen Sie den MCU-Sketch ein: Kopieren Sie den MCU Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Fügen Sie den Python-Code ein: Kopieren Sie den Python Bridge-Code oben und fügen Sie ihn in die Python-Datei der App ein.
- Upload: Klicken Sie auf die Schaltfläche Run in Arduino App Lab.

- Sehen Sie, wie Temperatur- und Feuchtigkeitswerte alle 3 Sekunden in der Python-Konsole angezeigt werden.
App Lab Konsolenausgabe
Telegram
Überwachen Sie Temperatur und Luftfeuchtigkeit remote. Erhalten Sie automatische Benachrichtigungen, wenn die Temperatur 35°C überschreitet oder die Luftfeuchtigkeit 80% überschreitet.
MCU-Sketch: Behalten Sie denselben MCU-Sketch 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 denselben MCU-Sketch).
- Klicken Sie auf die Schaltfläche Run. Senden Sie /temp oder /humidity von Telegram oder atmen Sie auf den Sensor, um Benachrichtigungen 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 DHT11-Sensor und Arduino UNO Q aufbauen:
- Intelligente Wetterstation: Messen Sie kontinuierlich Temperatur und Luftfeuchtigkeit — die Linux MPU protokolliert Daten jede Minute und lädt eine tägliche Zusammenfassung auf ein Cloud-Dashboard hoch
- Gewächshausautomation: Verwenden Sie die Luftfeuchtigkeits- und Temperaturmesswerte, um einen Relais-Lüfter und ein Sprühsystem zu steuern — die MPU sendet Telegram-Benachrichtigungen, wenn Bedingungen außerhalb des Bereichs liegen
- Babyraum-Monitor: Überwachen Sie Temperatur und Luftfeuchtigkeit in einem Babyzimmer — Telegram sendet eine Benachrichtigung, wenn es zu warm oder zu trocken wird, um Komfort zu gewährleisten
- Gärungsmonitor: Verfolgen Sie Temperatur und Luftfeuchtigkeit während der Gärung — die MPU protokolliert Daten und Telegram benachrichtigt, wenn die Bedingungen vom Zielbereich abweichen
- Remote-Umgebungsprotokoll: Bereitstellen mit Batteriestrom und Wi-Fi — die MPU liest DHT11 via Bridge alle 10 Minuten und lädt die Messwerte auf einen Remote-Server hoch
Fordern Sie sich selbst heraus
Sind Sie bereit, weiter mit dem DHT11 auf Arduino UNO Q zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: Ändern Sie den MCU-Sketch so, dass die eingebaute LED blinkt, wenn die Luftfeuchtigkeit 70% überschreitet, und bieten Sie eine visuelle Warnung direkt auf dem Board.
- Mittel: Fügen Sie eine set_temp_threshold(String) und set_humi_threshold(String) Bridge-Funktion hinzu, mit der Python die Benachrichtigungsschwellenwerte zur Laufzeit aktualisieren kann, ohne den MCU-Sketch neu zu kompilieren.
- Fortgeschritten: Bauen Sie eine Komfortindex-Anzeige: Berechnen Sie den Wärmeindex aus Temperatur und Luftfeuchtigkeit, zeigen Sie ihn in der Python-Konsole an und senden Sie jede Stunde einen Telegram-Bericht mit Durchschnittswerte von Temperatur, Luftfeuchtigkeit und Wärmeindex. Schließen Sie einen Trend-Indikator (steigend/fallend/stabil) basierend auf den letzten 3 Messwerten ein.