Raspberry Pi Lichtsteuerung – Wireless Light Control

Bereits in vorherigen Artikeln hatte ich mich mit verschiedensten Raspberry Pi Projekten rund um die Hausautomatisierung- und Steuerung beschäftigt. Die Projekte und Tutorials sind bisher alle nach dem  „do it yourselfe“ Prinzip entstanden, da die Entwicklung und der Aufbau eines Home Automation Projekts nicht trivial ist und nicht jeder Erfahrung mit einem Lötkolben hat stelle ich euch heute eine fast fertige Gateway-Lösung zur Lichtsteuerung vor. Das RaspBee Modul hatte ich bereits im Funkmodul-Vergleich vorgestellt, es ermöglicht Smart Home Control mit Geräten nach dem ZigBee Standard und eine Steuerung via Smartphone, Tablet oder Computer.

Inhaltsverzeichnis

Was kann das RaspBee Modul?

RaspBee-Modul Das RaspBee Modul ermöglicht eine Steuerung der Heimbeleuchtung z.B. über sein Smartphone oder den Computer. Das kleine Aufsteckmodul findet seinen Platz auf den GPIO Ports eines RasPi Modell B oder B+ und passt wegen seiner geringen Bauhöhe (48 mm x 16,5mm x 12 mm) in jedes Standard-Case. Das Modul basiert auf einem Atmel ATmega256RFR2 Chip und funkt mit kompatiblen Geräten auf 2,4GHz nach dem ZigBee Standard.Der ZigBee Standard der „ZigBee Alliance“ ermöglicht eine Kompatibilität mit vielen Geräten, zum Beispiel können wir mit Hilfe des Moduls auf Zigbee PRO Geräte anderer Hersteller wie der Philips Hue oder Leuchtmittel von OSRAM oder Sylvania zugreifen.Wer keine speziellen ZigBee Leuchtmittel verwenden will kann mit entsprechenden Vorschaltgeräten auch eigene Glüh-, Halogenlampen oder LED Streifen steuern.Das Modul gibt es für unerfahrene Benutzer auch als fertigen Raspbee Gateway. Der Gatway besteht aus einem Raspberry Pi Modell B, dem RaspBee Premium Modul für die Steuerung von bis zu 200 Geräten, einen weißen Case und einer 4GB SD-Karte mit vorinstalliertem Light Control System.

Die Steuerung der mit dem RaspBee Modul verbundenen Geräte erfolgt wahlweise via Webseite von einem beliebigen Endgerät mit Browser oder via App vom Smartphone, dem Tablet oder dem eigenen Rechner. Das Modul ist kompatibel zu Apps von Drittanbietern.

Mein Projekt – Raspberry Pi Lichsteuerung

Ich habe mich in erster Annäherung an das Thema dazu entschieden das RaspBee Modul auf meinem vorhanden Pi  in Verbindung mit einem Vorschaltgerät (dieses wird durch den RasPi bzw das Modul angesteuert) und einem Test LED-Streifen zu verwenden. Der Vorteil liegt darin das ich alle Geräte, mit Ausnahme des LED Streifens, später weiter verwenden kann. Die logische Sicht auf mein Vorhaben habe ich euch unten dargestellt da die Zusammenhänge zwischen den einzelnen Geräten für einen Einsteiger unter Umständen schwer zu verstehen sind.

Logische Sicht auf das Projekt

Wireless-light-control-2 So sieht mein Setup aus:

1. Das ist mein Raspberry Pi mit aufgestecktem RaspBee Premium Modul. Der RasPi übernimmt die Kommunikation mit den ZigBee Leuchtmitteln / Geräten die ein Funkmodul bereits integriert haben oder mit Vorschaltgeräten welche die Steuerung herkömmlicher Lichter ermöglichen.

2. Die deConz Software ist auf dem Raspberry Pi installiert und ermöglicht via Oberfläche die Konfiguration und Verwaltung des RaspBee Moduls und der angeschlossenen Geräte. Das Tool verfügt ebenfalls über ein Webinterface sodass wir uns nicht immer direkt am RasPi anmelden müssen.3. Die Steuerung der Lichter via SmartPhone App oder über die Weboberfläche läuft immer über die deCONZ Software, diese stellt eine entsprechende Schnittstelle bereit um auch mit Apps anderer Hersteller steuern zu können.

4. Da ich euch Leuchtmittel ohne direkt integrierten Funkt-Empfänger steuern möchte habe ich zusätzlich zwei FLS Vorschaltgeräte welche über den RasPi bzw. das Modul angesteuert werden können. In meinem Test-Setup hängen die LED Streifen an diesen Vorschaltgeräten.

Verkabelung der Komponenten

Verkabelung So sieht die Verkabelung aus:

1. Links haben wir meinen Raspberry Pi mit einem normalen Ethernet Kabel, einem Netzteil (eines mit über 1A) und einer 8GB SD-Karte mit einer Standard Raspbian Installation. Rot markiert ist das auf die GPIO-Leiste aufgesteckte RaspBee Modul.

2. Auf der rechten Seite sieht man das Vorsteuer-gerät, in dieser Variante benötigt es, da wir nur  LEDs ansteuern wollen, eine 12V/24V DC Zuleitung. Der RGB (Rot, Grün, Blau) LED Streifen ist mit mit vier Kabeln angeschlossen, jeweils eines pro Farbe und einer Zuleitung (+) für den Strom.

 

