Raspberry und DHT22, was kann man besser machen um die Fehlerausgaben weg zu bekommen?

Ein neuer Artikel wurde veröffentlicht
  • Solle es genau diese Fragen im Forum schon geben, bitte verschiebt mich dahin, aber ich habe nichts mit den Fragen gefunden.


    Hallo...

    Wer beschäftigt sich mit Raspberry +Luftfeuchtigkeitssensoren?


    Ich hatte mit einem DHT11 angefangen und kämpfe nun mit einem DHT22.

    Der DHT11 erschien mir zu ungenau und lieferte nur Werte als Ganzzahl. Nun läuft bei mir seit einigen Tagen der DHT22 und bringt unregelmäßig Fehler. Mal als Fehler Text "Failed to get reading. Try again!" und mal mit Werten von über 3000% Luftfeuchtigkeit. Ich finde auch die Abfrage Zeit mit rund 15 Sekunden sehr lange.

    Angeschlossen ist das Teil an pin22, da am pin4 die DS18B20 laufen. Ich hatte Angst dass die sich nicht mögen 😅. Einen 10k Widerstand ist mit angeschlossen. Zur Abfrage nutze ich ein Beispielskript von Adafruit_Python_DHT in Python. (/RASPBERRYPI/Adafruit_Python_DHT/examples/AdafruitDHT.py 22 22)


    Lasst mich und andere Wissen wie ihr mit einem DHTxx eure Werte bekommt oder ob -ich- schon im Ansatz Fehler gemacht habe. Falscher Widerstand oder Pin22 ist falsch oder gibt es bessere Scripte zum abfragen. Dauert bei euch die Abfrage auch rund 15 Sekunden und länger? Wer bekommt keine falschen werte und warum nicht? 😅


    Ich habe von abgeschirmten Kabeln gelesen und es probiert, was offensichtlich nicht mein Problem beseitigt.

    :helpnew:

    Ich freue mich über Ideen zur Verbesserung.

    Gruß Guido

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

  • oh, da habe ich viele Anleitungen durchgelesen. Aber diese hier


    https://www.einplatinencompute…euchtigkeitssensor-dht22/


    trifft ganz gut was ich gemacht habe.


    Das ist auch schon ein paar Tage her(;

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

  • Moin Guido64,


    Danke!

    Beim durchlesen ist mir nicht aufgefallen, das in der Anleitung nicht steht, das man die Funktion DHTXX in der /boot/config.txt einschalten mss. Das hast du sicherlich gemacht??


    Ach ja, bevor ich wieder auf was reinfalle. Welches Betriebssystem setzt du ein?


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein "Like"

  • Raspbian GNU/Linux 8 (jessie)


    Warum in der /boot/config.txt einschalten? Ich habe die erste Installation vor Monaten gemacht. Ich kann es nicht mehr sagen. Wäre es nicht eingeschalten, würde da überhaupt ein Wert kommen?

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

  • gpu_mem=16

    dtoverlay=w1-gpio

    dtparam=spi=on

    dtparam=i2c_arm=on


    Das ist der Inhalt in der config.txt

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

  • Moin Guido64,


    wahrscheinlich ist es so. Aber sicherheitshalber solltest du nachsehen.

    Schau einfach nach dtoverlay= dht11/22,gpiopin=22 oder so..


    Ich weiß nicht was die Python-Library macht wenn Fehlmessungen vorliegen. Wegen der 3000%.


    Laut Datenblatt wird ein Kondensator zwischen Plus und Masse und ein Widerstand zwischen 4,7 und 10 KOhm empfohlen.


    Aber schau erst mal.


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein "Like"

  • Kondensator hab ich nicht dran. Habe auch nichts davon gelesen.


    In der /boot/overlays/README habe ich das gelesen.


    Name: dht11
    Info: Overlay for the DHT11/DHT21/DHT22 humidity/temperature sensors
    Also sometimes found with the part number(s) AM230x.
    Load: dtoverlay=dht11,<param>=<val>
    Params: gpiopin GPIO connected to the sensor's DATA output.
    (default 4)


    Ich will das nu eintragen, aber wie mache ich das richtig?

    dtoverlay=dht22, gpiopin=22


    So?:denker:

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

  • Moin Guido64,


    ich weissnicht mehr wie es bei Jessie war.

    Mach mal less /boot/overlays/README und such da nach dht. Bei Stretch heisst das nur noch dht11


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein "Like"

  • oh man Bernd. das kann es gewesen sein.


    ich habe in die boot/config.txt jetzt eingetragen "dtoverlay=dht22, gpiopin=22" und es kommen die Ausgaben nach ca. Sekunden. Das ist schon ein Gewinn. Kann morgen berichten ob die Fehler weg sind.


    DANKE :danke_ATDE:


    melde mich wieder ob mit oder ohne Fehler

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

  • Moin.

    Fehler gibt es weiterhin, und es scheint so, als kämen von Stunde zu Stunde mehr davon. :conf:


    Ich suche weiter

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

  • Die Fehler liegen nicht an der Verwendung irgendwelcher overlays, das Adafruit Skript (aus 2012....) ist der Verursacher. Noch dazu braucht es das overlay ja überhaupt nicht, die Übertragung aus dem DHT erfolgt per bitbanging. Und genau das funktioniert auf Pi3 und/oder stretch warum auch immer nicht so richtig. Zusätzlich könnte natürlich die Verkabelung ebenfalls ein Problem sein.


    Also, mach doch mal bitte ein Bild von Deinem Aufbau. Und probier mal, mittels overlay die Daten zu ermitteln, vielleicht ist das zuverlässiger. Wie es geht, steht hier. Hab ich aber auch noch nicht getestet.


    Gruß, STF

  • Hallo,


    ich betreibe drei DHT22 an drei verschiedenen RasPi und habe auch gelegentlich das Problem gehabt, dass zum Beispiel einige tausend Grad Celsius gemessen wurden.

    Auf keinem meiner RasPi (zwei mit Stretch, einer mit Jessie) ist ein diesbezüglicher Eintrag in der /boot/config.txt.

    Ich ermittle auf zwei RasPi die Werte mit loldht, und auf einem mit Adafruit. Die Fehler kamen jeweils bei beiden Messmethoden, jedoch immer nur sehr sporadisch (unter 1 Promille).


    Ich fände es toll, wenn Ihr weiter den eigentlichen Fehler suchen würdet und hier veröffentlicht.


    Meine pragmatische Lösung als Tipp für die Schnelle ist eine Schleife laufen zu lassen, welche solange die Messung wiederholt, bis sinnvolle Werte (der DHT22 hat einen Messbereich von -40 bis +80 C sowie 0 bis 100%, daher sinnvoller Messbereich von -30 bis +45 C sowie 0 bis 100%) gemessen wurden. Seitdem habe ich keine Fehler mehr.


    Gruß Bracew

    1x Mod. B für FHEM                 1x Mod. B+ für Öltankfüllstandsmessung
    1x Mod. B+ für Hühnerstall Hühnerklappe          1x Mod. 3 als Linux-PC
     

  • Moin!


    Ich habe mal ein kleines Bash-Script gebastelt. Es liest mit Bordmittel einfach die beiden Werte und gibt sie als Rohdaten aus. Damit kann man prüfen ob die Fühler gehen.


    Voraussetzung ist dieser Eintrag dtoverlay=dht11,gpiopin=4 in der /boot/config.txt. Man kann auch einen anderen Pin nehmen. Es kommen manchmal Zeitfehler. Keine Ahnung warum.

    Hier nun mein Script.


    dht-test.sh


    Hier noch als Datei.


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein "Like"

  • Aufbau ist gut gesagt. Ich habe es nun schon gut verpackt.




    Ich habe heute Morgen alles zusammen gelötet. Nicht schimpfen :shy: sieht nicht schön aus, aber seit dem neuen Start läuft es schon knapp 10 Stunden ohne Fehler.

    Die genannte Schleife hatte ich mir gestern auch gebastelt (3 Durchläufe). Aber um zu sehen, ob doch Fehler sind, habe ich in der Crontab, das Protokollieren beauftrage. Und heute Morgen war das so krass mit Fehlern, dass ich versucht habe alles fest zu verlöten. Bis jetzt Erfolgreich.

    Ach ja, eine Änderung habe ich gemacht. Der 10k Widerstand ist jetzt nicht mehr an der Platine sondern direkt am DHT22.

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

  • gern,

    aber ich muss noch mal nachhaken. Die "dht-test.sh" finde ich gut, aber beim probieren ist mir aufgefallen, dass ich an der Stelle kein Verzeichnisse nach /sys/bus/ habe, die den Namen "iio" trägt.


    temp=$(cat /sys/bus/iio/devices/iio\:device0/in_temp_input)


    Bei mir liegt alles "Pythonzeugs" was ich installiert habe im Verzeichnis "Adafruit_Python_DHT".

    Hab ich was vergessen zu installieren?

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

  • Moin Guido64,


    Das war eigentlich auch gedacht, wenn man auf die Schnelle mal die DHTXX testen will.


    Daher auch meine Bemerkung.

    Voraussetzung ist dieser Eintrag dtoverlay=dht11,gpiopin=4 in der /boot/config.txt. Man kann auch einen anderen Pin nehmen. Es kommen manchmal Zeitfehler. Keine Ahnung warum.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein "Like"

  • dtoverlay=dht22,gpiopin=22 hab ich ja gestern schon eingefügt.


    na egal


    Python macht es momentan ganz gut.

    Ich danke allen Lesern und vor allem den Schreibern für die vielen wichtigen Informationen.

    Ich werde sicher davon noch vieles probieren.


    Dank und Gruß

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!