Open Source im professionellen Einsatz
Linux-Magazin 12/2016
© Felix Pergande, 123RF

© Felix Pergande, 123RF

Hausautomatisierung mit I2C-Buskomponenten

Schaltwarte im Eigenbau

Standardisierte Protokolle und Schnittstellen bieten im Vergleich zu proprietären viele Vorteile. Einer davon: Sie sind deutlich günstiger. Das zeigt auch das Beispiel einer Automatisierung von Lichtern, Jalousien und der Alarmanlage mit Komponenten für den I2C-Bus in diesem Artikel.

1752

Taugt das I2C-Protokoll überhaupt für die Hausautomation? Mancher mag da Zweifel hegen angesichts der beschränkten Leitungslänge und der fehlenden Fehlererkennungs- und Fehlerkorrekturmechanismen [1]. Einerseits sind diese Bedenken nicht wegzudiskutieren, andererseits steht für ambitionierte Häuslebauer eine Fülle an Erweiterungshardware für I2C bereit, die sich an aktuelle System-on-Chip-Systeme anschließen lässt.

Obendrein sind dabei Standard-Haustechnikkomponenten wie etwa günstige Lichtschalter aus dem Baumarkt einsetzbar. Und nicht zuletzt vereinfacht die Wahl von I2C auch die Ersatzteilbeschaffung wesentlich.

Mit der hier vorgestellten Lösung kann man fast alle Anforderungen in der Hausautomation bewältigen: Eine automatische Lichtsteuerung könnte etwa potenzielle Eindringlinge abschrecken. Motoren von Hausgeräten sollten zum Beispiel anlaufen, wenn der Strom gerade günstig oder im Überfluss vorhanden ist [2]. Diverse Internetservices ließen sich einbinden, die Informationen von überallher beisteuerten. Auch der Zugriff aus der Ferne auf die häusliche Technik gelingt leicht, inklusive der Verschlüsselung durch das SSH-Protokoll.

Dank der Leistungsfähigkeit aktueller Single Board Computer ist es zudem möglich, komplexe Berechnungen direkt durch die Steuerungshardware ausführen zu lassen. Die offene Architektur macht die Anwender unabhängig von einer bestimmten Programmiersprache. Während man bei Komplettsystemen oft sowohl Hard- als auch Software-seitig an einen bestimmten Hersteller gebunden ist, kann man bei diesem System jede unter Linux lauffähige Software einsetzen und auf das Know-how einer riesigen Community zurückgreifen.

Der vorliegende Artikel gliedert sich in einen Hard- und einen Softwareteil. Zuerst präsentiert er Beispiele geeigneter I2C-Hardware. Anhand der Steuerungshardware geht er dann auch auf die Verkabelung des Eigenheims ein. Der Software-Teil widmet sich der grundlegenden Konfiguration des I2C-Busses unter Raspbian-basierten Distributionen. Zwei Beispiele runden den Artikel ab: Eines zeigt eine in Python 3 programmierte wettergesteuerte Jalousie, das zweite, wie sich eine Alarmanlage nach der IEC-61131-3-Norm unter Linux realisieren lässt.

Bleibt noch darauf hinzuweisen, dass der Bastler bei allen Experimenten unbedingt mit der nötigen Vorsicht zu Werke gehen sollte. Denn manchmal muss er mit Netzspannung hantieren – unsachgemäße Ausführung kann hier Lebensgefahr heraufbeschwören! Wer sich nicht sicher ist, sollte sich zur Unterstützung an einen Elektrofachbetrieb wenden.

Auf Komponentenjagd

Ein Raspberry Pi ist die zentrale Komponente des Schaltkastens, um den es hier gehen soll. Ihn bekommt man in jedem besseren Elektronikfachgeschäft oder im Online-Versandhandel. Grundsätzlich ist jedes der verfügbaren Modelle geeignet, da immer mindestens ein I2C-Bus an der 26- beziehungsweise 40-poligen Stiftleiste herausgeführt ist. Als Entscheidungsgrundlage darf daher die benötigte Rechenleistung dienen.

