Connect and configure the DHT22 or DHT11 correctly

By | March 9, 2020

In this article I show you how to connect and configure the temperature and humidity sensor DHT22 or DHT11 to HoneyPi. But first I will talk about the differences between DHT22 and DHT11.

DHT22 vs. DHT11

The following data table shows that the DHT22 (white) is more accurate than the DHT11 (blue). The temperature range of the DHT22 is -40 to 125°C, with an accuracy of ± 0.5°C. The temperature range of the DHT11 is only from 0 to 50 °C with an accuracy of ± 2 °C. The temperature range of the DHT22 is from -40 to 125 °C, with an accuracy of ± 2 °C. This means that it does not go into the negative temperature range, which can be a disadvantage on cold winter days at the hives. The humidity range of the DHT22 measures the full range (0 to 100 %), while the DHT11 can only measure 20 to 80 % humidity.

We recommend to use the DHT22 for HoneyPi, because it can also measure negative temperature values. In addition, it is more accurate than the DHT11, which is why it costs a little more than the DHT11, but is still very cheap. Here you can buy the DHT22🛒.

CategoryDHT22DHT11
Colourwhiteblue
Temperature range-40 –125 °C0 – 50 °C
Temperature accuracy± 0,5 °C± 2 °C
Humidity range0 – 100 %20 – 80 %
Humidity accuracy± 2 – 5 %± 5 %
Dimensions15,1 mm x 25 mm x 7,7 mm15,5 mm x 12 mm x 5,5 mm
Operating voltage3 – 5 V3 – 5 V
Current2,5 mA2,5 mA

Structure of the DHT22/DHT11

The functions of the pins of the two sensors are identical. Pin 1 in the following figure supplies the sensor with current (3 – 5 V). Pin 2 transmits the measurement data. The third pin does not have to be connected. And the fourth pin provides grounding.

DHT11 und DHT22
DHT22 und DHT11

1 = VCC (3 – 5 V)

2 = Daten

3 = no connection

4 = Ground

Attaching components to the Raspberry Pi

The DHT22 or DHT11 is connected to the Raspberry Pi Zero W (or Raspberry Pi 3B/B+) as follows. I also connected a button 🛒 (square on the right side of the breadboard) to switch the maintenance mode on and off and to configure the sensor.

Neben dem Sensor selbst und ein paar Kabel, benötigt ihr einen Pull-Up-Widerstand mit 4,7 kΩ – 10 kΩ. Diesen könnt ihr hier kaufen 🛒. Leider kann man Widerstände nur in großen Mengen online kaufen. Falls ihr nur wenige Widerstände benötigt, könnt ihr diese natürlich auch im Elektrohandel kaufen oder als Bundle mit anderen Bauteilen 🛒.

Besides the sensor itself and a few cables, you need a pull-up resistor with 4.7 kΩ – 10 kΩ. You can buy it here 🛒. Unfortunately you can only buy resistors in large quantities online. If you only need a few resistors, you can also buy them in electrical stores or as a bundle with other components 🛒.

Attention: The DHT sensors do not support the 1-Wire interface. Multiple sensors cannot be connected to the same pin (such as the DS18B20). Each DHT sensor needs its own data pin.

DHT22 Steckplan
DHT22 plugging chart

The following figure shows how to solder one end of the resistor to pin 1 (VCC) of the sensor and the other end to pin 2 (data) together with the corresponding cables.

Widerstand löten
Soldering resistor (Source: here)

Configuring the Sensor in Maintenance Mode

After you have flashed the firmware onto the MicroSD card and powered the Raspberry Pi, wait about 90 seconds until the Raspberry Pi is powered up. Then you can press the connected button 🛒 to start the maintenance mode. You should now see the network HoneyPi among the available networks of your PC or Smartphone. The default password is: HoneyPi!

If you are connected to the HoneyPi network, you can go to the configuration page in your browser at http://192.168.4.1/ and click on “Configure”. If you haven’t done so yet, you will need to enter your Channel ID and Write API key under “ThingSpeak Settings”.

ThingSpeak-Daten eingeben
Enter ThingSpeak data

You can find this data in your ThingSpeak account under your channel in the “API Keys” tab. If you haven’t created a ThingSpeak account or channel yet, you can follow these instructions.

Channel-ID und Write-API-Key
Channel-ID and Write-API-Key

Under “Connected Sensors” click on “Add Sensor” and then select the DHT11/DHT22. Below you can select the ThingSpeak fields for temperature and humidity and enter the GPIO number (not pin number) to which you have connected the sensor’s data pin. Finally click on “Save” in the upper right corner.

