Projekt Fußbodenheizung

Heizungssteuerung mit Linux und Raspberry Pi einrichten

Bei diesem Projekt handelt es sich um die Entwicklung einer Steuerung der Fußbodenheizung mit einem Raspberry Pi. Eine in die Jahre gekommene mit einer durch PIC AT89 implementierte Heizungssteuerung sollte durch eine neue Variante ersetzt werden.

Autor Thomas Eimers kam schon in der Kindheit mit Elektrotechnik in Berührung, der Vater war Rundfunkelektroniker. Beruflich ist Eimers "in einem größeren Umfeld der Softwareentwicklung tätig", beschäftigt sich als begeisterter Bastler in der Freizeit jedoch gern mit der Regel- und Steuerungstechnik. Und er ist, wie er selber sagt, bekennender Opensource-Fan. Hier stellt er sein Projekt einer Fußboden-Heizungssteuerung mit Linux und Raspberry Pi vor.

Die Anforderungen an den Regelkreis sind recht simpel: Der Brenner einer Heizung soll über die Regelung ein- und ausgeschaltet werden. Ob der Brenner ein- oder ausgeschaltet wird, hängt von den beiden Temperatursensoren (Außentemperatur und Temperatur des zurücklaufenden Wassers) ab. Die Pumpe, die im Wasser­kreislauf für die Strömung sorgt, soll ebenso über die Regelung gesteuert werden und nur bei Bedarf laufen, was Strom spart.

Die Benutzer-Schnittstelle

Für die Heizungssteuerung wird ein 8 bis 10 Zoll großes Touchscreen verwendet werden. Das UI basiert auf jQuery Mobile, um die Bedienung zu vereinfachen. Die Menüführung weist den folgenden Aufbau auf:

  • Statistiken

  • Temperaturverlauf/Verbrauch für diesen Tag

  • Temperaturverlauf/Verbrauch für diese Woche

  • Temperaturverlauf/Verbrauch für diesen Monat

  • Temperaturverlauf/Verbrauch für dieses Jahr

  • Systemkonfiguration

  • Sollwertkurve Rücklauf

  • Pumpenkonfiguration

  • Nachtabsenkung

  • Temperaturfühler

Die aktuellen Informationen sind in einer Fußzeile auf jeder Seite abzulesen.

Entscheidung für den Raspberry Pi

Die Heizungssteuerung direkt unter Linux zu implementieren, bietet viele Vorteile, da man auf ein auf ein komplettes Betriebssystem zurückgreifen kann. Zu den Vorzügen gehören der einfache Netzwerk­anschluss für Wartung, die Möglichkeit, Datenbanken für Temperatur­werte zu verwenden sowie einen Touchscreen als Interface anzu­schließen. Frühere aufwändige Arbeiten wie das Anschließen eines DCF Empfängers (Funkuhr) werden damit unnötig, da hier beispielsweise das NTP des Internets zur Zeitsynchronisierung der Heizungs­steuerung herangezogen werden kann.

Für die Heizungssteuerung wird ein 8 bis 10 Zoll großer Touchscreen verwendet werden. Das UI basiert auf jQuery Mobile, um die Bedienung zu vereinfachen.
Für die Heizungssteuerung wird ein 8 bis 10 Zoll großer Touchscreen verwendet werden. Das UI basiert auf jQuery Mobile, um die Bedienung zu vereinfachen.
Foto: Thomas Eimers

Die Kosten für einen kompletten PC sind mittlerweile recht gering, besonders wenn es sich um Single-Board-PCs handelt. Der Aufbau mittels Standard-PC-Hardware ermöglicht, die Steuerung noch lange in Betrieb zu halten und auch in 10 Jahren noch auf Ersatzteile zurückgreifen zu können.

Bezug des Quellcodes

Der Quellcode steht unter der GPL-Lizenz, so dass die Steuerung nach Belieben für andere Zwecke angepasst werden kann.

  • Das Projekt Fußbodenheizungsteuerung ist auf Sourceforge verfügbar

  • Der komplette Quellcode für die neue Heizungs­steuerung kann via SVN heruntergeladen werden

Download eines fertigen Images

Alle nachfolgenden Texte beschreiben die komplette Installation der Heizungssteuerung, die besonders wichtig sind, wenn die Steuerung für andere Zwecke eingesetzt werden soll. Ein fertiges Image der Steuerung als Download liegt alternativ ebenfalls bereit. Dies ist für den schnellen Einstieg oder für Linux- und PHP-Anfänger eine gute Wahl. Das Image ist auf Sourceforge verfügbar. Die Zugangsdaten für den SSH Login des fertigen Images lauten:

  • Benutzername "pi"

  • Password "raspheat"

Installation des kompletten Images (4-GByte-Speicherkarte nötig)

# Wichtig! /dev/sdX durch die Laufwerksbezeichnung der angeschlossenen Speicherkarte ersetzen

# (Liste kann mit "cat /proc/partitions" ermittelt werden)

# Der Vorgang dauert einige Minuten und erzeugt erst nach Fertigstellung eine Ausgabe

sudo su -

cat /proc/partitions

bunzip2 -dc dateiname_des_heruntergeladenen_images.img.bz2 | dd bs=1M of=/dev/sdX

Meldungen wie

"dd: »/dev/sdd" wird geschrieben: Auf dem Gerät ist kein Speicherplatz mehr verfügbar"

erfordern den Einsatz einer größeren Speicherkarte. Da nicht alle 4-GByte-Speicherkarten eine einheitliche Speicherkapazität aufweisen, empfiehlt sich die Verwendung einer 8-GByte-Karte.