Bei den eigentlichen I2C-Komponenten ist die Suche etwas komplizierter. Es zahlt sich aus, jene Komponenten zu bevorzugen, die weit verbreitet sind. Automatisch gibt es für sie auch die meisten Beispielprogramme. Ein typischer Vertreter dieser Kategorie ist beispielsweise der PCF8574-Chip. Dabei handelt es sich um einen so genannten 8-Bit-Portexpander, der am I2C-Bus acht zusätzliche Ein- oder Ausgänge bereitstellt. Er lässt sich besonders einfach ansprechen. Für andere Anwendungsfelder, zum Beispiel zur Fernsteuerung von Funksteckdosen [3] sowie zur Verarbeitung analoger Signale [4], stehen ebenfalls Chips und fertige Module zur Verfügung.

Vorsicht ist bei der Wahl der Ausgangsmodule mit Blick auf den zulässigen Schaltstrom geboten. Viele Klemmen bewältigen die hohen Einschaltströme von Motoren oder Leuchten nicht. Daher ist es ratsam, die Datenblätter potenzieller Hardware zu studieren.

Eine große Auswahl aller für den Bereich Heimautomatisierung benötigten I2C-Komponenten bieten zum Beispiel die Firmen Horter & Kalb [5] oder CC-Tools [6] an. Die Produkte beider Firmen zeichnen sich durch einen hohen Standardisierungsgrad aus, was die Ersatzteilbeschaffung und Reparatur wesentlich vereinfacht. Zusätzlich gibt es zu allen Produkten eine umfassende Dokumentation, die auch Beispielprogramme, Schaltpläne und Bauteillisten umfasst.

Die Eingangsmodule für den I2C-Bus beider Hersteller können die in der SPS-Programmierung üblichen 24-Volt-Signale verarbeiten, die beispielsweise Taster liefern. Bei den Ausgangsmodulen unterscheiden sich die beiden Ansätze.

Die Ausgangsmodule von Horter & Kalb können Gleichstromrelais ansteuern. Mit so genannten Koppelrelais ist es dann möglich, Netzspannung zu schalten. Die schmalen Relais der Firma Finder [7] passen auch in kleinere Schaltschränke und bewältigen trotz ihrer vorteilhaften Bauform bis zu 5 Ampere Schaltstrom, was für Lichter oder Jalousiemotoren völlig ausreichend ist. Die Ausgangsmodule der Firma CC-Tools hingegen vereinen üblicherweise sowohl die Bus-Komponenten als auch die Leistungsstufen (Relais) auf einer Platine. Durch diesen Ansatz lässt sich der Verkabelungsaufwand gering halten.

Im Lieferprogramm beider Hersteller finden sich auch die für den Betrieb der Ein-/Ausgabemodule notwendigen Spannungswandler. Ein für den I2C-Bus typisches Spannungsniveau ist 5 Volt.

Intern arbeitet der Raspberry Pi aber trotz seiner 5-Volt-Spannungsversorgung mit 3,3 Volt. Wer also I2C-Komponenten direkt an den Raspberry Pi anschließt, fügt dem Rechner mit der Zeit Schaden zu. Um dies zu verhindern, hängt man zwischen die I2C-Komponenten und den Raspberry Pi einen Spannungswandler, der auch als I2C-Buffer bekannt ist. Ein solches Gerät der Firma CC-Tools findet in einem separaten Hutschienengehäuse Platz. Die Variante der Firma Horter & Kalb lässt sich direkt auf die 26- beziehungsweise 40-polige Stiftleiste des Raspberry Pi stecken.

Außerdem braucht der Bastler noch Komponenten zum Schaltschrankbau. Die Stromversorgung (etwa ein 24-Volt-Hutschienen-Netzteil), Datenkabel und so weiter besorgt er sich üblicherweise im Elektrofachgeschäft oder im Online-Versandhandel. Diverse andere Hardware, Hutschienen und Befestigungsmaterial liefert am besten ein Fachhändler. Zum Anschluss von Handtastern bieten sich mehrpolige, flexible Litzen an, etwa die siebenpolige Unitronic LiYCY-Datenleitung von Lapp Kabel oder die siebenpolige Steuerleitung LiYCY von Faber Kabel mit einem Leitungsquerschnitt von 0,25 mm2 je Ader.