Sensor konfigurieren
Configuring sensor
Raspberry Pi Pinbelegung
Raspberry Pi pin assignment

Now your DHT11 or DHT22 should be correctly connected and configured to your HoneyPi 🙂

Translated 11.08.2019 by JK

Print Friendly, PDF & Email

35 thoughts on “Connect and configure the DHT22 or DHT11 correctly

  1. Alejandro Arango

    Hello,
    I am using a am2301 temperature and humidity sensor and have been testing different resistances to get steady data. from 6.8 K Ohm onwards there have been fewer jumps in the reading. The temperature was 20 C, jumps to 45 C and then falls back to 20 C. The measuring interval is 2 min. I am currently using a 9.8 K Ohm resistor and it jumped once from 20 C to 8 C and again to 20 C.
    The link for my ThingSpeak is https://thingspeak.com/channels/1107741
    Would it be a problem? How could I fix it?

    Reply
    1. Javan

      Hi, please make sure that you use a 4.7 kΩ Resistor. The am2301 sensor is very cheap and they are sometimes buggy. Maybe this could be the problem. Try to change with another one.
      Best Regards

      Reply
    1. Melissa Post author

      Hallo Tom,

      diese Art von Sensoren benötigen einen Widerstand, damit sie richtig funktionieren. Genaueres dazu ist im Beitrag beschrieben.

      Gruß

      Melissa

      Reply
  2. Elmar Winterhalter

    Hallo
    Ich habe das Problem dass wen die Messung gestartet wird sie sofort wieder beendet wird mit der Protokollmeldung Stop measurement because interval is nul
    Danke im Voraus.

    Reply
    1. Melissa Post author

      Hallo Elmar,

      hast du einen Messintervall ausgewählt, z.B alle 60 Sekunden?

      Die Fehlermeldung weißt darauf hin, dass mit dem Intervall etwas nicht stimmt.

      Gruß

      Melissa

      Reply
      1. Elmar

        Hallo Melissa
        Herzlichen Dank
        Jetzt bin ich einen Step weiter

        Reply
    2. Javan

      Ja die Meldung sagt aus, dass du einen Messdaten-Übertragungs-Intervall einstellen musst. Ohne Intervall gibt es auch keine regelmäßige Übertragung.
      Im Protokoll werden alle fehlgeschlagene Übertragungen protokolliert. Für eine Übertragung muss im Reiter „Zeit- und Energiemanagement“ ein Übertragungsintervall ausgewählt sein.

      Reply
  3. Sönke

    Hallo Zusammen!

    Ich bin blutiger Anfänger und versuche mich gerade am Feuchtigkeitssensor. Habe es inzwischen geschafft, den Pi B+ zum Laufen zu bringen und finde auch das Netzwerk HoneyPi (bis auf die PW LED leuchtet bei mir aber nichts dauerhaft, auch eine externe LED an den Pins GPIO 21 und GND leuchtet nicht). Mit dem Netzwerk konnte ich mich auch verbinden, aber der weitere Schritt funktioniert nicht. Habe im firefox die IP eingegeben, kann mich aber nicht verbinden. Was kann hier der Fehler sein?

    Vielen Dank im Voraus.
    SH

    Reply
    1. Melissa Post author

      Hallo Sönke,

      falls du noch nicht die aktuellste Firmware-Version v1.0 installiert hast, dann probiere es mal mit dieser (beachte auch die Bedienungsanleitung in diesem Beitrag).
      Wichtig ist, dass der Taster an GPIO16 angeschlossen wird, um zwischen Wartungs- und Messmodus umzuschalten.

      Außerdem ist hier noch eine weitere Beschreibung zum HoneyPi-Netzwerk und eine Checkliste für die Inbetriebnahme: https://www.honey-pi.de/firmware/

      Gruß

      Melissa

      Reply
      1. Sönke Henningsen

        Hallo Melissa,
        vielen Dank für deine schnelle Antwort. Ich habe es inzwischen mit der Firmware v1.0 versucht. Wenn ich den PI starte, dann Blinken beide LED`s drei mal und schalten sich aus. In den Wartungsmodus komme ich nicht. Mein Sensor (AM2302) hat nur drei Pin`s. In der Beschreibung sind diese mit +, Data und – belegt, sollte ja auch funktionieren, oder?

        Vielen Dank und gesund bleiben,
        Sönke

        Reply
        1. Melissa Post author

          Hallo Sönke,

          ja, der AM2302 wird genauso angeschlossen.

          Bist du dir sicher, dass der Taster richtig angeschlossen ist und funktioniert? Vielleicht kommst du deshalb nicht in den Wartungsmodus.

          Außerdem könntest du Mal mit unterschiedlichen Geräten (z.B. Handy und PC) schauen, ob du das HoneyPi Netzwerk findest.

          Vor allem bei Windows kann es da Probleme geben wie in diesem Betrag unter “Hinweis bei Verbindung unter Windows” beschrieben.

          Gruß

          Melissa

          Reply
          1. Sönke

            Hallo Melissa,

            vielen Dank für deine Antwort. Ich habe den Fehler inzwischen gefunden. Das Kabel von dem Taster dürfte kaputt sein. Ausgetauscht und funktioniert.

            liebe Grüße und ein schönen Sonntag,
            Sönke

  4. Graham

    Dear any one :),
    I am having dificulty with the raspberry pi w, all this soldering,
    I would like to ask will this image file honey pi also work on rasberry pi 3 b and 3b + or is it only for raspberry pi w,
    As pi 3 b and 3b+ both have wifi built in

    thankyou in advance

    Reply
    1. Melissa Post author

      Hello Graham,

      the firmware image should also run on the Raspberry Pi 3B and 3B+ as it is based on the Raspbian operating system which also runs on the 3B/3B+.

      Kind regards
      Melissa

      Reply
      1. Graham

        Thankyou Melissa, for the prompt reply and infomation

        Kind Regards
        Graham

        Reply
  5. Javan

    Du weißt, dass du dich mit dem “HoneyPi” – Wlan verbinden musst und keinen Bildschirm Ausgang (HDMI) anschließen musst?

    Reply
    1. Oliver

      Zugegebenermaßen war das ein dummer Fehler von mir 🙂
      Allerdings hab ich nun das Problem, dass nur mein Macbook Air das WLan findet, Win-PC und Smartphone nicht.
      Nach Eingabe von “HoneyPi!” als Passwort erhalte ich die Meldung “Verbindungaufbau fehlgeschlagen”

      Reply
  6. Javan

    Den Fehler kenne ich bisher noch nicht. Muss am Python Code liegen. Hats bei der alten Firmware zuvor noch geklappt?

    Reply
    1. Ernst

      Ich habe das ganze neu angefangen und direkt die neuste Firmware runtergeladen. Habe jetzt mal die v0.1.0 runtergeladen und auf den Pi aufgespielt. Alles eingestellt und auch mit meinem ThingSpeak Channel verbunden und mit meinem Wlan verbunden. Hab den jetzt schon wieder 1h am laufen aber noch kein einziges Messergebnis auf ThingSpeak. Wie kann ich den Angeschlossenen Sensor den testen?

      Reply
      1. Ernst

        Ich habe meinen Fehler endlich gefunden! Da ich am Anfang Probleme mit dem Verbinden hatte, habe ich auf die SD-Karte für den Raspberry die Datei ssh und wpa_supplicant.conf mit meinen Wlan einstellungen kopiert. Dadurch hatte ich zwar direkten Zugriff auf den Pi, konnte aber keine Messdaten abrufen! Hab dann alles wieder gelöscht und neu gemacht wie es hier beschrieben ist (ohne die beiden Datein) und jetzt klappt alles! Danke für die Hilfe!

        Reply
  7. Oliver

    Hallo Leute,

    ich finde euer Projekt echt genial und genau etwas für mich.

    Ein paar Fragen sind aber aufgetaucht. Kann ich den DHT22 bzw. DHT11 auch als Brutraumüberwachung einsetzten oder sind die Sensoren nur eine weitere Möglichkeit eines Aussentemperaturthermometers ?

    lg Oliver

    Reply
    1. Melissa Post author

      Hallo Oliver, du kannst die DHT-Sensoren sowohl innen als auch außen verwenden.

      Viele Grüße
      Melissa

      Reply
      1. Stephan

        meine Erfahrungen mit Bienen über einige Jahre haben gezeigt das die Damen bei engmaschigen Gittern (Wie das Gehäuse eines DHT) eine starke Neigung hegen die Löscher zuzukitten (Propolisgewinnung).

        Ich frage mich ob es in der Praxis durchführbar ist einen DHT längere Zeit im Bienenvolk unterzubringen.
        Man darf hierbei ja nicht vergessen das bei klassischer Zargenimkerei zwangsläufig bei jeder Durchsicht der Sensor oder die Verkabelung bewegt werden muss.

        Schwingungsverhalten bei Wind und Co sind auch zu berücksichtigen, habe das ganze schon mal bei einem anderen Bienenwaagenprojekt gehabt (https://www.euse.de/wp/blog/2017/04/bienenwaage-2-0-unter-den-bienen/).

        Vieleicht schließt du dich mal mit ihm kurz, er hat schon einige entsprechende Erfahrungen wenn gleich auch bei der Bienenkiste.

        Reply
        1. Javan

          In der Praxis ist es durchführbar den DHT längere Zeit im Bienenvolk (z.B. am Beutenboden, der ja auch aus einem Gitter besteht) unterzubringen. Für die Wabengasse empfiehlt sich der DS18b20. An Propolis ist noch kein Sensor gestorben. Viele Grüße

          Reply
    1. Dieter

      Ja, kann man. Musst nur unterschiedliche GPIOs verwenden. Nur beim DS18B20 können mehrere an einen Pin angeschlossen werden. Siehe weiter unten Kommentar von Javan.
      Gruss

      Reply
  8. Dieter, Dr. Erb

    Hallo Javan,
    Vielen Dank für deine Hilfe. Jetzt muss ich nur noch die Wägezelle zum Laufen bringen. Und dann kann ich loslegen. Der Waage Unterbau ist praktisch fertig. Euer System ist wirklich sehr intelligent aufgebaut. Sofern man die kleinen Kniffe kennt.
    Gruss Dieter

    Reply
  9. Dieter Erb

    Hallo Melissa,
    ich habe doch einige Probleme. Nach Deiner Anleitung alles eingerichtet, mit 2 DHT22. Es kam immer wieder einmal zu einem plötzlichen Abbruch der Datenaufzeichnung mit Werten auf der Nullinie. Mir fiel aber auch auf, dass die Sensoren identische Werte zeigten.?? Wegen der Abbrüche habe ich einen Sensor raus genommen. Alles nochmals neu eingerichtet. Jetzt zeichnet der Sensor wieder auf aber in Thingspeak werden immer noch 4 Datenfelder angezeigt. Mit ähnlichem Kurvenverlauf. Kanal 1= 3 und Kanal 2 =4. Im Wartungsmodus hatte ich den 2. Sensor aber gelöscht. Kannst du Helfen?
    Gruss Dieter.

    Reply
    1. Melissa Post author

      Hallo Dieter,

      wie hast Du die Sensoren angeschlossen? Der DHT22 verwendet nicht die 1-Wire-Schnittstelle, d.h. mehrere DHT22 können nicht an den gleichen Pin angeschlossen werden. Jeder Sensor benötigt seinen eigenen Datenpin.
      Werden in ThingSpeak auch alle 4 Fields weiterhin befüllt? Oder siehst Du dort einfach nur die alten Messdaten des Sensors, den Du wieder entfernt hast?
      Evtl. wurde der zweite Sensor auch nicht richtig im Wartungsmodus gelöscht. Du könntest den Raspberry Pi noch einmal neustarten und falls das nichts hilft, die Firmware neu flashen.

      Viele Grüße
      Melissa

      Reply
      1. Dieter Erb

        Hallo Melissa,
        vielen Dank für die schnelle Antwort. Ich glaube, dass du den Fehler erkannt hast. Ich habe beide DHT22 mit der Datenleitung seriell an den GPIO 4 gehängt. Und jetzt versuchsweise DHT 22 in Kombi mit dem DS18B20. In diesem Moment war dann der DHT22 weg und ich sehe nur noch den DS18B20.
        An welchen GPIO müsste ich denn den 2. DHT 22 hängen und muss ich dazu Änderungen im Programm vornehmen.
        Vielen Dank für Deine Mühe und Euer tolles Projekt
        Gruss Dieter

        Reply
        1. Javan

          Vielen Dank!
          Schließ alle DS18b20 an den GPIO 4 an. Dort können bis zu 100 DS18b20 angeschlossen werden.
          Ich habe den DHT22 am GPIO23 angeschlossen. Im Wartungsmodus muss man dann den GPIO “23” abspeichern. Weitere DHT22 kannst du an bisher unbesetzte GPIOs anschließen. Auf der Seite “Schaltplan und Sensoren” ist eine Übersicht der der GPIOs. Für jeden angeschlossenen DHT22 kannst du im Wartungsmodus den GPIO hinterlegen.

          Reply

Leave a Reply

Your email address will not be published. Required fields are marked *