Das Projekt wurde in dieser Form nicht fertig gestellt. Die Software war immer instabil und hängte sich nach kurzer Zeit auf. Weiterhin ergaben sich im Rahmen der Umsetzung mehrere Änderungen am Projektziel. Der neue Ansatz zur Problemlösung findet sich hier. Zu Dokumentationszwecken bleibt diese Seite aber erhalten.
Ziel des Projekts ist, den Zustand meiner Heizung im Keller mittels geeigneter Sensoren zu kontrollieren und diese Daten vom Wohnraum aus einzusehen. Als Wärmequellen stehen ein Holzpellet-Ofen (Grimm Pellino), sowie eine Solarthermie-Anlage zur Verfügung. Die Wärme wird in einen 900L Kombipufferspeicher eingespeist. Der Ofen hat einen Zwischenspeicher für Pellets und wird aus einem großen Bunker mittels Spiralförderschnecke versorgt.
Ich möchte vom Wohnraum aus alle Daten der Heizung überwachen. Die Rohdaten sollen im Heizungskeller von einem Gerät erfasst werden und an einen zentralen Server geschickt werden. Im Wohnraum ist ein zweites Gerät zur Anzeige aller Daten geplant. Natürlich soll es im Keller ebenfalls möglich sein, die aktuellen Messwerte einzusehen. Weiterhin ist gewünscht, alle Daten auch über das Internet einsehen zu können. Es bietet sich dafür eine Weboberfläche (WWW) an, da alle modernen Endgeräte wie z. B. Handys mit einem Browser ausgestattet sind und IP sprechen. Weiterhin ist gewünscht, dass alle Daten in eine zentrale Datenbank gespeichert werden um dort entsprechende Auswertungen machen zu können und eine Historie zu haben.
Das Monitoring der Heizung mittels des hier geplanten und gebauten Systems HappyHeaterMon, ist Teil einer größeren Installation in meinem Haus und muss daher offen sein. Die Überwachung soll für jedermann nachbaubar, verbesserbar und anpassbar sein. Die Schaltpläne, sowie die Software sollen frei zugänglich sein, bzw unter freien Lizenzen (z. B. (L)GPL verfügbar sein. Diese Seite dokumentiert ausschließlich die Einheit im Keller (HappyHeaterMon folgend nur noch HHM genannt), welche die Daten dort erhebt, zum Teil anzeigt und an den Rechner übermittelt. Den Überblick über das gesamte Konzept findet man hier.
Im Wohnraum, sowie im Keller liegen Ethernetdosen, eine Kommunikationsverbindung zwischen HHM und Server ist gegeben. Da die Dosen auf ein Patchpanel aufgelegt sind, ist es möglich die Sensordaten als serielles Signal über die Netzwerkleitung zu senden.
Als Hardwarebasis soll ein Arduino dienen. Er lässt sich sehr leicht programmieren und alle nötigen Bibliotheken für Ein- und Ausgaben können einfach eingebunden werden. Als Temperatursensoren werden DS18S20 zum Einsatz kommen. Deren Messspektrum (-55°C - +125°C) ist groß genug für die zu erwartenden Temperaturen und sie genügen sich dank OneWire-Bus mit einem einzigen Kabel und einem Messeingang am Controller. Außerdem wurden die Sensoren von mir mittlerweile über ein Jahr im Praxiseinsatz getestet, da sieben davon auf meinem Warmwasserspeicher aufgeklebt waren und mittels Rechner ständig ausgelesen wurden. Der Füllzustand der Pelletbehälters soll mittels Ultraschall bestimmt werden. Der Betrieb der Pumpen, der Förderschnecke und des Zugmotors wird über eine Art selbst gebauten Optokoppler ermittelt. Dazu kommen an die 230V-Verbraucher 230V-LEDs und diese werden mittels Sensor-LED (Entladezeitmessung) vom Mikrocontroller ausgelesen. Als Anzeige dient ein 20×4 LC-Display, die Steuerung wird mittels eines Joysticks vorgenommen. Die Luft im Heizungsraum soll zusätzlich mit einem Rauchsensor überwacht werden.
Für die Umsetzung in Software machte ich einige Tests um festzustellen, ob es überhaupt möglich ist, alle Daten die ich messen möchte zu erlangen und alle Bauteile anzusteuern. Dabei fanden letztlich folgende Bibliotheken Verwendung:
| Bauteil | Bibliothek | Lizenz | Funktioniert |
|---|---|---|---|
| DS1820 | Dallas Temperature Control Library | LGPL | |
| SRF02 | SRF02 Library | LGPL | |
| 74*LS*164 | ShiftRegLCD | LGPL(?) / GNU GPL v3 | |
| Sharp GP2Y1010AU0F | selbst gehackt, ist ja nur ein Puls und eine Spannung | LGPL |
Eigentlich bestellte ich mir einen FriedlyARM eher als Spielzeug. Nach einigen Tests und der Installation von Debian, stellte sich allerdings heraus, dass das Gerät geradezu ideal war als Frontend für meine Heizungsüberwachung. Folgendes soll angezeigt werden (= Spezifikation für die Webanwendung):
| Anzahl | Bauteil | Beschaffungsquelle | Einzelpreis | Gesamtpreis |
|---|---|---|---|---|
| 16 | DS18S20 Temperatursensor | via eBay aus Polen | 1,40€ | 22,40€ |
| 1 | LCD Display HD44780 4×20 | via eBay aus Polen | 8,95€ | 8,95€ |
| 1 | SRF02 Ultraschallentfernungssensor | Manu Systems AG | 16,56€ | 16,56€ |
| 1 | Joystick | watterott.com | 3,95€ | 3,95€ |
| 1 | Arduino Pro Mini | watterott.com | 14,95€ | 14,95€ |
| 1 | LS 164 Shift-Register f. LCD | Reichelt | 0,24€ | 0,24€ |
| 1 | MAX232 | via eBay aus Polen | 0,43€ | 0,43€ |
| 1 | Sharp GP2Y1010AU0F | watterott.com | 13,50€ | 13,50€ |
| 1 | Gehäuse Alu | Reichelt | 9,35€ | 9,35€ |
| ca. 50m | Kabelverschiedene Adern | Reichelt | 20,00€ | 20,00€ |
| x | diverses | Versandkosten, Verbrauchsmaterial (Lötzinn, Platinen), Kleinteile (Wiederstände, LEDs, Kondensatoren), Stecker, Kleingehäuse, etc. | 40,00€ | 40,00€ |
| Summe | ~150,00€ | |||
Achtung! Wer meine Hardware nachbaut oder Software verwendet, tut das auf eigenen Gefahr. Ich übernehme keine Haftung für Datenverluste, kaputte Hardware, abgebrannte Häuser, zerstörte Atomkraftwerke oder am Frickelwahn zerschellte Familienverhältnisse.
Quelltext-Download
Displayplatine
Hauptplatine
Eagle Board Download
Vorlagen für Tonerdirektmethode