Im Artikel „Konzept zur Überwachung von Temperatur und Luftfeuchtigkeit“ habe ich Überlegungen angestellt, um die Temperatur und die Luftfeuchtigkeit in einem Serverraum mit Hilfe des Raspberry Pi zu überwachen. In diesem Artikel geht es nun zur Sache.
Voraussetzung für das weitere Vorgehen ist ein RaspPi, welcher in das Netzwerk integriert ist und auf den wir mittels SSH zugreifen können.
Im Vorfeld habe ich in einigen Internetforen recherchiert, um einen geeigneten Sensor für den Pi zu finden. Mir ist wichtig, dass ich nur einen Sensor benötige, um sowohl die Temperatur als auch die Luftfeuchtigkeit messen zu können. Schließlich habe ich mich für den SHT21 entschieden, welchen es bereits konfektioniert z.B. im Online-Shop von emsystech gibt.
-
-
SHT21 Sensor neben meinem RaspPi
-
-
SHT21 connected to RaspPi
Beim Anschluss des SHT21 wird der I2C-Bus des Sensors mit dem PIN 1 des Pi verbunden.
Die Software, um den Sensor auszulesen kann von der Seite des Herstellers heruntergeladen werden. Die in diesem Tutorial verwendete Version kann am Ende dieses Artikels heruntergeladen werden. Inzwischen wird die Software auf GitHub gepflegt. In der dortigen README.md sind die nötigen Informationen enthalten, um die Software zu installieren und den Raspi-SHT21 in Betrieb zu nehmen.
Die Informationen im weiteren Verlauf dieses Artikels sind veraltet und sollten nicht mehr für neue Installationen genutzt werden. Ich lasse sie online, um bereits bestehende, ältere Installationen nachvollziehen zu können.
Das Archiv wird im Home-Verzeichnis des Pi platziert und dort entpackt.
pi@jk-raspberrypi ~ $ ls -lh
insgesamt 44K
drwxr-xr-x 2 pi pi 4,0K Nov 13 21:41 Desktop
-rw-r--r-- 1 pi pi 5,7K Feb 3 2013 ocr_pi.png
drwxrwxr-x 2 pi pi 4,0K Mär 10 2013 python_games
-rw-r--r-- 1 pi pi 26K Jul 5 09:24 Raspi-SHT21-V3_0_0.zip
pi@jk-raspberrypi ~ $ unzip Raspi-SHT21-V3_0_0.zip
Archive: Raspi-SHT21-V3_0_0.zip
creating: Raspi-SHT21-V3_0_0/
inflating: Raspi-SHT21-V3_0_0/function-cosm-push.sh
inflating: Raspi-SHT21-V3_0_0/function-ftp-upload.sh
inflating: Raspi-SHT21-V3_0_0/sht21
inflating: Raspi-SHT21-V3_0_0/sht21.sh
creating: Raspi-SHT21-V3_0_0/source/
inflating: Raspi-SHT21-V3_0_0/source/buildrun.sh
inflating: Raspi-SHT21-V3_0_0/source/i2c.c
inflating: Raspi-SHT21-V3_0_0/source/i2c.h
inflating: Raspi-SHT21-V3_0_0/source/main.c
inflating: Raspi-SHT21-V3_0_0/source/makefile
inflating: Raspi-SHT21-V3_0_0/source/raspi.c
inflating: Raspi-SHT21-V3_0_0/source/raspi.h
inflating: Raspi-SHT21-V3_0_0/source/sht21
inflating: Raspi-SHT21-V3_0_0/source/sht21.c
inflating: Raspi-SHT21-V3_0_0/source/sht21.h
inflating: Raspi-SHT21-V3_0_0/source/std_c.h
inflating: Raspi-SHT21-V3_0_0/start-sht21-service.sh
inflating: Raspi-SHT21-V3_0_0/stop-sht21-service.sh
creating: Raspi-SHT21-V3_0_0/www/
inflating: Raspi-SHT21-V3_0_0/www/index.php
creating: Raspi-SHT21-V3_0_0/www/js/
inflating: Raspi-SHT21-V3_0_0/www/layout.css
pi@jk-raspberrypi ~ $
Die Dateien sht21 und sht21.sh müssen noch ausführbar gemacht werden. Z.B. sudo chmod 755 sht21.
Bevor das Programm ausgeführt werden kann, muss noch der I2C-Treiber aktiviert werden. Hierzu befolgen wir diese 5-Schritt-Anleitung.
Nach dem Neustart können wir die Sensorwerte mit dem Programm sht21 abfragen. Je nachdem mit welchem Parameter man das Programm aufruft wird die Ausgabe unterschiedlich formatiert:
pi@jk-raspberrypi ~/Raspi-SHT21-V3_0_0 $ ./sht21 S
21.5 43
pi@jk-raspberrypi ~/Raspi-SHT21-V3_0_0 $ ./sht21 L
temperature=21.5
humidity=43
pi@jk-raspberrypi ~/Raspi-SHT21-V3_0_0 $ ./sht21 C
Temperature,21.5
Humidity,43
pi@jk-raspberrypi ~/Raspi-SHT21-V3_0_0 $ ./sht21
Raspi-SHT21 V3.0.0 by Martin Steppuhn (www.emsystech.de) [Nov 19 2012 23:35:05]
Options:
S : [20.0 99]
L : [temperature=20.0][humidity=99]
C : [Temperature,20,0][Humidity,99]
RaspberryHwRevision=2
0 21.5 43
1 21.5 43
2 21.5 43
3 21.5 43
4 21.5 43
Damit haben wir zwei weitere Ziele unseres kleinen Projekts erreicht.
Dank des RaspberryPi können wir nun die Temperatur und die Luftfeuchtigkeit überwachen und das unabhängig von vorhandener Hardware.
Ich möchte an dieser Stelle dem Team von emsystech.de danken. Dank des tollen Sensors, des Sourcecodes und der Tipps auf ihrer Website war der Aufbau der Überwachung ein Kinderspiel.
Aktuell schreiben wir die Messwerte alle 10 Minuten in eine CSV-Datei. Wie wir diese Messwerte in einem Webbrowser visualisieren können, beschreibe ich in einem folgenden Artikel.