Präzise Temperaturüberwachung im Server-Schrank mit Raspberry Pi
Das Problem
Nach der Renovierung meines Home-Offices widmete ich einen Schrank für meine gesamte Elektronik – Server, NAS, AV-Receiver und mehr. Ich installierte einen Abluftventilator, um heiße Luft ins angrenzende Büro zu leiten, doch der Schrank bleibt bei etwa 32 °C (90 °F), selbst mit laufendem Lüfter. Zwar liegt dies innerhalb der meisten Hardware-Limits, aber es ist wärmer als gewünscht. Um zu entscheiden, ob zusätzliche Kühlung nötig ist, benötigte ich eine zuverlässige Methode, Temperaturänderungen über mehrere Tage aufzuzeichnen.
Ein Raspberry Pi ist dafür ideal. Ich hatte zuvor mit dem analogen TMP36GZ Sensor an einem Arduino gearbeitet, aber die GPIO-Pins des Pi sind rein digital, was einen analogen Sensor ohne zusätzlichen ADC ungeeignet macht. Ich wollte eine unkomplizierte Lösung, um sofort mit dem Coden zu beginnen.
Der DS18B20 digitale Temperatursensor löste das Problem. Er kommuniziert über einen Single-Wire-Bus, der perfekt zum BCM GPIO4 (Pin 7) des Pi passt. Der Sensor ist direkt über das Linux-Terminal zugänglich, und mehrere DS18B20 Einheiten können dieselbe Datenleitung teilen.
Der Aufbau
- Kurzes Stück CAT5e-Kabel verwenden und die drei Pins des DS18B20 verlöten: Orange = +3,3 V, Braun = GND, Grün = DATA.
- 4,7 kΩ Pull-Up-Widerstand zwischen 3,3 V und Datenleitung einbauen.
- Freiliegende Verkabelung mit Isolierband umwickeln und Schrumpfschlauch zum Schutz aufziehen.
- Female Jumper-Stecker an Kabelende für schnelle Verbindungen an einen Splitter anbringen.
- Zwei 2-Male-zu-1-Female Y-Splitter erstellen, um VDD, GND und DATA von zwei Sensoren in den einzelnen Pi-Pin zu kombinieren.
- Splitter an Pi anschließen: 3,3 V an Pin 1, GND an Pin 6, DATA an Pin 7.
- Sensoren im Schrank platzieren – je einen auf jeder Seite des Abluftventilators – um Temperaturschwankungen zu erfassen.
Unten ist ein Foto des fertigen Aufbaus. Beachten Sie die drei Splitter, die sauber in die GPIO-Pins des Pi gesteckt sind.
Sensor im Terminal auslesen
Sobald die DS18B20s verdrahtet sind, können Sie ihre Ausgabe direkt aus dem Dateisystem lesen. Die folgenden Befehle laden die nötigen Kernel-Module, listen verfügbare Geräte auf und zeigen die Temperaturdaten für einen gewählten Sensor an.
# 1-Wire Treiber laden
sudo modprobe w1-gpio
sudo modprobe w1-therm
# Angeschlossene Geräte auflisten (z. B. 28-0000055f311a)
ls /sys/bus/w1/devices
# Temperatur eines spezifischen Sensors auslesen
cat /sys/bus/w1/devices/28-0000055f311a/w1_slave
Die w1_slave Datei liefert zwei Zeilen. Die erste enthält einen CRC-Check; die zweite endet mit t=XXXXX, wobei XXXXX die Temperatur in Tausendstel Grad Celsius ist. Bei Bedarf in Fahrenheit umrechnen.
Mit diesem Setup können Sie Messwerte in eine CSV-Datei loggen, Daten an einen Remote-Server pushen oder Alarme auslösen, wenn Temperaturen einen Schwellenwert überschreiten. Die Genauigkeit des DS18B20 beträgt ±0,5 °C – mehr als ausreichend für routinemäßige Hardware-Überwachung.
Für detailliertere Anweisungen und Beispielcode besuchen Sie Raspberry Pi GPIO Dokumentation und Adafruits DS18B20 Guide.
Herstellungsprozess
- Raspberry Pi Temperaturlogger mit 5 $ I2C Sensor bauen
- Präzises Raspberry Pi Temperaturprofiling mit Python, SQLite und LabVIEW
- Mehrere DS18B20 1-Wire Sensoren an Raspberry Pi anschließen für präzises Temperaturmonitoring
- Raumeffizient Temperaturen mit Raspberry Pi und Nagios überwachen
- Raspberry Pi Temperatur- & Feuchtigkeits-Netzwerkmonitor – DIY Setup Guide
- Temperatur mit DS18B20 am Raspberry Pi 2 auslesen
- Professionelle Temperaturüberwachung mit Raspberry Pi und DS18B20
- Temperaturmessung mit Maxim 1-Wire Sensoren und DS2482 I2C-Bridge am Raspberry Pi
- Fern-Temperatursensor mit Raspberry Pi & Python bauen – Schritt-für-Schritt-Anleitung
- Home Energy Centre: Solar PV, Thermische Panels & Raumtemperaturen mit Raspberry Pi & Moteino überwachen