Projekt Fußbodenheizung

Heizungssteuerung mit Linux und Raspberry Pi einrichten

Grundlagen für die Heizungssteuerung

Einige der verwendeten Tools/Bauteile/Software sind in den folgenden aufgeführten Artikeln teilweise ausführlicher beschrieben. Diese zu lesen ist nicht unbedingt erforderlich, sie können aber in Problemfällen hinzugezogen werden.

Die Hardwaresteuerung

Bei der Hardware handelt es sich um die externe Beschaltung (Platine), die die Schnittstelle zwischen dem Raspberry Pi und der Heizung darstellt. Die Platine ist über ein Flachbandkabel und einen Stecker mit dem Raspberry Pi verbunden. Der Raspberry Pi wird durch die Verwendung von Relais galvanisch getrennt. Über diese digitalen Ausgänge sollten Schütze angesprochen werden, die beispielsweise den Anlaufstrom der Pumpen verkraften.

Das Fertigen zweier Platinen ist für unter 20 Euro möglich. Um sich die Platine herstellen zu lassen, kann die Datei layout.brd an den Ätzservice eines Platinenbelichters gesendet werden, beispielsweise an den Service von Platinenbelichter.de.

Als Basissystem wird auf dem Raspberry Pi Raspbian, eine Debian-Variante, verwendet. Die Laufzeitumgebung ist eine typische LAMP-Umgebung, bestehend aus dem Apache Webserver, Mysql Datenbank, und PHP als Programmiersprache. Dies alles kann problemlos auf einer 4 GByte großen SD-Speicherkarte abgelegt werden.

Basissystem einrichten

Nun folgt die Einrichtung des Betriebssystems. Die einzelnen Schritte auf der Console können direkt unter Linux ausgeführt werden. An Stellen, an denen eventuelle Anpassungen vorgenommen werden müssen, erscheint ein entsprechender Vermerk.

wget "http://downloads.raspberrypi.org/raspbian_latest"

unzip raspbian_latest

# Ergebnis ist ein Image, mit einem Dateinamen ähnlich wie: 2014-01-07-wheezy-raspbian.img

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

# (Liste der Speicherlaufwerke kann mit "cat /proc/partitions" angezeigt werden)

# Der folgende Vorgang dauert einige Minuten und erzeugt erst eine Ausgabe, wenn er fertig ist.

sudo dd bs=1024k if=2014-01-07-wheezy-raspbian.img of=/dev/sdX

Nun wird die erstellte SD-Karte in den Raspberry eingesteckt. Der Raspberry Pi verbindet sich mit dem Netzwerk, bootet und erhält dann über DHCP, etwa von einer Fritzbox, eine IP für das lokale Netzwerk. Der Netzwerkname ist mit "raspberrypi" voreingestellt. Das Passwort von Raspbian ist "raspberry", der SSH Benutzer ist "pi".

# auf den Raspberry über das Netzwerk verbinden, und

# mit dem Benutzer "raspberry" und dem Passwort "pi" anmelden

ssh -lpi raspberrypi

# Initiale Konfiguration

sudo raspi-config

#einmal "Expand Filesystem" aufrufen und einmal "Internationalisation Options", dort unter "Change Locale" de_DE.UTF-8 UTF-8

# stellen. Danach nochmal "Internationalisation Options" und dann "Change Timezone" auf "Europe/Berlin" stellen.

# danach das Passwort ändern "Change User Password" (im verfügbaren fertigen Image wurde dies auf 'raspheat' gestellt).

# dann im Hauptmenü Advanced Options - Hostname den Namen des Systems auf "heating" setzen.

#

# danach "Finish" und den Raspberry einmal neu starten lassen.

# erneut auf den Raspberry via Netzwerk verbinden

ssh -lpi heating

sudo rpi-update

sudo apt-get update; sudo apt-get upgrade

sudo apt-get install mc rrdtool owfs-fuse

# mit der Mysql-Installation wird das Mysql-Root-Passwort vergeben ('raspheat' habe ich genommen, bei mir im Image)

sudo apt-get install mysql-server-5.5

# als Server für phpmyadmin den Apache2 wählen. Konfiguration phpmyadmin mit dbconfig-common

# im Image wurde erneut das Passwort raspheat vergeben

sudo apt-get install htop apache2 libapache2-mod-php5 phpmyadmin php-pear php-apc secure-delete

# ist riesengroß und wird nicht gebraucht

sudo apt-get purge wolfram-engine

Der Apache-Webserver und phpmyadmin sind ab diesem Zeitpunkt verfügbar. Die Zugangsdaten für den phpmyadmin sind der Benutzer "root" und das Passwort "raspheat".