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
Der 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
sudo pip3 install adafruit-circuitpython-dht sudo apt-get install libgpiod2
Dann erstellen wir eine neue Datei mit unserem Code:
sudo nano dht_example.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import time import board import adafruit_dht # Initial the dht device, with data pin connected to: # dhtDevice = adafruit_dht.DHT22(board.D4) # you can pass DHT22 use_pulseio=False if you wouldn't like to use pulseio. # This may be necessary on a Linux single board computer like the Raspberry Pi, # but it will not work in CircuitPython. dhtDevice = adafruit_dht.DHT22(board.D4, use_pulseio=False) while True: try: # Print the values to the serial port temperature_c = dhtDevice.temperature temperature_f = temperature_c * (9 / 5) + 32 humidity = dhtDevice.humidity print( "Temp: {:.1f} F / {:.1f} C Humidity: {}% ".format( temperature_f, temperature_c, humidity ) ) except RuntimeError as error: # Errors happen fairly often, DHT's are hard to read, just keep going print(error.args[0]) time.sleep(2.0) continue except Exception as error: dhtDevice.exit() raise error time.sleep(2.0) |
Beachte dabei, dass du adafruit_dht.DHT22
mit adafruit_dht.DHT11
ersetzt, falls du einen DHT11 Temperatursensor verwendest.
Die Datei speichern wir mittels STRG + O und beenden den Editor mit STRG + X. Anschließend führen wir unseren Code aus:
sudo python dht_example.py
Frühere Version
Daneben gibt es ein weiteres Repository von Adafruit, welches aber inzwischen nicht mehr verwendet werden sollte. Der Vollständigkeit halber zeige ich es hier dennoch an (du kannst diesen Teil überspringen, sofern davor alles funktioniert hat):
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:
1 2 3 4 5 6 |
import Adafruit_DHT ... sensor = Adafruit_DHT.DHT11 pin = 4 humidity, temperature = Adafruit_DHT.read_retry(sensor, pin) ... |
Daten dauerhaft loggen
Für Wetterstationen und ähnliche Projekte zur Überwachung der Temperatur und Luftfeuchtigkeit bietet es sich an diese Werte in regelmäßigen Zeitintervallen zu speichern um diese dann später analysieren zu können. Eine Möglichkeit wäre das Speichern in lokaler Datenbank, allerdings hat das den Nachteil, dass unter Umständen die SD-Karte zu sehr belastet werden könnte.
Daher habe ich eine andere Methode gewählt, welche die Daten auf einem externen Server speichert. Dieser Service ist bei normaler Nutzung kostenlos und es können sehr einfach Daten gespeichert werden, wie hier zu sehen ist:
Das komplette Tutorial dazu findest du hier:
Raspberry Pi Sensordaten mit ThingSpeak loggen und auswerten
200 Kommentare
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
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
Mir geht’s genau so
Dieses Problem hatte ich auch wo ich mehrere Senoren probiert hatte, das Problem liegt an der Stromversorgung.
Könnte auch am Widerstand liegen. Ich habe jetzt einen 470er drin. Seitdem funktioniert es.
Hallo zusammen
Ich habe den Raspberry erst seit zwei Tagen. Deshalb bin ich auch noch ein Anfänger.
Ich habe das Problem, dass ich an der ersten Zeile schon scheitere: sudo apt-get update
Da kommt immer der Fehler SyntaxError: invalid syntax und markiert ist das Wort apt.
Kann mir jemand helfen?
Ich habe einen Fehler gemacht nun klappte es mit dem Update. Nun habe ich ein weiteres Problem: bis hier hat alles wunderbar geklappt: sudo ./AdafruitDHT.py 11 4
Ich erhalte sogar zwei Werte: Temp=1.0* Humidity=2.0%. Aber es ist bei mir im Raum weder so Kalt noch so trocken. Manchmal erhalte ich auch T=0.0* und 3.0% Feuchte. Weiss jemand was das Problem sein könnte?
Hallo Pascal dein Problem ist ganz einfach dein Rasperry benötigt eine Internetverbindung und da du diese nicht aufweisen kannst kann dein Rasperry dieses Package nicht herunterladen!
Mit freundlichen Grüßen
Dagmar Sieverding
Habe die gleiche Fehlermeldung erhalten. Lag aber an mir, hatte den falschen GPIO gewählt.
Am Pi2 ist GPIO4 Pin 5
Sorry Irrtum GPIO 4 ist Pin 7
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
Dir fehlt der C Kompiler 😉
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 ?
noch ne idee was ich machen kann ?
Danke und Grüße
Deine Packages und Pfade sind auch aktuell?
Du knall kopf. sudo apt-get INSTALL …….. usw. Dein fehlendes Wort ist der install Parameter 😀 Aber is mir damals auch oft passiert
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 :
ich bin leider recht neu. sorry für die vielen fragen und danke für deine hilfe.
Grüße
Welche Python Version hast du (
python --version
)? Helfen dir evtl. diese Links weiter, da hatten Leute die selbe Fehlermeldung:http://stackoverflow.com/questions/13720578/python-module-installation-error-command-gcc-failed-with-exit-status-1
http://stackoverflow.com/questions/11094718/error-command-gcc-failed-with-exit-status-1-while-installing-eventlet
LG Felix
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 🙂
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 😀
Vielen Dank für die Anleitung. Verkabelung und Einbindung hat sehr gut geklappt.
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
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
Ich hab bei 1. auch keine Ahnung, will es aber auch gern so aufbauen, falls also jemand einen Lösungsvorschlag hat, nur her damit…
Hallo Zusammen,
wenn ich die Bibliothek einbinden will kommt folgende fehler meldung:
Kann mir jemand sagen was ich falsch mache?
Danke Gruß
Joni
Klingt sehr danach, dass ein Pfad nicht richtig gesetzt worden ist. Benutzt du Python 2.7 oder 3.x?
Ich habe einen Thread gefunden, bei dem es um den selben Fehler geht: https://groups.google.com/forum/#!topic/webiopi/MrjH10YcG9I
Danke schon mal.
Ich habe Python 3 benutzt.
Mit dem 2.7 hat es funktioniert.
Wie funktioniert es mit Python 3?
Hallo Joni,
die Bibliothek benutzt Python 2.7 Funktionen, daher müsste man sie erst anpassen und kompatibel zu Python3 machen.
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
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
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.
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…
Jenachdem, was für den Einsatz am praktischsten ist. Meistens löte ich es auf Lochrasterplatinen, manchmal nehme ich aber auch Mini Breadboards.
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
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
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
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.Ich kann die Bibliotheken von Adafruit nicht installieren es wird immer nach einem Usernam und einem password für „hhtps://github.com“ gefragt !
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.
Hat sich erledigt – weiß nicht woran es gelegen ist – aber jetzt funkt alles auf jeden Fall einwandfrei !
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
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
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.
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).…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
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?
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
Dein he1 ist keine fließkommazahl sondern ne funktion.
Bin mir nicht sicher aber float(he1()) würde bestimmt klappen
Dein he1 ist keine fließkommazahl sondern ne funktion.
Bin mir nicht sicher aber float(he1()) würde bestimmt klappen
lg 🙂
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
gibt es dazu jetzt irgendwo ein tut?
Ja: Eigene Raspberry Pi Wetterstation mit OpenHAB 2 bauen
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
Freut mich das zu hören 🙂 Hoffentlich fallen dir die weiteren Tutorials hier auch so einfach.
LG, Felix
Wie verlegt man denn ein DHT11 in einem Kühlschrank?
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).
Ich glaube an dich.
LG
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
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
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.
Hallo Daniel,
falls du es mit Python programmieren willst, kannst du z.B. Tkinter benutztn.
LG, Felix
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.
Hi!
Mit der von Dir (Felix) beschriebenen Vorgehensweise, sowie der in Koflers Buch ‚Raspberry Pi – Das umfassende Handbuch / Auflage 4 / Kapitel 15.5′ bekame ich die Fehlermeldung das das Modul (Adafruit_DHT) nicht gefunden werden konnte. Die Augabe von ’sudo python3 setup.px install‘ ofenbar ohne Fehlermeldung durchlief. Soweit ich das als Wiedereinsteiger überhaupt beurteilen kann……
ABER mit der von Harald vorgeschlagenen Weise mit pip hats auf Anhieb funktioniert! 🙂
Danke Felix und Danke Harald!!!!
BTW:
Wenn ich in das Verzeichnis ~/Adafruit_Python_DHT/examples wechsle und
sudo ./AdafruitDHT.py 22 21 eingebe (DHT22 Sensor an BCM21 bzw GPIO29),
bekomme ich immer noch die Fehlermeldung ‚ImportError: No module named Adafruit_DHT‘.
Um Lösung bzw Erklärung wäre ich dankbar.
Aber wie oben erwähnt, in meinem Python Programm läuft es nun mit ’sudo pip install Adafruit_Python_DHT‘
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
Schau mal hier vorbei. Auf der linken Seite findest du einige Tutorials zu den tkinter Elementen.
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?
„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.
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.
Minus entspricht GND (schwarz) und Plus VCC (rot).
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 😉
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
PS.: Habe auch schon GPIO Pin 4 und GPIO Pin 27 ausprobiert…
…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 🙂
die anleitung ist sehr gut 🙂 ABER es fehlt eine info (wie auch bei allen andern webseiten)
wenn man über 100cm leitungs länge kommt, sollte an pin1 5v angelegt werden
bin die tage verzeifelt dran.
schreib das hier auch, weil ich weiss das hier jemand auch liest 🙂
der pullup kann weiterhin mit 3.3v betrieben werden ^^
also bei meiner 10 meter CaT6 verkablung hat es nun eine gute funktion 🙂
Hey ich möchte das gleiche machen, bei den neuen DHT22 sensoren ist der pullab aber schon mit verbaut.
Ich betereibe aktuell meines mit 3.3V ohne Pullab
nun möchte ich auf die 5V gehen wie muss ich genau anschließen. Hab gelesen dass man mit 5V aufpassen muss da man sein board zerstören kann – stimmt das? kannst du mir die verbindungen genau sagen?
Danke
Markus
Moin Zusammen,
habe mir kürzlich das 37 Sensor Kit zugelegt. Dabei ist mir aufgefallen, dass der DHT bereits auf einer Platine sitzt und diese widerum nur 3 Pins hat. Der Sensor selbst hat jedoch 4 Pins. Ist es möglich das hier schlicht der Widerstand bereits verbaut ist? Siehe Bild : http://i.imgur.com/wXkAYLb.png
Und würde es für dieses Tutorial reichen, wenn ich die Verbindung über den Widerstand auslasse, oder ist das gar nicht für mich geeignet?
Besten Danke schon mal
André
Wenn auf der Platine schon ein Widerstand verbaut ist, brauchst du diesen nicht mehr. Auch hier werden nur 3 Pins benutzt, also sollte das kein Problem darstellen. Du musst nur schauen, was VCC (+), GND (-) und Data ist.
Hallo,
ich habe gerade erst angefangen mit Raspberry (3) zu experimentieren. Mein erster Schritt war es mit Pilight meine 433 MHz Steckdosen per Web-Gui zu steuern. Das hat problemlos funktioniert.
Als weiteren Schritt wollte ich in die Gui meinen Temperatur/Feutigkeits Sensor DHT11 eingliedern. Die direkte Auslese mit „AdafruitDHT.py 11 4“ hat sofort geklappt. Ich habe im Internet einen Code gefunden um die Sensor Messwert in der Gui anzeigen zu lassen. Leider funktioniert mit diesem Code in der „config.json“ die komplette Web Gui nicht mehr. Wie muss ich den Sensor richtig einbinden?
config.json: http://pastebin.com/GsVbj94f
Vielen Dank !
Oskar
Hallo Oskar,
tut mir leid, ich weiß nicht woher du die Einstellungen der config.json hast. Am besten du fragst beim Ersteller nach?
LG, Felix
Hallo!
Ich verwende den DHT22 und python. Die Termperaturanzeige ist richtig. bei der humidity zeigt es mir immer 1.0 an. Was stimmt da nicht?
Ab und zu hatte ich das Problem, das der Sensor keine neuen Werte mehr ausgab.
In dieser Situation hilfst nur eins: Versorgungsspannung des Sensors wegschalten.
Als Vorkehrungsmassnahme habe ich mal 100nF und eine 10nF Kerko von VCC zu GND geschalten.
Danach ist das Phänomen seltener aufgetreten.
Könnte mir wer sagen was ich falsch mache hab mich an die ankeitung von oben gehalten hat früher auch schon mal geklappt bekomme aber seit heute eine Fehlermeldung im Bereich „Import“ das kein Modul Name Adafruit_DHT existiert?
Hi, erstmal danke für die ausführliche Beschreibung.
Ich möchte noch ein Hinweis anfügen:
Die Meldung“Failed to get reading. Try again.“ muss nicht heißen, dass ein Bauteil defekt ist. Es kann auch an zu geringe Spannung liegen.
Ist das Netzteil zu schwach…..?!
Aber auch wenn das Netzteil ausreicht (ich nutze ein 4 Amper Netzteil), kann es passieren, dass die Spannung zu gering ist. Bei mir messe ich 3,24V, das ist grenz wertig lt. Beschreibung. Wenn ich per USB noch ein WEBCAM anschließe, bekomme ich nur sporadisch werte von der DHT22 und habe eine Spannung von 3,238V. (plus minus Toleranz!)
Soweit ich verstehe, ist es auch möglich den DHT mit 5V zu versorgen und 5kOhm Widerstand nach 3,3V zu legen und so auf ein GPIO zu gehen. Jedoch habe ich das noch nicht getestet.
Auch heißt es, mit 3,3V ist max. 1m Leitung möglich, mit 5V bis 30m machbar.
Hallo zusammen. Ich benutze den DHT11 am Pi. Würde gerne die Temperatur auf 2 Nachkommastellen messen und ausgeben. Geht das?
Wenn du genauer messen willst, kannst du auch den DS18B20 nehmen.
Hallo,
ich habe den Aufbau mit 2 DHT11 und 1 DHT22 getestet.
Ergebnisse beide DHT11 zeigen 20% Luftfeuchtigkeit und der DHT22 47,2% an.
Die Temperatur ist mit 22 bzw 23,1 gleich. Gibt es dafür eine Erklärung ?
Viele Grüße Detlef
20% is bald Wüstenfeeling und so eigentlich in einer Wohnung garnicht machbar, ich habe auch in einem Forum gelesen das die Werte eher Würfelwerten entsprechen als Richtigen, mein Test hat das ganze leider bestätigt
Hi,
bekomme die Fehlermeldung:
ImportError: No module named Adafruit_DHT angezeigt.
Gruß Lars
Hallo,
Ich habe das gleiche Problem
der Befehl sudo ./Adafruit.py 11 7 ergibt folgende Antwort:
Traceback (most recent call last):
File „./AdafruitDHT.py“, line 24, in
import Adafruit_DHT
ImportError: No module named Adafruit_DHT
Gruß
Dieser Artikel hat mein Problem gelöst.
http://stackoverflow.com/questions/26246239/dht22-sensor-import-adafruit-dht-error
mir leider nicht. habe das gleiche wie du
Läuft. Danke dir.
Gruss Lars
Hallo!
Leider wird bei mir immer nur Humidity=1.0% angezeigt. Ich habe es mit mehereren Sensoren ausprobiert. Die Temperatur wird richtig angezeigt: Temp=19.5*
Ich verwende die DAtei sudo ./AdafruitDHT.py 22 4.
Alles nach Vorgabe gemacht. Wo liegt der Hund?
Danke für die Hilfe.
Hallo,
erstmal vorweg: Euer Tutorial ist klasse. Nur irgendwie klappt es bei mir nicht.
Wenn ich den Test mache für
cd examples
sudo python3 AdafruitDHT.py 11 4
erhalte ich nur folgende Meldung:
Traceback (most recent call last):
File „AdafruitDHT.py“, line 41, in
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
File „usr/local/lib/python3.2/dist-packages/Adafruit_DHT-1.3.1-py3.2-linux-armv71.egg/Adafruit_DHT/common.py“, line 90, in read_retry…
……………
……………
RuntimeError: Error accessing GPIO
Das ist mein erster Versuch mit dem Raspberry pi – dementsprechend kenne ich mich noch nicht besonders aus.
Kann mir hier jemand helfen? Bin am verzweifeln 🙁
LG
Timo
Hast du schon einen anderen GPIO bzw. Python2 versucht?
LG, Felix
Ja, einen anderen GPIO (11) und im Aufruf Python2 bzw. auch einfach nur python. Leider immer mit demselben Ergebnis.
Habe einen Raspberry 2 B – weiß nicht ob das eine Rolle spielt.
Grüße
Timo
Timo, auf älteren Raspbian Systemen sind für GPIO root-Rechte erforderlich. Schon mal probiert dein Programm per „sudo python “ zu starten?
Hallo
bei mir kommt dieser Messwert heraus:
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 22 4
Temp=4.9* Humidity=3307.2%
mit:
https://github.com/technion/lol_dht22
zeigt er mir den richtigen Wert an
Gruss
Hallo,
du betreibst den DHT11 mit VDD=3,3V. Laut Datenblatt braucht er aber eine Versorgungsspannung zwischen 3,5V und 5,5V. Andernfalls kann es zu Messungenauigkeiten kommen. Sollte man für VDD nicht lieber den 5V Pin des Raspi verwenden?
Mann muss an der Stelle leider auch sagen das die Feuchtigkeitsangaben sehr mit vorsicht zu genießen sind, habe hier 6 Sensoren(2302), davon kommt keiner an den Realen Wert ran Teils 40%, im besten Fall noch 10% Abweichung
Hallo miteinander ich habe zwei AM2302 am Raspberry 3 in Betrieb. Jeder Sensor ist mit einem geschirmten Cat6 Kabel (je 3m) am Raspberry angeschlossen, wobei die Schirmung auf der Seite des Raspberrys an GND hängt. Ich habe beide Sensoren am selben 5v Pin und am selben GND Pin angeschlossen. Wenn ich die Sensoren einzeln oder nacheinander mit 5s Sleep abfrage, bekomme ich jede dritte Rückmeldung Temp=-7.6* Humidity=3311.0%. Was kann ich verbessern?
Gute Anleitung, vielen Dank! Aber wozu ist der Widerstand nötig? Ich habe die gleiche Konstruktion ohne Widerstand in Verwendung mit 5 V und alles läuft einwandfrei.
LG
Hallo, ich versuche gerade meine Wetterstation ans laufen zu bekommen. bekomme aber leider folgende Fehlermeldung:
pi@raspberrypi:~ $ git clone https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT
Cloning into ‚Adafruit_Python_DHT’…
fatal: unable to access ‚https://github.com/adafruit/Adafruit_Python_DHT.git/‘: Failed to connect to github.com port 443: Connection timed out
Hat jemand eine Ahnung woran es liegt?
https://stackoverflow.com/a/18356572/2158456
Moin Felix,
hab da ein kleines Problem mit dem DHT22,
Hab gestern mal ueber APT-GET ein Update gemacht.
Seit dem klappts mit dem DHT nicht mehr und ich bekomme eine Fehlermeldung:
Ich hab bisschen gegoogelt aber nicht viel gefunden. Kannst du mir da weiter helfen?
MfG Hauschi
Im Zweifel würde ich mal in Adafruit’s Github Repo nachfragen.
Hab jetzt gelesen, daß man die adafruit library updaten soll.
Also einfach nochmal neu per git clone neu downloaden, oder gibts da ne update funktion?
MfG Hauschi
Falls du es über den Paketmanager installiert hast mit update/upgrade, falls manuell über git, dann einfach den neusten Stand mit fetch holen und erneut builden.
Ääh, mit fetch?
könntest Du mir da auf die Sprünge helfen?
Bin anscheinend grad überfordert.
🙂
mit git fetch und git pull kannst du dir den aktuellen Stand des Repos laden, ohne es neu zu klonen.
alsofür ganz blöde….
git fetch https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python setup.py install
oder entfällt das setup.py
sorry…
Nein, du wechselst ins Verzeichnis, führst einfach nur
git pull
aus und installierst es erneut.Alternativ kannst du auch das Repo neu klonen.Hi,
erstmal danke für die viele tollen Tutorials! Das mit der Temperaturmessung hat auf Anhieb geklappt und auch das Loggen ist kein Problem.
Ich hab noch ein LCD1602 Display zuhause und würde das gerne zusätzlich anschließen und die aktuelle Temperatur/Luftfeuchtigkeit auf dem Display anzeigen. Allerdings kenne ich mich bzgl. Verkabelung NULL aus 🙁
Hat jmd eine „Musterverkabelung“ für DHT22 UND Display gleichzeitig? Danke schon mal! 🙂
LG Kevin
Da die beiden Module keine gleichen GPIOs brauchen, kannst du sie separat ausführen und lediglich den Code etwas anpassen. Führe dazu alles entsprechend dem folgenden Tutorial aus und passe den Text so an, dass eben der Temperaturwert angezeigt wird: HD44780 LCD Display per I2C mit dem Raspberry Pi ansteuern
Alles klar, ich versuch mal mein Glück. Danke! 🙂
Vielen Dank für das Tutorial! Hat auf Anhieb funktioniert.
Hallo Felix ,
Super Tutorial und auch die Beschreibung einfach genial und einfach .
Bei mir zeigt er nur eine falsche Temperatur an ,bei der Feuchte bin ich mir nicht sicher.
Temp=0.0* Humidity=2.0%
was aber nicht stimmen kann wir haben 8 grad .
Hast du einen Tippe ,Dankeschön .
Hallo Felix ,
war etwas zu schnell ,am RP habe ich einen DS1820 der die volle Funktion hat .Den DHT, weiß
habe ich an GPIO2 mit einen 10 kOhm
Udo
Kann es sein das der DHT22 nicht mit dem Raspberry Zero zusammenarbeitet?
Ich habe hier einen RPi3 mit diesem Sensor und er funktioniert einwandfrei. Benutze ich den Aufbau am Rpi Zero mit der selben Speicherkarte dann bekomme ich nur ein Failed to get reading…..
Ich habe in meinem Gewächshaus einen Raspberry Pi Zero und DHT22 und diese funktionieren wunderbar zusammen. Hast du die selbe SD Karte genutzt und die selben Pins?
Hallo,
wenn ich in einem Projekt versuche den Sensor anzusprechen, kommt beim Ausführen eine Fehlermeldung bezüglich folgender Zeile im Quellcode:
import Adafruit_DHT
-> No module named Adafruit_DHT
Wie kann das sein? Ich habe es exakt so nachgemacht, wie im Tutorial beschrieben…
LG
Hallo Felix,
sollte dein Tutorial theoretisch auch problemlos funktionieren wenn eine Raspberry Pi 3 in Kombination mit einem Grovepi benutzt wird? Leider kommt beim Eingeben des sudo ./AdafruitDHT.py 11 4 anschließend die failed to get reading Fehlermeldung. Hat das mit den GPIO zu tun? Da ich die Raspberry Pi 3 sowie Grovepi erst seit wenigen Stunden besitze entschuldige ich mich im Voraus für die womöglich sehr dumme Frage.
Liebe Grüße
Hallo,
Ich bekomme auch immer die Meldung „Error failed reading“. Habe alle anderen Geräte vom Pi entfernt. Ist der Widerstand zu groß?
traue mich nicht, einen kleineren zu nehmen
Kann mir jemand bitte ein einfaches Script welches den Wert den ich im Putty z.B auslese also die Temperatur und die Feuchtigkeit in einen php Code für die Webseite schreiben. Im Internet gibts soviel mit irgendwelchen Datenbanken aber schlussendlich nirgends ein Script welches einfach den Wert auf php anzeigen lässt. Ich bin echt am verzweifeln.
exec ist das Stichwort 🙂
Hi Felix,
danke erstmal für die ganzen Tutorials. Echt klasse!
(Ich benutze einen Raspberry pi 3 mit offizielem Raspbian und einem DHT22)
leider krieg ich eine Fehlermeldung
pi@PiA:~ $ cd Adafruit_Python_DHT
pi@PiA:~/Adafruit_Python_DHT $ cd examples
pi@PiA:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 22 4
^CTraceback (most recent call last):
File „./AdafruitDHT.py“, line 41, in
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
File „/usr/local/lib/python2.7/dist-packages/Adafruit_DHT/common.py“, line 93, in read_retry
time.sleep(delay_seconds)
KeyboardInterrupt
Ich habe auch mal deinen Einbindungsvorschlag durchgeführt
import Adafruit_DHT
sensor = Adafruit_DHT.DHT11
pin = 4
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
bekomme aber den selben Fehler.
da er sich über den „retry“ beschwert hab ich auch mal nur
import Adafruit_DHT
sensor = Adafruit_DHT.DHT11
pin = 4
humidity, temperature = Adafruit_DHT.read(sensor, pin)
print humidity
print temperature
gemacht …. jetzt druckt er zweimal „None“ aus… was zwar keine Fehlermeldung ist aber euch keine Temp/Hum !!!^^ ich bitte um Hilfe
found the problem … could get the right version in „common .py“ /usr/local/lib/python2.7/dist-packages/[SomethingWithAdafruit] <– already deleted the folder
heres the new github link
https://github.com/adafruit/Adafruit_Python_DHT/blob/master/Adafruit_DHT/
if you look inside the common.py theres a change
elif version == 3:
"""Use Pi 2 driver even though running on Pi 3"""
from . import Raspberry_Pi_2
return Raspberry_Pi_2
Habe die Anleitung mal nachgebildet.
Es funktioniert auch alles einwandfrei mit sudo ./AdafruitDHT.py 22 4
Danke!
Allerdings will es mir nicht gelingen das Python-Script:
import Adafruit_DHT
sensor = Adafruit_DHT.DHT22
pin = 4
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
print („Feuchte:“ humidity, „Temperatur“, temperature)
zu einer vernünftigen Ausgabe zu bewegen.
Es kommt zu keiner Fehlermeldung im Script, allerdings bekomme ich auch keine vernünftige Ausgabe:
Python 3.5.3 (/usr/bin/python3)
>>> %Run DHT22.py
Feuchte: None Temperatur: None
Mit der alten Python Version gibt es keine Probleme:
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type „copyright“, „credits“ or „license()“ for more information.
>>>
========== RESTART: /home/pi/Adafruit_Python_DHT/examples/DHT22.py ==========
(‚Feuchte:‘, 40.0, ‚Temperatur:‘, 23.5)
>>>
Gibt es einen speziellen Workaround, damit auch dieser Sensor mit der neuen Python-Version funktioniert?
Hast du die Bibliothek denn auch für Python3 installiert oder nur für Python2?
Hallo,
wenn ich versuche das Modul einzubinden kommt nur folgende Fehlermeldung:
Traceback (most recent call last):
File „/home/pi/Adafruit_Python_DHT/examples/dht22.py“, line 5, in
import Adafruit_DHT
ImportError: No module named ‚Adafruit_DHT‘
Was mache ich falsch? Das Demofile funktioniert aber.
Mein Code:
#!/usr/bin/python
#Bibliotheken einbinden
import RPi.GPIO as GPIO
import Adafruit_DHT
#GPIO definieren
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
#Feuchtigkeitssensor einbinden +++ Pin kann auch ein anderer sein
sensor = Adafruit_DHT.DHT11
pin = 4
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
#Ausgelesene Werte in Dateien schreiben
f = open(„temperature.dat“, „w“)
f.write(temperature)
f.close()
f = open(„humidity.dat“, „w“)
f.write(humidity)
f.close()
#Pins zurücksetzen
GPIO.cleanup()
Also die Bibliothek wird nicht gefunden, was sein könnte, dass sie lokal nicht vorhanden ist oder aber unter einer anderen Python Version installiert wurde, etc.
Hallo Felix,
ich habe ähnlich bzw. genau die gleichen Probleme:
Bin kein Programmierer habe den Raspberry erst seit Januar und vorher nie sowas gemacht. Also Total unerfahren.
Meine Ausstattung:
Raspberry Pi3
Raspbian Stretch
Ich deine Zeilen vom Tutorial ausgeführt. Über das LX-Terminakl bekomme ich auch Werte der Temperatur und Feuchte.
Allerdings nicht über ein Script.
Installation habe ich wie folgt gemacht:
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get install build-essential python-dev python-openssl git
pi@raspberrypi:~ $ git clone https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT
pi@raspberrypi:~/Adafruit_Python_DHT $ sudo python setup.py install
pi@raspberrypi:~/Adafruit_Python_DHT $ sudo python3 setup.py install
Meine Scripte:
das erste das nicht funktioniert:
Aufrufen tue ich das ganze immer wie folgt:
LX-Terminal : sudo idle3
Inder Python shell dann >File> Open meine Scripte dann über F5 ausführen
Solche Fehlermeldung kommt dann:
============== RESTART: /home/pi/Adafruit_Python_DHT/DHT221.py ==============
Traceback (most recent call last):
File „/home/pi/Adafruit_Python_DHT/DHT221.py“, line 5, in
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
File „/home/pi/Adafruit_Python_DHT/Adafruit_DHT/common.py“, line 94, in read_retry
humidity, temperature = read(sensor, pin, platform)
File „/home/pi/Adafruit_Python_DHT/Adafruit_DHT/common.py“, line 80, in read
platform = get_platform()
File „/home/pi/Adafruit_Python_DHT/Adafruit_DHT/common.py“, line 55, in get_platform
from . import Raspberry_Pi_2
File „/home/pi/Adafruit_Python_DHT/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‘
>>>
Was mache falsch?
Hallo Felix,
ich würde gerne zu meinem gemessenen Luftfeuchtigkeitswert eine Konstante addieren. Es soll dann nur der korrigierte Wert der Luftfeuchtigkeit ausgegeben werden.
Wie könnte ich das realisieren?
Bei return einfach bspw +5 ausgeben?
Hallo
Habe mir drei eigenständige „DHT22 Sensor Pi’3’s“ gebaut, wenn ich die Scripte jeweils manuell ausführe (sudo ./AdafruitDHT.py 22 4) erscheinen die gewünschten Daten (Temp / Humid).
Nun möchte ich die Daten automatisch alle 300 Sekunden (5 Min) abrufen und in eine externe SQL DB (auf meinem NAS) schreiben lassen. Ich scheitere bereits an der automatischen 5-Min Schleife, kriege es mit „time.sleep“ nicht hin. Trotz googeln und zwei Pi 3 Sensor Bücher.
Könnte mir hier evtl. jemand aushelfen? Habe die Installation und Test’s wie in diesem Tutorial ausgeführt entsprechend umgesetzt.
Wenn man weis, wie, wäre das mit der Schleife vermutlich keine grosse Sache… 🙂
Wieso nutzt du nicht crontab?
Ja, dass funktioniert in der Tat wunderbar. Die Sensor-Daten werden nun einmal in ein einfaches Logfile geschrieben. Danke für den Hinweis.
Mit der SQL DB Verbindung hab ich noch Schwierigkeiten.
„Host xxx.xxx.xxx.xxx is not allowed to connect to this MariaDB Server“. Benutze phpMyAdmin / MariaDB10 auf meinem NAS. Der User mit welchem ich auf die DB connecten möchte, hat alle Rechte, auch dessen Host (IP) ist freigegeben/hinterlegt.
Hab’s mit MySQLdb versucht, wie auch mit „mysql.connector as mariadb“, beides erfolglos.
Spätestens am Wochenende werde ich mich weiter dahinter klemmen.
Mit MariaDB5 hab ich’s hingekriegt.
Auf dem NAS sind zwei unterschiedliche MariaDB Versionen vorhanden, einmal DB5 (Port 3306) und die andere ist DB10 (Port 3307).
Obschon ich den Port im Python Script manuell beim Host ergänzt hatte, konnte ich die Daten nicht in die MariaDB10 schreiben…
Ich mach’s halt nun mit MariaDB5, funktioniert ja so und das Ergebnis ist identisch.
Einziger Punkt der noch etwas stört sind die geschriebenen Sensorwerte (36.9000015258789), auf 1-Komma gerundet wär’s etwas schöner. Als gerundete CommandLine Ausgabe bringe ich 36.9 hin, aber (noch) nicht als DB Eintrag.
Hallo zusammen.
Vielleicht hilft es dem einen oder anderen ja.
Habe lange nach dem Fehler bei mir gesucht und festgestellt das in der Python Datei folgendes fehlt:
from time import sleep
Danach lief alles wie nach dieser super Anleitung hier beschrieben.
Hey,
danke für das Tutorial, ich habe mich heute morgen auch mal daran gemacht und habe den Sensor nach deinem plan aufgesteckt und angeschlossen, danach habe ich mich dann daran gemacht und habe die befehle nach und nach eingegeben was auch alles kein problem gewesen ist, leider tritt bei mir bei dem befehl cd examples immer der „fehler“ auf:
pi@raspberrypi:~ $ cd examples
-bash: cd: examples: No such file or directory
leider bin ich noch ein ziemlicher anfänger, ich verstehe es soweit das er diesen ordner oder das file halt nicht findet, muss ich dies manuell anlegen oder habe ich dann schon beim verkabeln einen fehler gemacht? :-O
Grüße!
In dem geklonten Repository von Github, gibt es den Ordner „examples“. Schau dir mal die Ordnerstruktur usw mit „ls“ an.
Hi,
Läuft alles super mache weiter so !
Ich hatte am Anfang das Problem das mein Programm die Bibliothek nicht gefunden hat… habe nicht gewusst dass ich das Programm mit Python2 ausführen muss XD
Mein Python 3.5.3 sagt auch Modul nicht gefunden.
Bin froh daß ich daß Raspiteil überhaupt zum Laufen bekommen habe, muss ich da jetzt extra ein äteres Python installieren (siehe Post daß es auf Python2 geht)?
Hab keine Ahnung von Linux, habe brav abgetippt was in den Feldern steht und die Kiste hat wild rumgedudelt ohne Fehlermeldungen, wobei ich erstmal rausfinden musste das das Befehle sind.
Schon das eingeben der Zeile zum Auslesen bringt keine Ausgabe, nur nen Blinkenden Cursor……
Fängt ja Gut an der Start in die Wunderkiste.
Tach,
hab es gerade mit dem Raspberry Pi 3 Model B+ und dem DHT22 gebaut.
Funktioniert bei mir ohne Probleme!
Vielen Dank für diese tolle Seite, mach weiter so!
Hallo, ich bekomme immer die Meldung Datei oder Verzeichnis nicht gefunden, habe alles nach Anleitung gemacht was könnte das sein??
Vielleicht kann mir jemand helfen danke
Hallo. Zunächst vielen Dank, funktioniert erstmal grundsätzlich.
Ich habe nun folgendes vor: ich will von einer Shell aus das Skript „AdafruitDHT.py“ starten und die 2 Rückgabewerte in 2 Variablen speichern. Mit einer Variable (zB nur die Temperatur) klappt das schon, aber wie man das mit 2 macht….?
Habe das „AdafruitDHT.py“ in Zeile 52 so angepasst:
print(‚{:04.1f}{:0.1f}‘.format(temperature, humidity))
und das bash-skript sieht so aus:
#!/bin/bash
returnedTemp, returnedHumid=“$(Adafruit_Python_DHT/examples/AdafruitDHT.py 22 4)“
echo „$returnedTemp“
echo „$returnedHumid“
Ich bekomme den Fehler „line 2: returnedTemp,: command not found
Freue mich über eure Hilfe!
Hi! 1000 Dank für die Anleitung! Klappt alles wie beschrieben. Freu mich jetzt schon auf die anderen Projekte von Dir!
Hallo,
und herzlichen Dank für Dein Tutorial, dass mich in die Sache einmal reinschnuppern lässt.
Ich habe seit kurzem einen Raspi Pi3 B+ und verwende Python 3.5.3 mit Raspbian.
Leider habe ich aber ein Problem:
Beim Befehl:
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
bekomme ich folgende Meldung:Traceback (most recent call last):
File „/home/pi/hd44780/sensorabfrage.py“, line 6, in
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
File „/home/pi/hd44780/Adafruit_DHT/common.py“, line 94, in read_retry
humidity, temperature = read(sensor, pin, platform)
File „/home/pi/hd44780/Adafruit_DHT/common.py“, line 80, in read
platform = get_platform()
File „/home/pi/hd44780/Adafruit_DHT/common.py“, line 55, in get_platform
from . import Raspberry_Pi_2
File „/usr/lib/python3/dist-packages/thonny/backend.py“, line 317, in _custom_import
module = self._original_import(*args, **kw)
File „/home/pi/hd44780/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‘
Wäre nett wenn mir wer weiterhelfen könnte.
Danke und LG Ronald
Hallo und guten Abend,
ich hoffe, dass ich noch auf mein Problem eine Antwort bekomme..das Tuto ist ja schon einige Jahre alt:-)
Ich habe insoweit alles installiert bekommen. Auch keine Fehlermeldungen gehabt. Nach dem Befehl:
„sudo ./AdafruitDHT.py 11 4“
bekomme ich immer wieder das gleiche ausgegeben:
„Temp=0,0* Humidity=1.0%“
Woran könnte das liegen. Die Verkabelung habe ich versucht mit größter Sorgfalt abzuschließen….mehrmals nachgeprüft.
DANKE für die Antwort
Hallo, habe die Anleitung nachgebildet.
Es funktioniert auch alles einwandfrei mit sudo ./AdafruitDHT.py 11 17
Danke!
Allerdings will es nicht gelingen das Python-Script zu starten:
import Adafruit_DHT
sensor = Adafruit_DHT.DHT11
pin = 17
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
Leider kommt die Fehlermeldung:
ImportError: No mudule namend „Adafruit_DHT“
Hi,
Läuft alles!
Ich hatte am Anfang das Problem das mein Programm die Bibliothek nicht gefunden hat, habe in Python3 installiert und läuft.
Danke
Hi, ich bin Anfänger. Wie installiere ich die Bibliothek für Python 3?
Vielen Dank.
Beste Grüße
Markus
Hallo zusammen.
Hat mittlerweile jemand das Skript erfolgreich angepasst, sodass er zwei DHT22-Sensoren gleichzeitig auf Thingspeak hochladen kann?
Also insgesamt 2 Diagramme für Temperaturen und 2 für Luftfeuchtigkeiten?
Der hardwareseitige Anschluss ist ja kein Problem, aber das Skript zu ändern zerbricht mir den Kopf.
Grüße
Hans
Hallo Felix,
ich habe mienen Rasbperry jetzt ein paar Tage und wollte dieses Tut mal ausprobieren.
Ich habs genau so verkabelt, alles so gemacht wie beschrieben, allerdings bekomme ich beim Ausführen von $ sudo ./AdafruitDHT.py 11 4 die Fehlermeldung:
Failed to get reading. Try again !
Ich habe auch schon einen anderen Widerstand verwendet, ohne Erfolg.
Mein DHT11 hat nur 3 Füße, ist das ein anderes Modell und funktioniert er anders ?
Ich habe nun schon so ziemlich viel probiert, leider ohne Erfolg.
Was mache ich falsch ?
Für Raspbian Buster Lite benötigt man noch zusätzlich das Paket
sudo apt-get install python-setuptools
um setup.py zu installieren.
Fehler war:
File „setup.py“, line 1, in
from setuptools import setup, find_packages, Extension
ImportError: No module named setuptools
Hallo zusammen, ich würde Gerne Den Dht11 in einem Python programm auslesen wie oben beschreiben Folgende Fehler meldung Kommt :
Traceback (most recent call last):
File „/home/pi/Desktop/Python_Prog/DHT11_read.py“, line 6, in
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
File „/home/pi/Desktop/Python_Prog/Adafruit_DHT/common.py“, line 94, in read_retry
humidity, temperature = read(sensor, pin, platform)
File „/home/pi/Desktop/Python_Prog/Adafruit_DHT/common.py“, line 80, in read
platform = get_platform()
File „/home/pi/Desktop/Python_Prog/Adafruit_DHT/common.py“, line 55, in get_platform
from . import Raspberry_Pi_2
File „/home/pi/Desktop/Python_Prog/Adafruit_DHT/Raspberry_Pi_2.py“, line 22, in
from . import Raspberry_Pi_2_Driver as driver
Das programm sieht so aus:
import sys
import Adafruit_DHT
sensor = Adafruit_DHT.DHT11
pin = 4
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
print(humidity)
print(temperature)
was Habe ich falsch gemacht ? habe alles installiert wie beschrieben.
$ sudo ./AdafruitDHT.py 11 4
Kommando wird nicht gefunden. Raspberry Pi 4
Was nun ?
Höchstwahrscheinlich bist du im falschen Verzeichnis. Du musst im Ordner /home/pi/Adafruit_Python_DHT/examples sein, kann aber auch was anderes sein. zumindest hat das bei Mir geholfen
LG
Hey,
Command not found am letzten Schritt auf einem Raspi 4.
Jemand eine Lösung ?
Hi,
Ich habe schon mehrere (Über 200 Zeilige) Programme aus dem Scratch geschrieben und bin auch schon seit mehr als einem Jahr vertraut mit dem Pi aber trotzdem bekomme ich nicht raus, was ich falsch mache, denn jedes Mal, wenn ich versuche, das Programm zu starten bekomme ich folgenden Errorcode:
Traceback (most recent call last):
File „/home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py“, line 24, in
import Adafruit_DHT
ModuleNotFoundError: No module named ‚Adafruit_DHT‘
Soweit ich das deuten kann fehlt mir ein Python-Modul und tatsächlich finde ich es unter Dist-Packages nicht, weiss aber auch nicht, wo ich es herbekommen kann. Ist da vielleicht ein Fehler mit dem Command git clone https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT? Platz habe ich auf jeden Fall auf meiner SD. Ich benutze übrigens einen raspi 3b+ v1.2
Hallöchen,
vielen Dank für dein Tutorial! 🙂
Ich habe das mit einem Raspi 3 und einem DHT22 nachgebastelt und habe jetzt die Python-Datei, die mir prima und korrekt die Temperatur und Luftfeuchtigkeit anzeigt. Jetzt hätte ich gerne , das diese alle 10 Minuten abgefragt wird und bei einem überschreiten von einem Schwellwert von 30 Grad mir eine Mail einmal pro Stunde geschickt wird. Wie gehe ich da weiter vor?
Danke im voraus für die Hilfe! 🙂
Seit einem Update von ein paar Paketen vor 2 Tagen (ich weiß leider nicht mehr welche, sieh) kann ich meinen DHT22 nicht mehr auslesen. Zuerst kam mit sudo ./AdafruitDHT.py 22 4 der Fehler „ImportError: cannot import name Beaglebone_Black_Driver“.
Ich habe dann AdafruitDHT gelöscht und neu installiert, jetzt kommt nur mehr „Failed to get reading. Try again!“
Kann ich noch irgendwas tun, oder ist er tot?
Ich habe das ganze gerade auf meinen alten Raspi 3B getestet und da funktioniert das ganze. Das muss also irgendein Adafruit oder Python Fehler sein.
Ich werde also Adafruit und Python nochmal entfernen und neu installieren.
Ich hatte dasselbe Problem mit dem 4B. Nach einem Update bekam ich dieselbe Fehlermeldung, wie du beschrieben hast. Das Problem ist, dass die Adafruit Bibliothek veraltet ist und nicht mehr aktualisiert wird. Letztendlich musste ich Python3 installieren und in der platform_detect Datei das Raspi 4B mit der Hardware Nummer BCM2711 hinzufügen und jetzt funktioniert es wieder. Wenn du noch Hilfe benötigst, gib gerne Bescheid 🙂
Hi Celine,
wo finde ich die platform_detect Datei?
Habe das selbe Problem dass er mir keine Werte ausgibt.
Mfg
Es funktioniert auf meinen 4B nicht mehr. Ich habe ’sudo apt-get remove build-essential python-dev python-openssl git‘ ausgeführt und das Adafruit_Python_DHT Verzeichnis gelöscht und von vorne begonnen, aber ich bekomme keine Werte (Failed to get reading. Try again!)
Einziger Unterschied beim Adafruit-Setup ist die Meldung
source/Beaglebone_Black/bbb_mmio.c: In function ‘bbb_mmio_get_gpio’:
source/Beaglebone_Black/bbb_mmio.c:69:25: warning: argument to ‘sizeof’ in ‘memset’ call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
memset(gpio, 0, sizeof(gpio));
^
mit dem ^ unter dem ( vor gpio
Diese Meldung hatte ich am 3B nicht.
Hallo Felix,
Habe alles installiert und bei cd examples schreibt er
bash: cd: examples: Datei oder Verzeichnis nicht gefunden.
Was habe ich falsch gemacht ?
Wäre nett wenn Ihr mir hier weiterhelfen könntet.
konrad
Wofür ist eigentlich der Widerstand nötig?
Ich habe gerade mit einem 10m langen 3 Adrigen Kabel getestet. Egal ob der 10K Ohm Widerstand am Raspi oder am DHT 11 oder ob gar keinen Widerstand verwende: Der DHT liefert mir immer die Werte.
Bin totaler Anfänger, ist also eine ernstgemeinte Frage 🙂
bin jetzt trotz Suche im Internet und mehreren nicht funktionierenden Versuchen nicht weiter gekommen. Wie behebe ich:
$ sudo python setup.py install
running install
running bdist_egg
running egg_info
writing Adafruit_DHT.egg-info/PKG-INFO
writing top-level names to Adafruit_DHT.egg-info/top_level.txt
writing dependency_links to Adafruit_DHT.egg-info/dependency_links.txt
reading manifest file ‚Adafruit_DHT.egg-info/SOURCES.txt‘
reading manifest template ‚MANIFEST.in‘
writing manifest file ‚Adafruit_DHT.egg-info/SOURCES.txt‘
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_py
running build_ext
building ‚Adafruit_DHT.Raspberry_Pi_2_Driver‘ extension
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-ajc2xi/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c source/_Raspberry_Pi_2_Driver.c -o build/temp.linux-armv7l-2.7/source/_Raspberry_Pi_2_Driver.o -std=gnu99
/usr/lib/gcc/arm-linux-gnueabihf/6/cc1: error while loading shared libraries: ld-liNux-armhf.so.3: cannot open shared object file: No such file or directory
error: command ‚arm-linux-gnueabihf-gcc‘ failed with exit status 1
Hallo 🙂
erstmal vielen Dank für deine Tutorials!! echt super!
Bei mir funktioniert alles bis inklusive dem Testen mit dem Demofile.
Wenn ich allerdings die Bibliothek in mein Skript einbinden will, kommt die Fehlermeldung: ModuleNotFoundError: No module named ‚Adafruit_DHT‘
Woran könnte dies liegen? Programmieren tu ich mit der IDE Thonny
LG LEo
Hey Leo
gratuliere. bin mit meinem Raspy 4 immer noch dran. Es gibt mir einfach keine daten aus…
Zu deinem Problem: Ich denke du hast die Bibliothek nicht in der gleichen Ordnerstruktur wie das Skript.
Erstelle im Ordner in welchem sich das Demofile befindet eine datei xxx.py und kopiere dein Skript hinein. Soltte dann eigentlich funktionieren.
Schreib bitte hin obs geklappt hat.
Gruss
Tutorial veraltet ?
[08:44:59] openhabian@openhab:~/Adafruit_Python_DHT/examples$ sudo ./AdafruitDHT.py 11 4
Traceback (most recent call last):
File „./AdafruitDHT.py“, line 24, in
import Adafruit_DHT
ImportError: No module named Adafruit_DHT
Hallo,
ich bin noch ziemlich unerfahren im debuggen vom Fehlermeldung mit dem pi. Ich verende eine pi3 und python 3.7.
Ich habe die obige Anleitung befolgt und erhalte folgende Meldungen die ich nicht verstehe.
Bei der Installation von „sudo python setup.py install“ kommt folgende Meldung:
source/Beaglebone_Black/bbb_mmio.c:69:25: warning: argument to ‘sizeof’ in ‘memset’ call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
memset(gpio, 0, sizeof(gpio));
Der Rest läuft fehlerfrei durch.
Wenn ich dann simpletest.py über den „Thonny Python IDE“ laufen lasse, erhalte ich folgende Meldungen:
Run simpletest.py
Traceback (most recent call last):
File „/home/pi/Adafruit_Python_DHT/examples/simpletest.py“, line 43, in
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
File „/usr/local/lib/python3.7/dist-packages/Adafruit_DHT/common.py“, line 94, in read_retry
humidity, temperature = read(sensor, pin, platform)
File „/usr/local/lib/python3.7/dist-packages/Adafruit_DHT/common.py“, line 80, in read
platform = get_platform()
File „/usr/local/lib/python3.7/dist-packages/Adafruit_DHT/common.py“, line 60, in get_platform
from . import Beaglebone_Black
File „/usr/local/lib/python3.7/dist-packages/Adafruit_DHT/Beaglebone_Black.py“, line 24, in
from . import Beaglebone_Black_Driver as driver
ImportError: cannot import name ‚Beaglebone_Black_Driver‘ from ‚Adafruit_DHT‘ (/usr/local/lib/python3.7/dist-packages/Adafruit_DHT/__init__.py)
Wer kann mir sagen wo der Fehler liegt. Muss ich der Waring bei der Installation nachgehen, oder wie kann ich der Fehlermeldungen bei ausführen des Scripts finden?
Gruß Michael
Hallo zusammen,
danke für das Tutorial. Es funktioniert auch soweit gut.
Allerdings habe ich heute bemerkt, dass mir eine Temperatur von „-0.0°C“ ausgegeben wird, obwohl es heute kälter ist.
Das Problem tritt bei der Anzeige auf thingspeak und im Programm selbst auf.
Da ich noch recht unerfahren bin, verwende ich „nur“ den Code aus dem Tutorial.
Als Sensor habe ich einen DHT22 in Verwendung.
Ich hoffe jemand kann mir helfen.
Lg
Hallo zusammen,
mir wird beim ausführen dieser Fehler angezeigt:
DHT sensor not found, check wiring
Danke im Vorraus
Hallo,
erstmal ein Lob an die Tutorials, sie sind echt gut.
Aber bei dem Temperatur-Messen legen ich mir gerade die Karten.
Installation etc. alles ohne Fehler.
Beim ausführen des Beispiel-Scripts „sudo python dht_example.py“ kommt die Fehlermeldung
Traceback (most recent call last):
File „dht_example.py“, line 2, in
import board
ImportError: No module named board
Und jetzt?
Ich habe ein Pi 3 Model B Rev 1.2 mit der Version Linux raspberrypi 5.4.79-v7+
Danke und Gruß
Georg
Schließe mich der Frage an, habe genau das selbe Problem…
Hallo,
wenn ich das Script aufrufe mit
sudo python3 dht_example.py
kommt eine die Fehlermeldung „DHT sensor not found, check wiring“
Der Sensor ist an GPIO 4 angeschlossen und in dem Script steht.
dhtDevice = adafruit_dht.DHT11(board.D4, use_pulseio=False)
Wo ist das Problem?
Gruß Georg
Hallo. Habt ihr da mittlerweile herausfinden können, woran das liegt?
Hallo,
hat jemand von euch mittlerweile eine Lösung für das Problem gefunden?
VG
Leider hab ich das gleiche Problem mit dem Fehler.
File „dht_example.py“, line 2, in
import board
ImportError: No module named board
Konntet ihr das mittlerweile lösen?
Ich habe auch das selbe Problem
Hallo ich wollte fragen ob das ganze auch mit dem raspberry pi zero wh möglich ist in Verbindung mit einem huawei UMTS Stick oder ändert sich dort etwas?
Desweiteren wollte ich fragen ob sie eine Anleitung für den BME280 in Verbindung mit einem pi zero wh machen könnten der auch über thingspeak die Daten loggt. Bin leider absolut neu dabei und finde noch keine vernünftige Anleitung.
Ich bekomme leider die Fehlermeldung
Traceback (most recent call last):
File „dht_example1.py“, line 2, in
import board
Habe die Bibliotheken so installiert wie angegeben.
Benutze einen RPi 400
Jemand ne Idee?
Hallo nochmal,
habe es nun unter Thonny zum laufen bekommen. Über die Konsole findet er allerdings die Bibliotheken weiterhin nicht.
Das zweite Problem: Wenn ich den Prozess unter Thonny dann stoppe, kann ich ihn nicht wieder neu ausführen. Ich bekommen immer die Meldung „Unable to set line 4 to input“.
Hast du die Bibliotheken auch für Python3 installiert (mit: sudo pip3 install …) und in der Konsole auch sudo python3 …. verwendet?
Hallo
Kriege den DHT11 am Raspi 4 nicht zum laufen unter Python. Kriege dauernd gesagt: DHT sensor not found, check wiring. Unter C Läuft das Ding, allerdings sind die Werte mehr als zweifelhaft:
Beim Glechzitigen benutzen eines BMP180 gibt es Temperaturunterschiede >1°C und die rel. Luftfeuchte von 20% zweifele ich auch start an. Ausserdem zeigt es mir manchmal eine Temperatur von 42°C an, welche aber bein nächsten Leseversuch wieder verschwunden ist.
Ist dieses Teil ein besseres Schätzeisen oder liegt es an der Art, wie es ausgelesen wird?
Für alle, die mit der Adafruit Bibliothek genau wie ich viele Probleme hatten. Es gibt eine simple Abhilfe für den DHT11:
https://github.com/szazo/DHT11_Python
Funktioniert mit RasPi 4 und Pi Zero WH, auch in Verbindung mit Thingspeak und mit Telegram Bots. Bei Thingspeak haben sich die Funktionsparameter mittlerweile etwas verändert, daher stimmt der Code aus dem o.g. Link nicht mehr ganz, ist weit unten in den Kommentaren berichtigt.
Hallo liebe Leser.
Ich habe das Programm Luftfeuchtigkeit-Temperatur -messen installiert.
Beim Inbetriebnehmen kommt die Fehlermeldung : SyntaxError bei time.sleep(2.0)
Mit dem Programm-Bild aber völlig gleich.
Was ist da falsch.
Mit Grüssen, Georg
Hi zusammen,
Ich bin auch gerade an der Installation der Software.
Wenn ich das Programm aufrufe, bekomme ich folgende Fehlermeldung:
sudo python dht_example.py
Traceback (most recent call last):
File „dht_example.py“, line 2, in
import board
ImportError: No module named board
Muss ich für das „board“ vorher noch irgendwelche Pakete installieren, damit das Programm laufen kann?
Freu mich über Hilfe.
Hatte das gleiche Problem, aber nachdem ich die Befehle dieser Anleitung runter gerattert habe, ging es: learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi
Hallo,
Ich habe das gleiche Problem, hat da jemand von euch eine Lösung gefunden?
Für Raspi4 habe ich Lösung gefunden:
Geht mit Adafruit-Circuit Python Libraries:
$ apt install python3 python3-pip python3-rpi.gpio libgpiod2 -y
$ pip3 install –user adafruit-circuitpython-dht
$ nano /usr/local/sbin/sensordht22.py
# rein schreiben:
————————
#!/usr/bin/python3
import time, adafruit_dht
gpiopin=4
# Initial the dht device, with data pin connected to:
dhtDevice = adafruit_dht.DHT22(gpiopin)
try:
# Print the values to the serial port
temperature, humidity = dhtDevice.temperature, dhtDevice.humidity
print(„Temperature: {:.1f} °C Humidity: {:.1f} %“.format(temperature, humidity))
except RuntimeError as error:
# Errors happen fairly often, DHT’s are hard to read, just keep going
time.sleep(2.0)
# Print the values to the serial port
temperature, humidity = dhtDevice.temperature, dhtDevice.humidity
print(„Temperature: {:.1f} °C Humidity: {:.1f} %“.format(temperature, humidity))
———————————-
# und natürlich anpassen gpiopin u.s.w.
# execute Recht:
$ chmod +x /usr/local/sbin/sensordht22.py
# Ausführung:
$ sensordht22.py
# Antwort:
$ Temp: 25.7 C Humidity: 45.3%
Bei mir funtzt leider nur als Root. 🙂
Hallo, ich muss für ein Projekt 24 Sensoren vom Typ DHT22 auswerten. Die max. Leitungslänge beträgt 20 m. Vorschläge für das Setup sind sehr willkommen.
Hallo,
ich habe ebenfalls ein Problem, bzw. weiß ich nicht warum…
Habe alles wie oben im Tutorial installiert (raspberry PI 4GB)
Es sind 2 Python Versionen drauf:
Python3 mit 3.7.3
Python mit 2.7.16
Nachdem ich alles stur wie oben angegeben alles eingegeben habe, bekomme ich bei
sudo python dht_example.py eine Fehlermeldung (Import Error: No module named board)
wenn ich jedoch den gleichen Befehl mit:
sudo python3 dht_example.py starte funktioniert es.
Ich verstehe es nicht und bin verwirrt.
Hallo guten Tag.
Wenn ich den Befehl sudo python dht_example.py eingebe bekomme ich folgende Fehlermeldung:
Traceback (most recent call last):
File „dht_example.py“, line 2, in
import board
ImportError: No module named board
Wie kann ich den Fehler lösen. benutzt wird ein Raspberry Zero und ein AM2302 Sensor.
Danke