Mit Adernhülsen versehen lässt sich das Kabel problemlos an herkömmliche Lichtschalter anschließen. Es wird von den Schaltschränken aus sternförmig bis zu jedem Taster im Haus verlegt. Ein siebenpoliges Kabel kann bis zu sechs verschiedene Taster bedienen. Auch wenn nur ein Einfach- oder ein Doppeltaster anzuschließen sind, ist der Einsatz eines mehrpoligen Kabels ratsam, weil der Hausherr so später zusätzliche Taster ohne Neuverlegung von Kabeln an das System anschließen kann.

Wie ein Schaltschrank mit den in diesem Kapitel beschriebenen Komponenten strukturiert sein kann, zeigt der Prototyp in Abbildung 1. Die Leitungsschutz-Automaten sowie die Gleichspannungs-Stromversorgungen für die Steuerungskomponenten (Raspberry Pi, Ein-/Ausgabemodule) sind in der oberen Reihe des Aufbaus angebracht. In der unteren Reihe befinden sich von links nach rechts Klemmen, die verschiedene Gleichspannungsniveaus (bei diesem Aufbau: 5 Volt und 24 Volt) für die Steuerung bereitstellen. Dann folgen der Steuerungscomputer (ein Raspberry Pi) und ein Eingangs- sowie ein Ausgangs-Modul jeweils von der Firma Horter & Kalb.

Abbildung 1: Prototyp eines Schaltschranks, aufgebaut auf einer OSB-Platte.

An das Eingangsmodul ist ein improvisiertes Tastfeld angeschlossen. Um die Glühbirnen mit Netzspannung vom Ausgangsmodul versorgen zu können, kommen Koppelrelais der Firma Finder zum Einsatz. Den Abschluss bildet ein Ausgangsmodul der Firma CC-Tools, das direkt mit Relais-Ausgängen aufwarten kann (in der Abbildung noch ohne Stromversorgung).

Die Materialkosten des hier vorgestellten Ansatzes betragen für ein durchschnittliches Einfamilienhaus pro Schaltschrank und Stockwerk rund 300 bis 500 Euro. Im Vergleich mit anderen Heimautomatisierungslösungen ist das günstig. Für Eingabegeräte und Aktoren lässt sich Standardhardware einsetzen, die es in jedem Baumarkt gibt. Aufgrund der niedrigen Materialkosten bietet es sich auch an, für den Fehlerfall mindestens eine Komponente jeder Kategorie (Raspberry Pi, Inputkarte, Outputkarte, Koppelrelais) auf Lager zu legen.

Strukturierte Verkabelung

Auf den ersten Blick mögen sich Bussysteme – zum Beispiel KNX – für das gesamte Haus anbieten, um alle Komponenten zu verbinden. Tatsächlich lässt sich damit der Verkabelungsaufwand reduzieren. Doch müssten alle an das Bussystem angeschlossenen Komponenten das auf dem Bus eingesetzte Protokoll implementieren, was die Kosten für die Hardware wesentlich in die Höhe treibt. Beispielsweise sind KNX-Taster zurzeit nicht unter 40 Euro pro Stück erhältlich. Ein herkömmlicher, im hier präsentierten Ansatz einsetzbarer Doppeltaster hingegen kostet rund 5 Euro. Unter Umständen ist man beim Einsatz eines Bussystems außerhalb des Schaltschranks auch an die Lösung eines ganz bestimmten Herstellers gebunden.

Als besonders Vorteilhaft hat sich bei der Verkabelung des Eigenheims die Topologie der strukturierten Verkabelung erwiesen. Dazu führt der Installateur alle Steuer- und Lastleitungen eines Stockwerks an einen Punkt, dem so genannten Stockwerksverteiler, zusammen. Die Stockwerksverteiler enthalten neben den Ein- und Ausgangsmodulen (»I« und »O« ) deren Stromversorgung (»PSU« ; Power Supply Unit) sowie jeweils mindestens einen Raspberry Pi. Zwischen den Stockwerken sind dann nur noch die Stromversorgungskabel (Nullleiter »N« und Phase »L« ) sowie Datenkabel (Abbildung 2) erforderlich.

Abbildung 2: Einsatz der strukturierten Verkabelung in der Hausautomatisierung.

