Der DHT11 ist ein kleiner Sensor, der Dir die Raumtemperatur und Luftfeuchtigkeit ausgeben kann. Der Sensor ist sehr leicht an einem Raspberry Pi angeschlossen. Aus China bekommt man die Dinger für knapp einen Euro, bei Amazon.de kosten die Dinger ein wenig mehr – aber nicht viel.

Da der Sensor nur 3 Pins hat (es gibt auch welche mit 4), ist der Anschluss an Deinen Raspberry Pi super einfach. Den ganz linken Pin, der mit (+) gekennzeichnet ist, kommt an einen 5V Pin am Raspberry Pi. Der mittlere Pin kommt an einen GPIO Pin, z.B. GPIO 4. Der ganz rechte Pin wird geerdet. Hier siehst Du eine Pin Belegung für den Raspberry Pi Zero (gilt auch für Raspberry Pi 2 und 3), die ich hier gefunden habe.

Schaut Euch aber bitte die PIN-Belegung Eures Chips an, ich habe auch schon welche gesehen, bei denen der ganz linke Pin mit einem S für Signal gekennzeichnet ist und in diesem Fällen kommt der ganz linke Pin an GPIO4, der mittlere an Plus (5V) und der mit Minus gekennzeichnete Pin an Ground.

(c) https://www.raspberrypi.org/forums/viewtopic.php?t=127585&f=38

Sobald der Sensor also mit dem Raspberry Pi Zero verbunden ist, kannst Du Dich an die Installation machen. Damit wir den Sensor einfach ansprechen können, müssen wir uns eine Python Library installieren. Hier bietet sich die Adafruit DHT11 Python Library an.

Die Library installierst Du in vier einfachen Schritten. Zu erst kopierst Du das „Git-Repository“. Wenn Du hier einen Fehler bekommst musst Du zuerst git installieren.

git clone https://github.com/adafruit/Adafruit_Python_DHT.git

Danach wechselst Du in das neu angelegte Verzeichnis

cd Adafruit_Python_DHT

Hier führst Du folgenden Befehl aus, der sicherstellt, dass Du die Library dann installieren kannst. Es werden ne ganze Anzahl an Abhängigkeiten geladen

sudo apt-get install build-essential python-dev

Und schließlich installierst Du die Library mit

sudo python setup.py install

Mehr braucht es zum Glück nicht. Zum Ausprobieren kannst Du eine Text-Datei erstellen (z.B. dht11.py) und dort folgenden Quelltext hinterlegen:

#!/usr/bin/python
import sys
import Adafruit_DHT

humidity, temperature = Adafruit_DHT.read_retry(11, 4)
print 'Temp: {0:0.1f} C  Humidity: {1:0.1f} %'.format(temperature, humidity)

Bei dem Quelltext ist es nun wichtig, dass Du verstehst, was in Zeile 5 geschieht. Mit Adafruit_DHT wird die Library angesprochen; „.read_retry“ is the Methode, die die Temperatur ausliest. Mit der 11 wird der Library mitgeteilt, welche Art Sensor Du hast – die Library selbst unterstützt den DHT11, DHT22, oder AM2302 Sensoren. Die 4 ist der GPIO Pin, an den Du den Sensor angeschlossen hast. Die 4 ist also wichtig, denn hast Du einen anderen GPIO Pin gewählt, willst Du das hier ändern.

Über ssh kannst Du die Datei dann recht einfach ausführen. Wechsele dazu zu erst in das Verzeichnis (bei mir mypython/temperature)

cd ~/mypython/temperature

Und dann mit folgendem Befehl die Datei ausführen, natürlich den richtigen Dateinamen nehmen ;)

python dht11.py

Und so sieht dann die Ausgabe aus:

pi@pizero:~/mypython/temperature $ python dht11.py
Temp: 21.0 C  Humidity: 19.0 %

 


Claus Wolf

Seit 1994 im Netz unterwegs und seit 2004 eingefleischter Mac-Nutzer.

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.