Raspberry Pi Luftfeuchtigkeit/Temperatur Sensor

GPIO

Raspberry Pi: Luftfeuchtigkeit und Temperatur messen

Mit dem Raspberry Pi und einigen Sensoren ist es ohne viel Aufwand die Temperatur zu messen. Daneben kann aber auch die Luftfeuchtigkeit in gewissen Situationen oder Projekten (z.B. einer Wetterstation) aufschlussreich sein. Sensoren wie der DHT11 bzw. DHT22 sind nicht nur für wenige Euros zu haben, sondern können neben der Luftfeuchte auch noch die Tempratur messen.



Zubehör

Da die Sensoren bereits (fast) alles mit sich tragen ist außer einem Widerstand nicht viel weiteres Zubehör nötig. Dieses habe ich verwendet:

Den Unterschied zwischen DHT11 und DHT22 kannst du hier nachlesen. Demzufolge ist der DHT11 (blau) zwar günstiger, dafür der DHT22 (weiß) präziser und überdauert länger. Für Anwendungen in „extremen“ Gebieten (0-20% bzw. 80-100% Luftfeuchte) sollte auf den DHT22 zurückgegriffen werden, da er diese Bereiche im Gegensatz zum DHT11 auch unterstützt. Ich habe bspw. in meinem Kühlschrank einen DHT22 Sensor, um Temperatur und Luftfeuchtigkeit zu messen und zu loggen. In der Regel sollte das 11er Modell aber auch genügen.

 

Aufbau

Raspberry Pi Luftfeuchtigkeit/Temperatur Sensor AufbauDer linke Pin des Sensors wird an 3V3 von Pi (Pin1) angeschlossen, der zweite Sensor Pin über einen Pull-Up Widerstand (4.7k – 10kΩ) mit einen freien GPIO des Raspberrys (bei mir GPIO4, Pin7) und der rechte Senior Pin kommt an GND (Pin6) vom Pi. Der zweite Pin von rechts des Sensors bleibt frei.

Der Aufbau ist für DHT11 bzw. DHT22 identisch, da die Pins gleich vergeben sind.

 

Raspberry Pi Luftfeuchtigkeit Software installieren und Testen

Zunächst einmal müssen einige Pakete installiert werden:

sudo apt-get update
sudo apt-get install build-essential python-dev python-openssl git

Nun kann die Bibliothek für die Sensoren geladen werden. Ich verwende hierfür eine vorgefertigte Bibliothek von Adafruit, welche verschiedene Sensoren unterstützt:

git clone https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT
sudo python setup.py install

Dadurch wird eine Python Bibliothek angelegt, die wir einfach in unsere Projekte einbinden können.

Hat alles geklappt können wir bereits die Temperatur und Luftfeuchtigkeit auslesen. Am Einfachsten ist das erst einmal mit den Demofiles:

cd examples
sudo ./AdafruitDHT.py 11 4

Der erste Parameter (11) gibt an, welcher Sensor benutzt wurde (22 für den DHT22) und der zweite, an welchem GPIO er angeschlossen ist (Nicht die Pin Nummer, sondern die GPIO Nummer). Das erzeugt eine Ausgabe wie folgende:

$ sudo ./AdafruitDHT.py 11 4
Temp=24.0*  Humidity=41.0%

Achtung: Die Sensoren sind nur alle zwei Sekunden bereit. Achte also darauf nicht direkt jede Sekunde eine Abfrage zu starten.

 

Um die Raspberry Pi Luftfeuchtigkeit Bibliothek in andere (Python) Projekte einzubinden, braucht man nur folgendes:



, , , , , , ,