Aufgrund der Beschränkung der zulässigen Leitungslänge, des kleinen Adressraums für Komponenten sowie fehlender Fehlererkennungs- und Fehlerkorrekturmechanismen ist ein einziger I2C-Bus nur bedingt als Bussystem für die Verkabelung aller Komponenten eines mehrstöckigen Hauses geeignet [8]. Das Bussystem kommt daher nur innerhalb der Schaltkästen und damit auf einer Leitungslänge von maximal einem Meter zum Einsatz.

Die Kommunikation zwischen den Stockwerksverteilungen kann dagegen aus programmiertechnischer Sicht auf einem Ethernet-Protokoll fußen. Das aus der Internet-of-Things-Domäne stammende MQTT-Protokoll (MQ Telemetry Transport) bietet sich an. Interessierte Leser seien auf das Open-HAB-Projekt [9] oder das Programmiermittel Logi-CAD 3 [10] verwiesen, die unter vielen anderen auch dieses Protokoll unterstützen.

Als Eingangssignal, zum Beispiel von Lichtschaltern, lässt sich Kleinspannung verwenden. Üblich sind entweder 12 Volt oder 24 Volt (SPS-Spannungsniveau). Die geschalteten Komponenten laufen in dem gezeigten Setup dagegen unter Netzspannung, das heißt mit 230 Volt Wechselstrom.

Abbildung 3 zeigt, wie die Komponenten der Hausautomatisierung an die Ein-/Ausgabehardware anzuschließen sind. Das Ein- und das Ausgangsmodul setzen zwischen den I2C-Signalen und in diesem Fall digitalen Ein- und Ausgängen um. Um Netzspannung schalten zu können, kommen Relais zum Einsatz. Die Aktoren im Heimbereich, also etwa die Lichter, Alarmanlagen sowie Jalousien, lassen sich mit Hilfe digitaler Ein-/Ausgänge ansteuern.

Abbildung 3: Übersicht über die Verkabelung eines Schaltschranks mit Stromversorgung, Raspi und Relais zum Schalten von Verbrauchern.

Alarmkontakte bildet man ähnlich wie Taster in Form digitaler Eingänge ab, Lichter und Jalousien entsprechen digitalen Ausgängen. Zur Ansteuerung eines Jalousiemotors sind üblicherweise zwei digitale Ausgänge notwendig, da jede Bewegungsrichtung separat zu schalten ist. Die Ausgänge müssen dabei zumindest Software-seitig gegeneinander verriegelt sein, um Beschädigungen des Antriebs durch gleichzeitiges Aktivieren beider Richtungen zu verhindern.

Die Stromversorgung ist so ausgeführt, dass den I2C-Bus samt seinen Komponenten sowie den Raspberry Pi jeweils ein separates 5-Volt-Netzteil versorgt. In der Praxis ist es aber auch üblich, alle 5-Volt-Komponenten über dieselbe Stromversorgung zu speisen. Das 12-Volt-Netzteil ist für die Taster sowie für den Betrieb der Relais vorgesehen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 9 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • SVG-Bibliothek Librsvg: DoS-Exploit in Umlauf
  • Snapshot

    Das aus Gameshows bekannte Ziegenproblem kann eine lohnende Jungfernfahrt für angehende Statistiker sein. Lässt sich die Wahlentscheidung zwischen Ziegen und Auto mit einem neuronalen Netzwerk und einigen Trainingsläufen erlernen? KI-Meister Mike Schilli probiert es aus.

  • Self Service Password 0.6 mit Mail und Captcha

    Self Service Password, eine Webanwendung, über die User ihr Passwort in einem LDAP-Verzeichnis ändern können, ist in aktualisierter Version 0.6 erhältlich.

  • Ich glotz' TV

    Nina Hagens Medien-Nutzungsverhalten zu kopieren ist für einen Auslandsdeutschen gar nicht einfach. Doch ein Internet-Fernsehportal, die abgekupferte Technik eines Geräts und Perl verhelfen Exilanten sogar zu zeitversetztem Pantoffelkino. Hier Gebliebene haben natürlich genauso viel Spaß.

  • Py Side

    Die Bibliothek Py Side kombiniert Python mit den GUI-Fähigkeiten von Qt. Unter anderem bietet sie plattformunabhängige Techniken für Nebenläufigkeit und Netzwerkprogrammierung.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.