Für Temperaturmessungen mit dem Raspberry Pi existieren eine Reihe von Sensoren. Die gängigsten Sensoren sind der LM35, der DHT11, der DHT22 und der DS18B20, wobei sie sich durch den Temperaturbereich und die Messgenauigkeit unterscheiden.

SensorLM35DHT11DHT22DS18B20
Temperaturbereich-40 bis +110 °C 0 bis 50 °C, ±2 °C -40 bis +80 °C, ±0.5-55 bis 125°C,
± 0,5°C bei -10° bis +85°C
Messbereich Feuchtekeine20 - 90 RH0 - 100 RH keine
Versorgungsspannung-0,2 bis +35 VDC 3,3 bis 5,5 VDC3,3 bis 5,5 VDC3,3 bis 5 VDC
Sonstigesauch in wasserdichtem Gehäuse erhältlich. 1-wire Interface

In diesem Beitrag nutze ich den DHT22, da ich Messungen in einem Gewächshaus mit Temperatur und Luftfeuchtigkeit durchführen will. Dabei kann die Temperatur im Winter durchaus unter 0°C fallen, so dass der DHT11 nicht in Frage kommt. Eine andere Möglichkeit, die Temperatur aus einem Funksensor einer Wetterstation über einen 433 MHz Empfänger auszulesen, wird in dem Artikel Raspberry Pi 433 MHz erklärt.

Hier sehen Sie ein Schaubild, wie der DHT22 mit dem Raspberry Pi verschaltet wird. Wenn Sie zusätzlich noch Sensoren verwenden, die das 1-wire Interface benutzen, wie z.B. der Temperatusensor DS18B20, sollten Sie für den DHT22 nicht den GPIO 4 verwenden. Dieser wird für das 1-wire Interface benötigt. Sie können stattdessen z.B. den GPIO 17 nutzen.

Pi mit DHT22

Pi mit DHT22

 

Eine Phyton Bibliothek um den Sensor anzusprechen, kann man bei Git-Hub herunterladen. Dafür muss man zuerst git-core auf dem Raspberry mit folgendem Befehl installieren.

sudo apt-get install git-core

 

Wenn noch nicht geschehen muss auch python noch auf dem Raspberry installiert werden.

sudo apt-get install build-essential python-dev

 

Anschließend kann man die Adafruit Bibliothek mit folgenden Befehlen herunterladen und installieren.

git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python setup.py install

Nach der Installation welches man in das Verzeichnis examples und führt folgenden Befehl aus:

./AdafruitDHT.py 22 4

Dabei steht die 22 für den Sensor DHT22 und die 4 für den GPIO an dem der Sensor angeschlossen ist. Geben Sie hier den GPIO an, an dem Sie die Datenleitung des DHT22 angeschlossen haben.

Als Ausgabe sollte dann folgendes erscheinen:

Temp=24.0*  Humidity=41.0%

Der Temperatursensor funktioniert also. Wie man die Daten nun automatisiert speichern und z.B. mit einem Smartphone überwachen kann, erkläre ich in einem anderen Artikel.