57 Kommentare

  1. Sebastian sagt:

    Komme bis CD examples.

    Gebe ich: sudo ./AdafruitDHT.py 11 4 ein,

    folgt die Meldung Failed to get reading. Try again. Verkabelung habe ich gemäß Bild vorgenommen.
    Widerstand müsste auch der richtige sein.
    Woran kann es liegen. Bis CD examples lief alles richtig. Habe den Raspberry Pi 2 Modell B

    • Felix sagt:

      hast du auch den blauen DHT11 Sensor?
      Du kannst mal einen anderen GPIO Pin versuchen. Evtl arbeitet auch der Sensor nicht richtig, falls du sicher bist alles richtig verbunden zu haben.
      LG Felix

  2. Felix sagt:

    Hi
    ich wollte dein Tut probieren scheitere aber beim installieren des python.
    Ich bekomm nach
    „sudo python setup.py install“ angezeigt :

    running build_ext
    building ‚Adafruit_DHT.Raspberry_Pi_2_Driver‘ extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototy pes -fPIC -I/usr/include/python2.7 -c source/_Raspberry_Pi_2_Driver.c -o build/t emp.linux-armv7l-2.7/source/_Raspberry_Pi_2_Driver.o -std=gnu99
    unable to execute gcc: No such file or directory
    error: command ‚gcc‘ failed with exit status 1

    System auf dem Pi ist Wheezy.
    Danke für hilfe 🙂
    Grüße

    • Felix sagt:

      Dir fehlt der C Kompiler 😉

      sudo apt-get install gcc python-dev
    • Felix sagt:

      Hi,
      danke für deine schnelle Antwort.
      Leider kommt :
      „pi@raspberrypi ~ $ sudo apt-get gcc python-dev
      E: Invalid operation gcc “

      ich habe auch bereits versucht die entwickler tools zu installieren. Die sind drauf da sollte doch eigentlich alle C Kompiler dabei sein ?

      pi@raspberrypi ~ $ sudo apt-get install build-essential
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      build-essential is already the newest version.
      0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 

      noch ne idee was ich machen kann ?
      Danke und Grüße

    • Felix sagt:

      Deine Packages und Pfade sind auch aktuell?

      sudo apt-get update
      sudo apt-get upgrade
      sudo apt-get install -f
      sudo apt-get install build-essential
    • Tom Schorn sagt:

      Du knall kopf. sudo apt-get INSTALL …….. usw. Dein fehlendes Wort ist der install Parameter 😀 Aber is mir damals auch oft passiert

  3. Felix sagt:

    wie kann ich herausfinden ob ich alles im richtigen pfad habe ? komme mit filezilla auf den pi. könnte nachschauen ob alles da liegt wenn du mir sagen kannst wo die standart pfade sind für gcc.
    anbei das log der befehle :

    pi@raspberrypi ~ $ sudo apt-get upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following packages have been kept back:
      nuscratch
    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
    pi@raspberrypi ~ $ sudo apt-get install -f
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
    pi@raspberrypi ~ $ sudo apt-get install build-essential
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    build-essential is already the newest version.
    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

    ich bin leider recht neu. sorry für die vielen fragen und danke für deine hilfe.
    Grüße

  4. Felix sagt:

    Hi 🙂
    Danke für die Links. Habe beide durchgeschaut und folgendes versucht :
    apt-get install python-dev

    apt-get install python-devel

    apt-get install python2.7-dev
    apt-get install python-all-dev
    sudo apt-get install python3-dev

    dann python –version
    wird quittiert mit :
    pi@raspberrypi ~ $ python –version
    Python 2.7.3

    leider ist aber die Fehlermeldung immer noch die selbe. Und auch bei Deinem Minecraft tut funktionierts nicht da er einfach nicht kompilieren will -.-
    Muss ich meinen Pi neu aufsetzten ? Beim einrichten kann man doch nix falsch machen ?! Installiert auf meinem Pi ist : Pilight, Fhem, Smartvisu und Minecraft.
    Grüße 🙂

  5. Felix sagt:

    Hi ;D
    Heut nochmal intensiv dran gesetz. Auch ne 2. SD Card fertig gemacht mit neuem System.
    Da hats auf anhieb funktioniert….
    Dann bei deinem Minecraft Tut und der neuen Sd gemerkt das ein zu alter Kompiler drauf ist. Darauf hin ist mir eingefallen das ich, dass damals schonmal probiert hatte.

    Also alte Karte rein und mit der Anleitung aus deinem MC Tut auf Kompilerfehlersuche ( http://charette.no-ip.com:81/programming/2011-12-24_GCCv47/ ) die Schritte durchgegangen.

    Am ende lief mein Kompiler wieder 1A 😀

  6. sleipnir sagt:

    Vielen Dank für die Anleitung. Verkabelung und Einbindung hat sehr gut geklappt.

  7. Tim sagt:

    Ich mal wieder direkt mit 3 Fragen:

    1. Ich habe bereits das Tutorial zum DS18B20+ gemacht, jetzt würde ich gerne den DHT11 anschließen. Muss ich dafür die alte Konfiguration löschen oder auf etwas achten?

    2. Wenn ich gleichzeitig den DS18B20 und DHT11 laufen lassen will, da mir die Abweichung der Temepratur des DHT11 mit 2°C zungenau ist, wie müsste dann die Schaltung aussehen? Kann ich einfach beide Sensoren am GPIO4 anschließen? Hätte nun geschätzt, dass das nicht geht.

    3. Wenn wir von einer Abweichung bei den Sensoren von +/- 2°C sprechen, beschreibt dies eine statische oder dynamische Abweichung.
    Beispiel:

    *statisch = Sensor zeigt immer 1.5°C weniger an, als es warm ist (das könnte man ja einfach rausrechnen, wenn man die Abweichung ermittelt)
    * dynamisch = Der Sensor zeigt immer eine andere Abweichung der Temperatur an (mal +0.5°C mal -0.2°C

    • Felix sagt:

      Der DS18B20 hat nichts mit dem DHT11/22 zu tun, das sind verschiedene Sensoren. Die Temperatur kannst du mit beiden unabhängig voneinander messen.
      GPIO4 ist nur für 1Wire Module, aber der DHT11 ist kein solches.
      Ich glaube kaum, dass es einen Sensor gibt, der dauerhaft exakt 1.5°C o.ä. anzeigt. Wenn dir die Abweichung zu groß ist kannst du dir den DHT22 mal ansehen, der kann größere Bereiche messen und ist etwas genauer.
      LG Felix

  8. Joni sagt:

    Hallo Zusammen,

    wenn ich die Bibliothek einbinden will kommt folgende fehler meldung:

    Python 3.2.3 (default, Mar  1 2013, 11:53:50) 
    [GCC 4.6.3] on linux2
    Type "copyright", "credits" or "license()" for more information.
    >>> import Adafruit_DHT
    ...
    sensor = Adafruit_DHT.DHT22
    pin = 17
    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
    ...
    Traceback (most recent call last):
      File "", line 1, in 
        import Adafruit_DHT
      File "/root/Adafruit_Python_DHT/Adafruit_DHT/__init__.py", line 21, in 
        from common import DHT11, DHT22, AM2302, read, read_retry
    ImportError: No module named common

    Kann mir jemand sagen was ich falsch mache?
    Danke Gruß
    Joni

  9. Holger sagt:

    Moin moin, wie kann ich denn mehrere DHT22 am selben GPIO anschließen? Mit dem DS1820 geht das ja, aber der kann halt keine Luftfeuchte 🙁 Oder muss jeder DHT22 an einen eigenen GPIO?

    Gruß
    Holger

    • Holger sagt:

      Ich habe gerade in einem andern Forum gelesen, dass das wohl nicht geht und für jeden DHT22 ein GPIO Pin „geopfert“ werden muss 🙁

      Gruß
      Holger

    • Micha sagt:

      der DS18B20 ist ein „BUS“ Sensor, der DHT nicht. Was ein „BUS“ ist musst du mal googeln das ist für das Verständnis essentiell.

  10. Hauschi sagt:

    Moin,
    Wirklich super tutorials, großes Lob!
    Meine frage so allgemein:
    Wenns auf dem breadbord geklappt hat und ein Einsatz in der praxis geplant ist, wie verbaut ihr die sensoren etc, punktrasterplatte, streifenraster oder ganz was anderes? Kann ja zur temp messung nicht das breadboard an die wand schrauben…

  11. nastaly.matthias@gmx.de sagt:

    ich wollte es mal ausprobieren mit 2 Sensoren, aber nach dem Befehl git clone frägt mich der RPi nach einem Username und einem Passwort für Github.
    Hast du die Datei geschützt? Oder mach ich nur irgendeinen Fehler. Bin ziemlicher Anfänger und bitte steinigt mich nicht gleich wenn ich nur eine Kleinigkeit falsch gemacht hab.

    LG

    • Felix sagt:

      Nein, das sollte nicht vorkommen. Für das klonen wird kein Account benötigt. Kannst du den genauen Fehler mal hier rein kopieren?
      LG Felix

  12. MadMax sagt:

    Sorry für die totale Noob frage aber ich bin ein totaler Linux Neuling…..
    Die Pakete die ich installieren muß, wo müssen die hin?
    Nach /home/pi/Adafruit…… oder /Adafruit…..
    Hab noch keinen Plan vom Linux Dateisystem und seinen Berechtigungen etc.
    Den Pi hab ich von nem Kollegen und will erstmal nur schauen ob ich die Sensoren zum laufen kriege.
    Lg Maddy

    • Felix sagt:

      Falls du die Befehle meinst, die mittels sudo apt-get installiert werden, spielt es keine Rolle, von wo du den Befehl aufrufst, da sie für das System installiert werden.

  13. Erich sagt:

    Ich kann die Bibliotheken von Adafruit nicht installieren es wird immer nach einem Usernam und einem password für „hhtps://github.com“ gefragt !

    • Felix sagt:

      Das klonen eines Repositories braucht keinen User. Sicher, dass du nicht etwas anderes eingegeben hast? Achja, ist es ein Tippfehler oder kommt das wirklich in der Fehlermeldung („hhtps“)?
      Alternativ kannst du auch die zip Datei des Repos laden und entpacken.

      wget https://github.com/adafruit/Adafruit_Python_DHT/archive/master.zip
      unzip master.zip
    • Erich sagt:

      Hat sich erledigt – weiß nicht woran es gelegen ist – aber jetzt funkt alles auf jeden Fall einwandfrei !

  14. MrChrisEs sagt:

    Hallo Felix.
    Ich bin es wieder einmal!

    Hab jetzt alle Sensoren zusammen die ich brauche, unter anderem auch den DHT11.
    Einen Wert bekomme ich auch schon 🙂
    Meine Frage:
    Hätte gerne ein einfaches skript das alle 5 sek. oder 10 (je nachdem wie sehr das die Rechenleistung beansprucht wenn alles dran hängt) abfragt.
    Am ende sollen alle werte von den Sensoren in einem GUI zusammengefasst werden.

    Ist es jetzt sinnvoller ein neues Skript zu schreiben und die Bibliothek mittels:
    import Adafruit_DHT
    sensor = Adafruit_DHT.DHT11
    pin = 4
    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

    oder sollte ich das „Adafruit_DHT.py“ skript ernehmen und umschreiben?
    wobei ich noch nicht ganz draufgekommen bin wie ich da eine entlos schleife hinbekomme….

    Danke dir.
    LG
    Chris

    • Felix sagt:

      Hi Chris,
      ich würde nur die paar Zeilen einbauen und mich ggf. am anderen Skript orientieren, wenn du Hilfe brauchst.
      Eine Endlos-Schleife, muss unendlich laufen, ergo muss die Bedingung immer wahr sein: while True:
      LG Felix

  15. MrChrisEs sagt:

    Danke dir.
    Funktioniert, allerdings muss ich das skript immer aus dem Eingabe Fenster mit SUDO heraus starten da python mir im Shell fenster immer sagt das ich keine Zugriffsrechte auf das GPIO Modul habe.
    Im Gegensatz kann ich aber das Skript für den BMP085, aus Python heraus aufrufen.
    Liegt das wirklich nur an GPIO? Kann ich da die Rechte irgtw. neu vergeben?
    Ist etwas anstrengend das immer aus dem Eingabe Fenster aus zu starten….
    F5 is da etwas leichter 🙂

    Danke dir.

    • Felix sagt:

      Die RPi.GPIO Bibliothek in Python braucht (leider) Root Rechte.
      Du kannst Rechte auch vergeben mit: sudo chmod +c filename (dann aber #!/usr/bin/python am Anfang des Skripts auch nicht vergessen).

  16. MrChrisEs sagt:

    …da kommt leider:
    chmod: Ungültiger Modus: „+c“

    Aber etwas anderes.
    Was ist deiner Meinung nach Sinvoller:
    Ein Skript für alle Sensoren schreiben die nacheinander ihre Werte ausgeben,
    oder
    Für jeden Sensor ein Skript die paralel laufen?
    Mein Verständnis sagt mir eher das es Sinnvoller ist ein Skript zu haben das alle Sensoren nacheinander Ausliest….?
    LG

  17. Matthias sagt:

    Ich möchte gerne ein zwei Keller Räume Temperatur und Luftfeuchtigkeit messen.
    Bei einem bestimmten Wert der Luftfeuchtigkeit soll über email alamiert werden so das man reagieren kann.
    Wenn man diese Werte dann noch über http://192.168.xxx.xxx auslesen kann mit einem verkauf der letzten Woche wäre klasse.
    So wie ich das gelesen habe ist das mit dem Raspberry Pi möglich.
    Es gibt verschiedene Anleitungen im Internet mit unterschiedlichen Sensoren.
    Da ich mich aber in der Programmiersache gar nicht auskenne traue ich mich nicht ran.
    Kann mir da jemand über teamviewer helfen?

  18. Stefan Söllner sagt:

    Hallo zusammen,
    ich habe folgende Sensoren an einem Rasperry angeschlossen und ein Skript gebastetlt, dass auch alles ausgibt. Im Terminal funktioniert das auch ganz wunderbar. Leider scheitere ich an der der Übergabe in eine RoundRobin Datenbank

    Verwendete Sensoren:

    DHT22 (Temperatur, Luftfeuchtigkeit)
    BMP085 (Druck, Temperatur)
    BH1750FVI (Helligkeit)

    Terminal-Ausgabe:
    T1: 13.10 °C
    Druck: 960.00 hPa
    Druck NN: 1003.21 hPa
    Helligkeit : 0.0 lx
    T2: 12.40 °C
    LF: 61.30
    Traceback (most recent call last):
    File „./wetter_sens_ab_rdd.py“, line 62, in
    data1 = „N:%.2f:%.2f:%.2f:%.2f:%.2f:%.2f“ % (t1, t2, lf, druck, dnn, he1)
    TypeError: float argument required, not function

    Skript:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-

    from Adafruit_BMP085 import BMP085
    import smbus
    import time
    import sys
    import Adafruit_DHT
    import re, os, rrdtool

    bmp = BMP085(0x77)

    bmp = BMP085(0x77, 3) # ULTRAHIRES Mode

    t1 = bmp.readTemperature()

    druckr = bmp.readPressure()

    altitude = 364
    dnn = druckr / pow(1.0 – altitude/44330.0, 5.255)

    druck = druckr/100

    DEVICE = 0x23 # Default device I2C address

    POWER_DOWN = 0x00 # No active state
    POWER_ON = 0x01 # Power on
    RESET = 0x07 # Reset data register value

    CONTINUOUS_LOW_RES_MODE = 0x13
    CONTINUOUS_HIGH_RES_MODE_1 = 0x10
    CONTINUOUS_HIGH_RES_MODE_2 = 0x11
    ONE_TIME_HIGH_RES_MODE_1 = 0x20
    ONE_TIME_HIGH_RES_MODE_2 = 0x21
    ONE_TIME_LOW_RES_MODE = 0x23

    bus = smbus.SMBus(1) # Rev 2 Pi uses 1

    def convertToNumber(data):
    return ((data[1] + (256 * data[0])) / 1.2)

    def he1(addr=DEVICE):
    data = bus.read_i2c_block_data(addr,ONE_TIME_HIGH_RES_MODE_1)
    return convertToNumber(data)

    lf, t2 = Adafruit_DHT.read_retry(22, 14)

    print „T1: %.2f °C“ % t1
    print „Druck: %.2f hPa“ % druck
    print „Druck NN: %.2f hPa“ % (dnn / 100.0)
    print „Helligkeit : “ + str(he1()) + “ lx“

    if lf is not None and t2 is not None:
    print „T2: %.2f °C“ % t2
    print „LF: %.2f“ % lf #alt:print ‚T2 = {0:0.1f}°C LF = {1:0.1f}%‘.format(t2, lf)
    else:
    print ‚Lesefehler! Neu probieren‘
    sys.exit(1)

    data1 = „N:%.2f:%.2f:%.2f:%.2f:%.2f:%.2f“ % (t1, t2, lf, druck, dnn, he1)

    rrdtool.update(
    „%s/wetter.rrd“ % (os.path.dirname(os.path.abspath(__file__))),
    data1)

    Ende Skript.

    RRD Datenbank (ausgelegt für weitere Sensoren, keine Ahnung ob das geht)

    Abzufragende sensoren:

    temp 1 t1
    temp 2 t2
    temp 3 t3
    temp 4 t4

    wind richtung wr
    wind geschw wg

    Druck (NN) dnn

    regen 1 r1
    regen 2 r2
    regen 3 r3
    luftfeuchte lf

    helligkeit he1

    Abfragen jede Minute, alle 60s
    Speichern 10 Tage = 14400 Werte
    dann reduzieren auf 1 Wert pro Tag
    Aufbewahren 50 Jahre: 18000 Werte

    rrdtool create wetter.rrd \
    –step ’60‘ \
    ‚DS:t1:GAUGE:60:-40:80‘ \
    ‚DS:t2:GAUGE:60:-40:80‘ \
    ‚DS:t3:GAUGE:60:-40:80‘ \
    ‚DS:t4:GAUGE:60:-40:80‘ \
    ‚DS:wr:GAUGE:60:0:360‘ \
    ‚DS:wg:GAUGE:60:0:100‘ \
    ‚DS:dnn:GAUGE:60:850:1250‘ \
    ‚DS:r1:GAUGE:60:0:100‘ \
    ‚DS:r2:GAUGE:60:0:100‘ \
    ‚DS:r3:GAUGE:60:0:100‘ \
    ‚DS:lf:GAUGE:60:0:100‘ \
    ‚DS:he1:GAUGE:60:0:1000‘ \
    ‚RRA:AVERAGE:0.5:1:14400‘ \
    ‚RRA:MIN:0.5:1440:18000‘ \
    ‚RRA:MAX:0.5:1440:18000‘ \
    ‚RRA:AVERAGE:0.5:1440:18000‘

    Vielleicht kann mir ja jemand helfen und ein paar Tips geben

    Gruss,
    Stefan

  19. Ingo sagt:

    Hallo Felix,

    seit geraumer Zeit suche ich im Netz nach einem Tut, um die Daten des DHT in einer Grafik auf einem Webserver anzeigen zu können.
    Leider bin ich nicht so richtig fündig geworden.

    Hast du Lust, da mal was vorzustellen?

    Gruß Ingo

  20. Lukas sagt:

    Vielen Dank für das übersichtliche Tutorial, es war wirklich so einfach wie es aussieht. Als zweites Projekt mit meinem pi3 habe ich nun somit den Thermostat erfolgreich fertiggestellt. Als blutiger Anfänger nach einer halben Stunde das fertige Ergebnis zu haben ist echt ein Erfolgserlebnis 😉

    Viele liebe Grüße aus dem Schwarzwald

    • Felix sagt:

      Freut mich das zu hören 🙂 Hoffentlich fallen dir die weiteren Tutorials hier auch so einfach.
      LG, Felix

  21. Heiner sagt:

    Wie verlegt man denn ein DHT11 in einem Kühlschrank?

    • Felix sagt:

      Wie meinst du das? Ein Kabel, was lang genug ist und an den Pi (außerhalb) anschließen. Dünne Kabel passen zwischen Kühlschrank und Tür (dank Abdichtung sollte es auch nicht wärmer dadurch werden).

  22. sepp sagt:

    Hallo Leute,
    ich hab es auch mal versucht, ich habe schon alles probiert.
    Klappt aber nicht.
    Es kommt zurück :

    pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 4
    Traceback (most recent call last):
    File „./AdafruitDHT.py“, line 22, in
    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
    File „/home/pi/Adafruit_Python_DHT/examples/Adafruit_DHT/common.py“, line 90, in read_retry
    humidity, temperature = read(sensor, pin, platform)
    File „/home/pi/Adafruit_Python_DHT/examples/Adafruit_DHT/common.py“, line 76, in read
    platform = get_platform()
    File „/home/pi/Adafruit_Python_DHT/examples/Adafruit_DHT/common.py“, line 51, in get_platform
    from . import Raspberry_Pi_2
    File „/home/pi/Adafruit_Python_DHT/examples/Adafruit_DHT/Raspberry_Pi_2.py“, line 22, in
    from . import Raspberry_Pi_2_Driver as driver
    ImportError: cannot import name Raspberry_Pi_2_Driver

    Irgendwie findet er den Pfad nicht, denke ich mal.
    Bin noch ein Neulinge, daher könnte es eine Einstellung sein.

    Nutze Python 2.79 auf Raspberry PI 3

    Danke schon mal

  23. gajus sagt:

    Hi,
    Die Installation hat soweit geklappt. Aber der Sensor wird nicht gefunden. Ich verwende den DHT11. Der ist allerdings schon auf einer kleinen Platine (von cayenne) vormontiert. Wenn ich meine Python Version wird mir die Version 2.7.9 angezeigt, obwohl ich bereits eine 3.4 Version unstalliert habe. Kannst du mir einen Tipp geben, wie ich den Sensor ansprechen kann?
    Vielen Dank gajus

  24. Daniel sagt:

    Hallo, bin blutiger Anfänger und werde deshalb wahrscheinlich eine blöde Frage stellen, hoffe aber dennoch auf Antworten. Mit dieser Anleitung kam ich gut zurecht, würde jetzt aber gerne die Daten irgendwo festhalten und eine graphische Benutzeroberfläche dazu schreiben. Wie muss ich vorgehen? Ich bedanke mich schonmal im Voraus.

  25. Harald sagt:

    Wer jetzt nicht gleich mit git und kompilieren am Raspi beginnen will, kann auch den Python-Paketmanager (=pip) verwenden: sudo pip install Adafruit_Python_DHT
    Das ist dann vielleicht nicht die allerletzte Version, aber zumindest mit meinem Pi 3 und der letzten Raspian-Version hat das mit einem DHT22 funktioniert. Dann erspart man sich den Kompiler.

  26. Marwin sagt:

    Hallo, hab gesehen, dass Daniel schon eine ähnliche Frage gestellt hat, frage aber nochmal. Wie genau schreibe ich mit tkinter eine GUI? Habe schon rumprobiert, weiß aber nicht wie ich im Endeffekt die Befehle einbinden muss. Ich würde gerne ein Fenster haben, bei dem ich auf Knopfdruck „Messen“ die Temperatur und die Luftfeuchtigkeit dann messen kann und untendrunter dann die Ausgabe kommt. Wäre sehr froh, wenn mir jemand auf die Sprünge helfen kann. Danke und Gruß Marwin

    • Felix sagt:

      Schau mal hier vorbei. Auf der linken Seite findest du einige Tutorials zu den tkinter Elementen.

    • Marwin sagt:

      Habe das jetzt mit in die Datei examples geschrieben und bringt auch keine Fehlermeldungen, allerdings öffnet sich kein Fenster wenn ich auf „Rund Module“ gehe. Was soll ich machen?

    • Marcus Holzberger sagt:

      „Habe das jetzt mit in die Datei examples geschrieben“ – was meinst du mit „das“. Ohne Code kann man dir hier nicht helfen einen Fehler zu finden.

  27. Carlo sagt:

    Hallo, bin ganz neu hier mit dem Raspi und wollte mir auch eine Wetterstation bauen.
    Die Anleitung ist ziemlich verständlich, ich habe aber das Problem, daß mein Sensor nur drei Pins hat, bezeichnet mit „- out +“. Es handelt sich wohl um das modell DHT22 gekauft in Thailand. Nun bin ich mir nicht sicher, welcher Pin wohin gehört.

    • Felix sagt:

      Minus entspricht GND (schwarz) und Plus VCC (rot).

    • Carlo sagt:

      Hey danke, für die schnelle Antwort, eigentlich habe ich zu früh geschrieben, mit etwas mehr lesen, wäre ich wohl auch selbst drauf gekommen. Trotzdem danke nochmals, für die schnelle Antwort, es hat prima geklappt 😉

  28. Elias sagt:

    Hallo, ich habe mir einen DHT22 Sensor besorgt und gemäß dieser Anleitung verkabelt und die Adafruit Software installiert.
    Leider können keine Werte ermittelt werden…
    Nach dem ausführen des Befehels ’sudo ./AdafruitDHT.py 22 17′ kommt, nach den erwarteten etwa 30sec die Meldung ‚Failed to get reading. Try again!’…der Daten-Pin des DHT22 ist über einen 4.7 kOhm Widerstand am GPIO Pin 17 des Raspberry Pi Zeros angeschlossen.
    Hat jemand noch einen Tipp, wo eine Fehlerquelle sein könnte? Außer defekter Sensor…
    Viele Grüße,
    Elias

    • Elias sagt:

      PS.: Habe auch schon GPIO Pin 4 und GPIO Pin 27 ausprobiert…

    • Elias sagt:

      …Problem erledigt!…habe gerade mit einem Multimeter den „4.7kOhm“ Widerstand gemessen und festgestellt, dass jemand ein ‚k‘ zu viel aufgeschrieben hat…es handelt sich um einen 4.7 Ohm Widerstand…also mit einem 5.1 kOhm Widerstand probiert und schon bekomme ich meine Werte 🙂

Schreibe einen Kommentar

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

Blog abonnieren

Abonniere Tutorials-RaspberryPi, um kein Tutorial mehr zu verpassen!