Temperatur- und Luftfeuchtigkeitsmessung mit Sensor DHT22/AM2302 und Raspberry Pi – Teil 3

Vorwort

Im dritten und letzten Teil der Reihe „Temperatur- und Luftfeuchtigkeitsmessung mit Sensor DHT22/AM2302 und Raspberry Pi“ wird beschrieben, wie die ausgelesenen Daten grafisch mit Munin aufbereitet werden können. Die beiden vorherigen Teile befassten sich zunächst mit Hard- und Software.

Skript

Das Ergebnis des vorherigen Beitrags war folgende Ausgabe:

sudo ./loldht 7
Raspberry Pi wiringPi DHT22 reader
www.lolware.net
Data not good, skip
Humidity = 42.50 % Temperature = 25.30 *C

Ziel ist es nun, die Werte für Temperatur und Luftfeuchtigkeit zu separieren und Munin zugänglich zu machen. Hierzu verwende ich zunächst grep, um nur die Zeile mit den Werten zu verarbeiten. Schließlich zähle ich Leerzeichen und beschneide an der passenden Stelle mit cut:

sudo /opt/lol_dht22/loldht 7 | grep -i "humidity" | cut -d ' ' -f3
42.50
sudo /opt/lol_dht22/loldht 7 | grep -i "temperature" | cut -d ' ' -f7
25.30

Ein entsprechendes Munin-Skript könnte dann so aussehen (/etc/munin/plugins/dht22-humidity):

#!/bin/sh

case $1 in
   config)
        cat <<'EOM'
graph_title relative Luftfeuchtigkeit
graph_vlabel humidity
humidity.label r. F. %
EOM
        exit 0;;
esac

printf "humidity.value "
/opt/lol_dht22/loldht 7 | grep -i "humidity" | cut -d ' ' -f3

bzw. für die Temperatur (/etc/munin/plugins/dht22-temperature):

#!/bin/sh

case $1 in
   config)
        cat <<'EOM'
graph_title Temperatur
graph_vlabel temperature
temperature.label °C
EOM
        exit 0;;
esac

printf "temperature.value "
/opt/lol_dht22/loldht 7 | grep -i "temperature" | cut -d ' ' -f7

Die beiden Skripte müssen nur noch ausführbar unter /etc/munin/plugins abgelegt werden. Natürlich muss munin-node  installiert und in Munin eingebunden sein, damit eine Verarbeitung erfolgen kann.

Munin-Node Konfiguration

Die Datei /etc/munin/plugin-conf.d/dht22 wird mit folgendem Inhalt erstellt:

[dht22*]
user root

Im Anschluss noch munin-node neustarten.

Have fun!

Temperatur- und Luftfeuchtigkeitsmessung mit Sensor DHT22/AM2302 und Raspberry Pi – Teil 2

Vorwort

Im ersten Teil des Tutorial ist beschrieben, welche Hardware zum  Auslesen von Temperatur und Luftfeuchtigkeit zum Einsatz kommt und wie diese verkabelt wird. Im aktuellen Artikel wird eine Möglichkeit beschrieben, den Sensor per Software auszulesen. Besonderer Dank gilt an dieser Stelle meinem Schwager Patrik, der mir mit der Beschaffung eines fehlenden elektronischen Bauteils die weiteren Schritte erst ermöglicht hat.

Software

Zum Einsatz kommen WiringPi zum Ansteuern der GPIO-Kontakte und ein Script zum Auslesen des Sensors.

Die Installation wie folgt:

# Git
sudo apt-get install git-core

# WiringPi (nach /usr/local/bin/)
cd /opt/
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

# lol_dht22
cd /opt/
git clone https://github.com/technion/lol_dht22
cd lol_dht22
./configure
make

Damit ist die Installation abgeschlossen.

Test

Ein erster Test liefert nun Temperatur und relative Luftfeuchte.

sudo ./loldht 7
Raspberry Pi wiringPi DHT22 reader
www.lolware.net
Data not good, skip
Humidity = 42.50 % Temperature = 25.30 *C

Have fun!