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.
Sensor | LM35 | DHT11 | DHT22 | DS18B20 |
---|---|---|---|---|
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 Feuchte | keine | 20 - 90 RH | 0 - 100 RH | keine |
Versorgungsspannung | -0,2 bis +35 VDC | 3,3 bis 5,5 VDC | 3,3 bis 5,5 VDC | 3,3 bis 5 VDC |
Sonstiges | auch 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.
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.