Benötigte Hardware

Ich habe für mein Tutorial und einen ersten Test folgende Hardware verwendet. Es gibt auch ein passendes Starter Set, wer allerdings schon einen RasPi hat möchte vermutlich diesen verwenden.

 

Installation des Moduls und der Software

Ich gehe davon aus das euer RasPi eingerichtet und die SD-Karte bereits erweitert wurde, falls nicht könnt ihr gerne meine Setup Guides verwenden. Das Anbringen des Moduls auf dem Raspberry Pi ist recht simpel, ihr müsst nur darauf achten dass der rechteckige PIN des Moduls auf eurem Pi auf Pin 2 Steckt.

raspberry-pi-installation
Pin 2 ist der Markierte

 RaspBee-Modul-2
Der Rechteckige PIN muss auf Pin 2 am RPi
raspberry-pi-installation-2
So schaut es fertig aus.

Dann verbinden wir unseren Raspberry Pi mit dem LAN und dem Strom und verbinden uns wie gewohnt via SSH auf das System. Ich verwende wie immer das aktuelle Raspbian Image. Bitte achtet darauf das ihr ein ausreichend starkes Netzteil mit mindestens 1A verwendet.

Wie immer vor Start eines RasPi Projekts sorgen wir als erstes dafür das unsere Paket Sourcen aktualisiert sind, veraltete Pakete mit neueren Versionen ersetzt werden und die notwendige Software installiert ist. Ebenfalls aktualisieren wir die RasPi Firmware.

Neben den Libraries (Für die Anwendung benötigt) holen wir uns via „wget“ zwei weitere Pakete aus dem Netz und installieren diese.

  • GC-Flasher – Zum Aufspielen bzw. aktualisieren der RaspBee Firmware
  • deConz – Tool zur Konfiguration und Steuerung unseres ZigBee Netzes
Da unser Funkmodul über UART (Universal Asynchronous Receiver/Transmitter) mit unserem Raspberry Pi kommuniziert, dieser aber durch das Betriebssystem belegt ist, müssen wir noch die Konfiguration für das Serial Interface anpassen. Hierzu editieren wir zwei Dateien mit dem Editor Nano.

  • /boot/cmdline.txt – Wir deaktivieren hier die Ausgabe auf Serial
  • /etc/inittab – Wir verhindern das uns getty beim booten eine Ausgabe auf Serial  bindet
Aus der Datei entfernen wir „console=ttyAMA0,115200“ und falls vorhanden „kgdboc=ttyAMA0,115200“ und speichern wie immer bei nano mit STRG+X, Y und ENTER. Hier ein ist/soll Beispiel:
Dann entfernen wir noch die getty Serial Ausgabe durch das Auskommentieren einer Zeile (voranstellen eines #) aus der /etc/inittab
Der Zeile „T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100“ fügen wir wir einfach am Anfang ein # um diese auszukommentieren, bei mir ist das die letzte Zeile in der Datei. So sollte das Ergebnis aussehen. Gespeichert wird wieder mit STRG+X, Y und ENTER.

Software einrichten

Das Problem bei deCONZ ist das es meines Wissens keinen Dienst hat sodass, um das Webinterface verwenden zu können das Tool als Anwendung auf dem Desktop gestartet sein muss. Daher müssen wir erst via raspi-config den Start-Modus unseres Mini-Computers auf den Desktop umstellen und dann einen Autostart Eintrag für deCONZ erstellen.

dekstop-login

Dort wählen unter „3 Enable Boot to Desktop/Scratch“ die Option „Desktop Log in as user ‚pi‘ at the graphical desktop“ und verlassen das Tool über Finish. Ein reboot ist erst mal nicht notwendig.

Jetzt müssen wir noch einen Autostart für die Anwendung einrichten, dafür erstellen wir im Home unseres Pi Benutzers ein Verzeichnis für die Autostart Dateien und hinterlegen das Script für den Autostart.

Der Inhalt der Datei „deCONZ.desktop“ sieht wie folgt aus und definiert welche Anwendung automatisch nach dem Laden des Desktop gestartet wird. In unserem Fall ist es ein Shell Script das wiederum die Anwendung startet. Speichern wie immer bei Nano mit STRG+X, Y und Enter.

Das Tool liefert hat bereits alle notwendigen Scripte unter „/usr/bin“ installiert sodass wir uns um nichts weiter kümmern müssen. Nach einem Neustart eures Raspberry Pi könnt ihr nun entweder mit angeschlossenem Monitor, Tastatur und Maus die Konfiguration vornehmen, oder via Webinterface (von mir bevorzugt). Hierzu öffnet ihr euren Browser und gebt folgendes ein:

  • http://raspberrypi              oder die IP-Adresse eures RasPi
  • http://<IP Adresse>           also zB.

Falls ihr das Webinterface nicht direkt erreicht wartet ein paar Minuten ab und startet den RasPi dann noch mal neu (sudo reboot), die Start Skripte laden unter Umständen neue Firmware  und Aktualisierungen beim ersten Start.

Die Standard Login Daten für das Webinterface sind:

  • Benutzer: delight
  • Passwort: delight
deConz-login webapp_control6

Sobald ihr nun euer Vorschaltgerät oder eure ZigBee Geräte mit Strom versorgt tauchen diese im Gateway auf und ihr könnt direkt loslegen eure Raspberry Pi Lichtsteuerung zu realisieren.

Viel Spaß!