Temperaturerfassung mit Raspberry Pi und DS1820
Hier entsteht die Dokumentation einer Server- / Rack-Temperaturüberwachung mit Raspberry Pi und DS1820 1-Wire Sensoren. Basierend auf einer Raspbian Wheezy Installation wird ein lighthttp Webserver aufgesetzt, der mittels PHP eine handvoll Webseiten ausliefert um den Zustand eines Serverracks zu zeigen. Die Temperaturwerte werden in eine RRD geschreiben und mittels rrd graph visualisiert. Ein konfigurierter Schwellwert soll die Administratoren informieren, wenn die Temperaturen zu hoch sind.
Inhaltsverzeichnis |
Stückliste / Alternativen
Nachfolgend die benötigten Bauteile und Lieferanten bzw. deren Alternativen:
- Raspberry Pi 2 Modell B
- Stromversorgung 5V 1,2A min. Micro-USB
- Speicherkarte microSD mind. 4 GB (Class 4 oder besser)
- gew. Anzahl Temperatursensoren DS1820 (oder DS18B20), bedrahtet. Die Sensoren können mit einer 2-adrigen Leitung hintereinander geschaltet werden.
- Sensor für Luftfeuchtigkeit (DHT11 oder 1-Wire)
- Platine zum Aufstecken auf den Raspberry Pi (Prototypen-Board, Lochraster o.ä.)
- div. Schrauben, Muttern, Kabel, Schrumpfschläuche
Anzahl | Bezeichnung | Pollin | Watterott | EXP Tech | Fuchs Elektronik | vorhanden |
---|---|---|---|---|---|---|
1 | Raspberry Pi 2 Modell B | 37,95 € | 38,95 € | 37,90 € | ||
1 | Micro SD Karte | 5,25 € | 10,00 € | 6,60 € | ||
1 | Steckernetzteil Micro-USB | 4,95 € | 5,89 € | 12,00 € | ||
6 | Temperatursensoren | 10,50 € | 12,00 € | 26,10 € | 75,90 € | |
Platine / Proto-Hat | 22,95 € | 4,95 € | 4,95 € | |||
1 | Temperatur / Luftfeuchtigkeits Sensor | 5,31 € | 2,80 € | 58,90 € | - € | |
2 | Käfigmuttern M6 | - € | ||||
2 | Schrauben M6 x 20 | - € | ||||
4 | Schrauben M2,5 x 8 | - € | ||||
4 | Muttern M2,5 | - € | ||||
1 | Widerstand 4,7 kΩ | - € | ||||
diverse | Kabel, Schrumpfschläuche | - € | ||||
1 | Lochraster Platine | - € | ||||
1 | Raspberry Pi 2 Modell B 19" Rackmount Winkel | - € | ||||
Versandkosten | 4,95 € | 3,50 € | 5,60 € | - € | ||
Summe | 86,55 € | 80,60 € | 90,35 € | 140,40 € |
Elektronik
Boot Image
- Raspbian Debian Wheezy von Raspberry Pi Foundation (990 MB).
- In raspi-config das Dateisystem erweitern, den Hostnamen setzen und die Ländereinstellungen vornehmen
- In /boot/config.txt Aktivierung des Device Tree Overlay für 1-wire ergänzen:
- dtoverlay=w1-gpio,gpiopin=4,pullup=on
- In /etc/modules das Laden der nötigen Module ergänzen:
- wire
- w1-gpio pullup=1
- w1-therm
- Prüfen, ob die Sensoren in /sys/bus/w1/devices auftauchen:
- ls /sys/bus/w1/devices/
- 10-00080198fe85 10-00080199088f 10-000801993025 w1_bus_master1
- System aktualisieren:
- apt-get update
- apt-get upgrade
- rpi-update
Konfiguration
Raspbian Wheezy hat schon fast alles installiert, was man braucht. Die folgenden Pakete müssen nachinstalliert werden:
apt-get install python-rrdtool rrdtool lighttpd php5-common php5-cgi php5 php5-cli python2.7-dev python-openssl
- pro Sensor eine rrd anlegen.
- Auflösung
- minütlich für die letzten 24h
- 5-minütlich für die letzten 7 Tage
- stündlich für die letzten 31 Tage
- täglich für das letzte Jahr
rrdtool create datenbank.rrd --step 60 \ # alle 60 Sekunden ein Messwert DS:temperature:GAUGE:120:U:U \ # Datenquelle temperature RRA:AVERAGE:0.5:1:2160 \ # minütlicher Durchschnitt über 1,5 Tage RRA:AVERAGE:0.5:5:2016 \ # 5-minütlicher Durchschnitt über RRA:AVERAGE:0.5:15:2880 \ # 15-minütlicher Durchschnitt über 2 Tage RRA:AVERAGE:0.5:60:8760 \ # stündlicher Durchschnitt über 1 Woche RRA:MIN:0.5:1:2160 \ RRA:MIN:0.5:5:2016 \ RRA:MIN:0.5:15:2880 \ RRA:MAX:0.5:1:2160 \ RRA:MAX:0.5:5:2016 \ RRA:MAX:0.5:15:2880
19" Rackmount
Der Hostname des jeweiligen Raspi wird im 3D-ruck gleich mit eingedruckt.