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.
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 %
0 Kommentare