alle Bilder: Michael Brauckmann

Raspberry PI: Heizungstemperaturen plotten

Aktueller Bestand fr diese Seite: 2 Bilder

Ziel dieses Projekts sollte es sein, mittels eines Raspberry Pi Computers die wichtigsten Temperaturen an meiner Heizung vollautomatisch, autark und permanent zu erfassen, zu strukturieren und grafisch fr jeden Tag aufzuarbeiten. Nach diversen Heizungsproblemen in der Vergangenheit, hatte sich gezeigt, dass Datenplotts bei der Funktionsbeurteilung und Fehlersuche ein groe Hilfe sein knnen. Auch knnen die Handwerker hiermit gut auf eventuelle Probleme aufmerksam gemacht werden, wodurch eine wehsentlich zielgerichtetere Vorgehensweise mglich wird. Folgende Komponenten werden bentigt:

  1. Sensoren: Maxim DS18B20. Diese bieten (je nach Ausführung):

    • Hochwertiges Edelstahl Sondengehäuse (siehe Bild weiter unten)

    • Wasserfest und korrosionsbestndig (laut ebay Anbieter)

    • Messbereich: -55°C bis +125°C (–67°F to +257°F) (laut Datenblatt)

    • Genauigkeit: ±0.5°C (-10°C to +85°C) (laut Datenblatt)

  2. Raspberry Pi B mit SD-Karte und BS

  3. USB WLAN-Stick

  4. Netzteil mit USB-Kabel

  5. Ein C-Programm zur Verarbeitung und Protokollierung der Sensordaten

  6. Ein Bash-Skript zur Ansteuerung von Gnuplot

Der Raspberry Pi

Fr dieses Projekt habe ich einen Raspberry Pi vom Typ B eingesetzt. Als Betriebssystem kommt Raspbian zum Einsatz.

Der USB WLAN-Stick

Zunchst lief der Rapi mit einem EDIMAX EW-7811UN und war somit im lokalen WLAN erreichbar. Mittlerweile habe ich aber einen WLAN-Stick mit echter externer Antenne verbaut (siehe ebay). Der kleine knubbelige EDIMAX schien mir nicht stabil genug fr die Verbindung KG - EG.

Die Temperatursensoren

Nach meinem Arduinoprojekt habe ich mich wieder fr die Maxim DS18B20 Temperatursensoren entschieden. Der Rapi und sein Betriebssystem sind hierfr schon bestens aufgestellt. Es mssen nur noch die Module w1-gpio und w1-therm nachgeladen werden.

Damit das nicht nach jedem Reboot fllig wird, habe ich sie in die modules Datei (/etc/modules) eingetragen. Nun werden die Module bei jedem Reboot automatisch mit geladen.

Wie noch zu sehen sein wird, gibt es in diesem Projekt fnf Sensoren. Das ist einzig darauf zurck zu fhren, dass ich bei ebay ein Angebot mit fnf Sensoren erstanden habe. Diese Sensoren hatten jeweils ein 3 Meter langes Anschlusskabel und einen fertig konfektionierten Stecker.

Das C-Programm

Das C-Programm sammelt kontinuierlich die Daten ein und schreibt diese in eine ASCII-Plotdatei.

Fehlertoleranz

Bei Auswertung der ersten Plotdaten musste ich leider feststellen, dass die Sensoren immer wieder Messfehler mit dem Wert -0,06 abliefern. Auch war mal ein Ausreier nach oben ( > 200 Grad) dabei. Zunchst habe ich diese Fehler hndisch mit einem Texteditor korrigiert. Das war natrlich keine Lsung. Ich habe daher das C-Programm um eine Fehlerabfangfunktion erweitert. Wenn ein Messwert kleiner 1 oder grer 100 ist, wird er verworfen und statt dessen der vorhergehende Wert erneut verwendet. Das funktioniert seit dem wunderbar und fllt bei einem Messraster von einer Minute auch berhaupt nicht auf.

Das Bash-Skript

Das folgende Bash-Skript bergibt die zu bearbeitenden Daten an Gnuplot und passt ein paar Einstellungen jeweils an. Bearbeitete Protokolldatendateien werden umbenannt um eine erneute Bearbeitung am Folgetag zu unterbinden. ber Cron (siehe Kommentar im Skript) wird dieses Skript einmal am Tag um 04:44 Uhr aufgerufen.

Nach einem Power-Up-Reset

Nach einem Power-Up-Reset muss das Programm noch gestartet werden. Hierzu muss man zunchst in das entsprechende Verzeichnis wechseln und dann das Programm unabhngig von dem Konsolenfenster als Hintergrundanwendung starten.

cd C/tempsens/
./Heiztemp & disown

Jetzt kann man sich ausloggen und die Datenaufzeichnung und Bearbeitung luft.

Hilfreiche Quellen

Bei diesem Projekt habe ich auf Informationen oder Programmcode aus folgenden Quellen zurückgegriffen:

arduino.playground
die Katzenseite
1-wire-tutorial
elchs-kramkiste
macherzin.net

Sollte ich weitere Quellen vergessen haben, hier aufzuführen, so bitte ich dies zu entschuldigen und sich in diesem Falle bei mir zu melden. Eine böse Absicht steckt nicht dahinter, ich habe das dann schlichtweg vergessen und den Überblick verlohren.

Bilder zum Projekt

Hier folgen nun ein paar Bilder zum Projekt.

Sensoren DS18B20 von Dallas

TemperatursensorenTOP

So sehen die von mir eingesetzten Sensoren aus. Bei ebay kann man unterschiedliche Ausfhrungen erwerben.

Beispiel einer Tageskurve

Tagesaktuelle GrafikTOP

Als Ergebnis der Bemhungen erzeugt der Raspberry Pi an meiner Heizung nun fr jeden Tag eine solche DIN A4 Grafik. Die kann ich dann via SSL oder ber den Webbrowser abholen.