Raspberry Temperatur Logger mit MRTG
Wie bereits im Netz beschrieben wird ein Widerstand mit 4700 Ohm (4,7 k) und ein Temperatursensor DHT22 benötigt. Bauanleitung am besten im Netz suchen.
Auf dem Raspberry noch folgendes installieren
sudo apt–get update sudo apt–get install build–essential python–dev python–openssl git
+
git clone https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT sudo python setup.py install
zum Testen obs funktioniert im Ordner „examples“ folgenden Befehl ausführen: sudo ./AdafruitDHT.py 22 4
nach die AdafruitDHT.py in einen eigenen Ordner (z.B. Skripte) kopieren und im unteren Bereich wie folgt abändern:
if humidity is not None and temperature is not None:
# print(‚Temp={0:0.1f}* Humidity={1:0.1f}%‘.format(temperature, humidity))
print(‚{0:0.1f} {1:0.1f}‘.format(temperature, humidity))
else:
print(‚Failed to get reading. Try again!‘)
sys.exit(1)
Somit erscheinen nur die Werte ohne Bezeichnung etc.
Danach zwei Skriptdateien erstellen:
Die 1. für die Temperatur mit Bezeichnung: temp1.sh
#!/bin/sh
## Load Temperature from AdafruitDHT.py with Sensors DHT22
WERTE=$(/daten/scripte/AdafruitDHT.py 22 4)
echo $WERTE | awk ‚{print $1}‘
Die 2. für die Luftfeuchtigkeit mit Bezeichnung: hum1.sh
## Load Humidity from AdafruitDHT.py with Sensors DHT22
WERTE=$(/daten/scripte/AdafruitDHT.py 22 4)
echo $WERTE | awk ‚{print $2}‘
MRTG-CFG
Luftfeuchtigkeit:
Title[hum1.load]: Room Humidity 5 Minuten
PageTop[hum1.load]: <H1>Room Humidity 5 Minuten</H1>
Target[hum1.load]: `/daten/scripte/hum1.sh`
Options[hum1.load]: gauge,nopercent,integer,growright,pngdate
MaxBytes[hum1.load]: 500
YLegend[hum1.load]: Humi
ShortLegend[hum1.load]: %
Legend1[hum1.load]: Hum
Legend2[hum1.load]:
LegendI[hum1.load]: Humidity
LegendO[hum1.load]:
Temperatur:
Title[temp1.load]: Room Temperature 5 Minuten
PageTop[temp1.load]: <H1>Room Temperature 5 Minuten</H1>
Target[temp1.load]: `/daten/scripte/temp1.sh`
Options[temp1.load]: gauge,nopercent,integer,growright,pngdate
MaxBytes[temp1.load]: 500
YLegend[temp1.load]: Temp
ShortLegend[temp1.load]: C
Legend1[temp1.load]: Temp
Legend2[temp1.load]:
LegendI[temp1.load]: Temperature
LegendO[temp1.load]: