Temperatur- und Luftfeuchtigkeitsmessung mit Sensor DHT22/AM2302 und Raspberry Pi – Teil 2

Vorwort

Im ersten Teil des Tutorial ist beschrieben, welche Hardware zum  Auslesen von Temperatur und Luftfeuchtigkeit zum Einsatz kommt und wie diese verkabelt wird. Im aktuellen Artikel wird eine Möglichkeit beschrieben, den Sensor per Software auszulesen. Besonderer Dank gilt an dieser Stelle meinem Schwager Patrik, der mir mit der Beschaffung eines fehlenden elektronischen Bauteils die weiteren Schritte erst ermöglicht hat.

Software

Zum Einsatz kommen WiringPi zum Ansteuern der GPIO-Kontakte und ein Script zum Auslesen des Sensors.

Die Installation wie folgt:

Damit ist die Installation abgeschlossen.

Test

Ein erster Test liefert nun Temperatur und relative Luftfeuchte.

Have fun!

8 Gedanken zu „Temperatur- und Luftfeuchtigkeitsmessung mit Sensor DHT22/AM2302 und Raspberry Pi – Teil 2“

  1. Evtl. ist das ja noch interessant, configure:

    pi@xyz:/opt/lol_dht22 $ sudo ./configure
    checking for a BSD-compatible install… /usr/bin/install -c
    checking whether build environment is sane… yes
    checking for a thread-safe mkdir -p… /bin/mkdir -p
    checking for gawk… no
    checking for mawk… mawk
    checking whether make sets $(MAKE)… yes
    checking whether make supports nested variables… yes
    checking for gcc… gcc
    checking whether the C compiler works… yes
    checking for C compiler default output file name… a.out
    checking for suffix of executables…
    checking whether we are cross compiling… no
    checking for suffix of object files… o
    checking whether we are using the GNU C compiler… yes
    checking whether gcc accepts -g… yes
    checking for gcc option to accept ISO C89… none needed
    checking for style of include used by make… GNU
    checking dependency style of gcc… gcc3
    checking whether make sets $(MAKE)… (cached) yes
    checking how to run the C preprocessor… gcc -E
    checking for grep that handles long lines and -e… /bin/grep
    checking for egrep… /bin/grep -E
    checking for ANSI C header files… yes
    checking for sys/types.h… yes
    checking for sys/stat.h… yes
    checking for stdlib.h… yes
    checking for string.h… yes
    checking for memory.h… yes
    checking for strings.h… yes
    checking for inttypes.h… yes
    checking for stdint.h… yes
    checking for unistd.h… yes
    checking wiringPi usability… no
    checking wiringPi presence… no
    checking for wiringPi… no
    checking /usr/local/include/wiringPi.h usability… no
    checking /usr/local/include/wiringPi.h presence… no
    checking for /usr/local/include/wiringPi.h… no
    configure: error: Fail to find wiringPi.h
    pi@xyz:/opt/lol_dht22 $ sudo make
    make: *** Keine Targets angegeben und keine »make«-Steuerdatei gefunden. Schluss.

    1. Hallo Bernd,

      ja das ist schon mal ein Anfang. Schau dir mal die letzten Zeilen an, wiringPi scheint demnach zu fehlen: „checking for wiringPi… no“

      Sofern du die Anleitung wirklich Schritt für Schritt befolgt hast, solltest du wiringPi ebenfalls installiert haben. Wenn ja, prüfe nach, wo sich die Datei wiringPi.h befindet und erstelle unter /usr/local/include einen symbolischen Link.

  2. Hey, ich hab ein ganz anderes Problem…
    Ich hab die Installation Schritt für Schritt befolgt, aber beim „make“ krieg ich immer eine Fehlermeldung:
    „make: *** Keine Targets angegeben und keine »make«-Steuerdatei gefunden. Schluss.“

    Ja, gut, ich bin kein Linux-Experte. Was mache ich falsch???

  3. Hast du einen Raspberry Pi 1 oder 2 benutzt? Mit dem Raspberry Pi 2 scheint das so leider nicht zu funktionieren, ich bekomme immer nur die Ausgabe „Data not good, skip“. Oder mein DHT22 ist defekt, was ich aber eher nicht glaube.

    1. Hallo Martin,

      in meinem Test benutzte ich zwar einen Raspberry Pi Model B+ Revision 2.0 (000e), also das, was du als Pi 1 bezeichnet hast. Die von mir beschriebene Pin-Belegung müsste am Raspberry Pi 2 Model B jedoch die gleiche sein und somit auch dort genau so funktionieren.

      Im ersten Schritt solltest du folgendes sicherstellen: Wichtig ist, dass du
      a) loldht mit root-Rechten aufrufst und
      b) dabei die richtige Pin adressierst.

      Da loldht WiringPi nutzt, lautet der korrekte Aufruf in meinem Beispiel „sudo loldht 7“, da GPIO Pin 4 unter WiringPi mit 7 adressiert wird. Hast du eine andere Pin-Belegung gewählt, musst du natürlich entsprechend adressieren.

      Durch den Aufruf „gpio readall“ bekommst du eine Auflistung aller Pins, dort sind auch die entsprechenden Nummern aufgeführt.

      Prüfe bitte im zweiten Schritt, ob du korrekt verkabelt hast. Nutzt du ein Steckbrett wie in meiner Grafik oder hast du gelötet? Evtl. könnte der DHT22 einen Schaden durch die Hitze erlitten haben, je nachdem, wie grob das Löten vonstatten ging. 🙂

    2. Ich habe das gleiche Problem mit dem Pi 3. Ich bekomme nur „Data not good, skip“. Habe zwei Sensoren getestet, habe beide gelötet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.