Der DHT11 ist ein kostengünstiger und weit verbreiteter Sensor, mit dem man gleichzeitig Temperatur und Feuchte messen kann.
Vorbereitung Hardware
Der Sensor ist relativ einfach anzuschließen.
Die Schaltung kann man sich ganz einfach auf einem Breadboard aufbauen oder auf einer Lochrasterplatine zusammenlöten. Es gibt auch verschiedene, bereits beschaltete Varianten zu kaufen, so dass man nur noch zwei Kabel verlegen muss.
Bei mir sieht das Ganze so aus
Vorbereitung Software
Um den Sensor auf dem Raspberry nutzen zu können, muss man sich einige Bibliotheken installieren.
git clone https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT
sudo python3 setup.py install
Die installierten Pakete kommen mit einem kleinen Skript, mit dem man den Sensor und die Installation testen kann.
Die 11 gibt an, dass der DHT 11 genutzt wird, die 4, dass der Sensor am Pin 4 der Raspberry angeschlossen ist. Das bitte auf den Pin ändern, den Ihr verwendet. Bei mir ist es Pin 10
cd examples
sudo ./AdafruitDHT.py 11 10
Das Ergebnis sieht dann so aus
und wir wissen, dass wir den Sensor richtig angeschlossen haben und er funktioniert.
Erstes einfaches Programm um die Temperatur und Feucht zu erhalten
Nachdem wir wissen, dass unser Aufbau funktioniert, wäre es natürlich schön, die Temperatur und Feuchte nicht nur als Text anzeigen zu können, sondern die Werte in Variablen zu speichern, damit ich in einem beliebigen Programm damit was anfangen kann.
# encoding: utf-8
#Adafruit Library to communicate with the sensor
import Adafruit_DHT
#set-up the sensor and acquire values for temperature and humidity
sensor = Adafruit_DHT.DHT11
pin = 10
#acquire readings for temperature and humidity
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
#print values
print('Temperatur {} °C\nrel. Feuchte {} %rH'.format(temperature, humidity))