alle Bilder: © Michael Brauckmann
Aktueller Bestand für 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 für jeden Tag aufzuarbeiten. Nach diversen Heizungsproblemen in der Vergangenheit, hatte sich gezeigt, dass Datenplotts bei der Funktionsbeurteilung und Fehlersuche ein große Hilfe sein können. Auch können die Handwerker hiermit gut auf eventuelle Probleme aufmerksam gemacht werden, wodurch eine wehsentlich zielgerichtetere Vorgehensweise möglich wird. Folgende Komponenten werden benötigt:
Sensoren: Maxim DS18B20. Diese bieten (je nach Ausführung):
Hochwertiges Edelstahl Sondengehäuse (siehe Bild weiter unten)
Wasserfest und korrosionsbeständig (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)
Raspberry Pi B mit SD-Karte und BS
USB WLAN-Stick
Netzteil mit USB-Kabel
Ein C-Programm zur Verarbeitung und Protokollierung der Sensordaten
Ein Bash-Skript zur Ansteuerung von Gnuplot
Für dieses Projekt habe ich einen Raspberry Pi vom Typ B eingesetzt. Als Betriebssystem kommt Raspbian zum Einsatz.
Zunächst 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 für die Verbindung KG - EG.
Nach meinem Arduinoprojekt habe ich mich wieder für die Maxim DS18B20 Temperatursensoren entschieden. Der Rapi und sein Betriebssystem sind hierfür schon bestens aufgestellt. Es müssen nur noch die Module w1-gpio und w1-therm nachgeladen werden.
Damit das nicht nach jedem Reboot fällig 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 fünf Sensoren. Das ist einzig darauf zurück zu führen, dass ich bei ebay ein Angebot mit fünf Sensoren erstanden habe. Diese Sensoren hatten jeweils ein 3 Meter langes Anschlusskabel und einen fertig konfektionierten Stecker.
Das C-Programm sammelt kontinuierlich die Daten ein und schreibt diese in eine ASCII-Plotdatei.
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 Ausreißer nach oben ( > 200 Grad) dabei. Zunächst habe ich diese Fehler händisch mit einem Texteditor korrigiert. Das war natürlich keine Lösung. Ich habe daher das C-Programm um eine Fehlerabfangfunktion erweitert. Wenn ein Messwert kleiner 1 oder größer 100 ist, wird er verworfen und statt dessen der vorhergehende Wert erneut verwendet. Das funktioniert seit dem wunderbar und fällt bei einem Messraster von einer Minute auch überhaupt nicht auf.
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 muss das Programm noch gestartet werden. Hierzu muss man zunächst in das entsprechende Verzeichnis wechseln und dann das Programm unabhängig von dem Konsolenfenster als Hintergrundanwendung starten.
cd C/tempsens/
./Heiztemp & disown
Jetzt kann man sich ausloggen und die Datenaufzeichnung und Bearbeitung läuft.
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.
Hier folgen nun ein paar Bilder zum Projekt.
![]() | TemperatursensorenTOPSo sehen die von mir eingesetzten Sensoren aus. Bei ebay kann man unterschiedliche Ausführungen erwerben. |
![]() | Tagesaktuelle GrafikTOPAls Ergebnis der Bemühungen erzeugt der Raspberry Pi an meiner Heizung nun für jeden Tag eine solche DIN A4 Grafik. Die kann ich dann via SSL oder über den Webbrowser abholen. |