DHT11 Sensor automatisieren auf Raspberry Pi

Gast #5005593
Hallo liebes Forum,

ich habe bisher mit Python ein Script geschrieben, welches die 
Luftfeuchte und Temperatur durch den DHT11 Sensor ermittelt. Mein 
nächstes Ziel ist es den DHT11 Sensor Plug & Play fähig zu machen. Ich 
hab im Internet gelesen das der DHT11 Sensor eine 1-Wire Komponente ist. 
Falls ich mich nicht irre sollte der Sensor doch eine eindeutige ID 
besitzen. Ich weiß aber nicht wie man diese ermitteln kann. Bitte um 
Unterstützung. Denn wenn ich die ID habe denke ich, dass ich den 
Raspberry PI sagen kann, dass sobald dieser Sensor angeschlossen ist 
mein Skript automatisch starten soll.

Beste Grüße

Stefan
Gast #5005608
Stefan309 schrieb:
> Ich
> hab im Internet gelesen das der DHT11 Sensor eine 1-Wire Komponente ist.
...halte ich für ein Gerücht! Es ist keine 1wire-Schnittstelle (und auch 
kein I2C), lasse mich aber auch gern belehren, wenn du die entsprechende 
Textstelle im Manual präsentierst...
Gast #5005616
Hallo 50c,

link: 
https://www.laub-home.de/wiki/Sensorino_-_Auslesen_verschiedener_Sensoren_mit_Arduino 
ist der DHT11 aufgelistet. Dort steht unter Vorteile : 1-Wire Bus 
(Sensor ID, Reihenschaltung möglich). Hab ich etwas falsch verstanden? 
Um welche Schnittstelle handelt es sich denn dann? Ich lasse mich 
ebenfalls gerne von euch belehren! Ich bin noch ein Anfänger in dem 
Gebiet.

Beste Grüße

Stefan
Gast #5005629
Hi

>Dort steht unter Vorteile : 1-Wire Bus
>(Sensor ID, Reihenschaltung möglich). Hab ich etwas falsch verstanden?

Ja. Das was du gelesen hast, steht beim DS1820.

Abgesehen davon würde ich nur den Original Datenblättern trauen.

MfG Spess
Gast #5005675
immer freundlich bleiben ok :-) Ja ist ja gut da steht Communication 
Process: Serial Interface (Single-Wire Two-Way). So und was machen wir 
nu in Richtung automatisieren?
Gast #5005688
Stefan309 schrieb:
> immer freundlich bleiben ok :-) Ja ist ja gut da steht Communication
> Process: Serial Interface (Single-Wire Two-Way). So und was machen wir
> nu in Richtung automatisieren?

gar nichts, denn, wie weiter im Datenblatt nicht (zu finden ist), würde 
man dazu eine eineindeutige ID benötigen...

Bin doch freundlich und versuche dich in die richtige Vorgehensweise zu 
"schubsen" --> RTFM
Gast #5005707
Alles klar Meister. Hmm also ein anderer Gedanke.. Ist es möglich den 
Raspberry Pi beizubringen, dass sobald gewisse GPIO Pins belegt sind 
eine Aktion ausgeführt wird? Dazu müsste man ja nur die Belegung einmal 
abscannen und tadaaa Problem gelöst :-) ... Meinungen und Kritik??
Gast #5005770
Stefan309 schrieb:
> Ist es möglich den
> Raspberry Pi beizubringen, dass sobald gewisse GPIO Pins belegt sind
> eine Aktion ausgeführt wird? Dazu müsste man ja nur die Belegung einmal
> abscannen und tadaaa Problem gelöst :-) ... Meinungen und Kritik??

...und warum nicht einen Temperatur-/Luftfeuchtigkeits-Sensor verwenden, 
der busfähig ist?
Gast #5005799
Weil ich hier den SunfounderKit mit Anzahl > 30 Sensoren hab und so wie 
es aussieht diese alle nicht Bus Fähig sind :-) Also eine Alternative 
wäre da sehr gut. Ja ich weiß ich hätte mich besser informieren sollen 
aber damals wollte ich das ja noch gar nicht um Plug & Play 
erweitern....

@Lothar ich glaub das bringt mich jetzt aus dem Konzept gibt es da 
Beispiele für??
Niemals geb ich auf!!
#5005840
> Ist es möglich den
> Raspberry Pi beizubringen, dass sobald gewisse GPIO Pins belegt sind
> eine Aktion ausgeführt wird? Dazu müsste man ja nur die Belegung einmal
> abscannen und tadaaa Problem gelöst :-) ... Meinungen und Kritik??

Dein Sensor unterstützt eine Checksum. Du könntest also periodisch eine 
Liste von Pins abfragen (d.h. den im Datasheet spezifizierten 40-bit 
Dialog ausführen) und die Checksum prüfen.
Gast #5006752
Lothar schrieb:
> Ist in C musst Du also in Python oder BASIC umschreiben. Wobei es sein
> kann dass es in Python nicht geht wegen der Latenz.

...wusste gar nicht, dass man keine C-Programme für einen Raspberry 
schreiben kann, wieder etwas dazugelernt ;-)
Gast #5006895
51c schrieb:
> ...wusste gar nicht, dass man keine C-Programme für einen Raspberry
> schreiben kann, wieder etwas dazugelernt ;-)

Der Frager hat es aber doch in Python angefangen, vermutlich auf Linux 
:-)

Wobei wohl das Linux für Latenz sorgen wird, egal ob in Python oder in C
#5007013
Bit-Banging für das langsame und kurze DHT11-Protokoll sollte mit C 
(Userland) völlig unkritisch sein.

Bit-Banging auf dem Pi wird ab ca. 1us Signalen (pro Level) und mit 
zunehmender Länge der Signalfolge kritisch. Timerabfrage und 
Leveländerunge benötigen im Mittel ca. 100ns. Man benötigt aber mehrere 
(mindestens 2) Timerabfragen pro Edge und ein bisschen C-Code (der auch 
mal auf einen 160ns Cache Fault laufen kann).

Sollte es einmal zu Verzögerungen kommen, kann man bei vielen 
Protokollen den Dialog einfach wiederholen. Das gleich gilt, wenn das OS 
dazwischenfunkt. Die Grenze ist bspw. bei der WS2812b  Ansteuerung 
erreicht (ein paar LEDs geht gerade noch so, wobei da schon viele Retrys 
notwendig sind).
Gast #5007141
Mikro 7. schrieb:
> Bit-Banging auf dem Pi wird ab ca. 1us Signalen

Unter Linux. Daher wurde ja schon auf ein RTOS BASIC verwiesen (pico: 
ziemlich verbreitet, ähnlich BASCOM, sehr einfach). Es gibt auch noch 
ein Bare Metal Pascal (Ultibo). Bare Metal in C ist hingegen schon ein 
ziemlicher Aufwand. Damit treten aber z.B. auch keine PWM Glitches auf.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.