Listing 2
$ java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode) $ java -jar HyperCon.jar
In der Anwendung ändern Sie zunächst den Typ auf Lightpack. Daraufhin erscheint darunter das Eingabefeld Serial # (Abbildung 3). Diese Seriennummer entspricht nicht der auf der Rückseite des Steuergeräts aufgedruckten Ziffernfolge; stattdessen müssen Sie das Serial im Kernel-Log des Raspberry Pi nachschlagen (Listing 3). Das funktioniert allerdings nur, wenn Sie das Lightpack-Steuergerät vorher per USB mit dem RasPi verbunden haben.

Abbildung 3: Mit HyperCon erstellen Sie im Handumdrehen eine Konfigurationsdatei für den Hyperion-Dienst.
Listing 3
$ dmesg [...] May 19 13:41:05 homie kernel: [ 1.001954] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=220 May 19 13:41:05 homie kernel: [ 1.001955] usb 1-3: Product: Lightpack May 19 13:41:05 homie kernel: [ 1.001956] usb 1-3: Manufacturer: lightpack.googlecode.com May 19 13:41:05 homie kernel: [ 1.001957] usb 1-3: SerialNumber: 12345678901234 [...]
Nach dem Eintragen der Seriennummer reduzieren Sie die Anzahl der LED-Streifen auf 10. Dazu tragen Sie unter LED Aufbau zunächst 4 LEDs horizontal ein, dann je 2 LEDs links und LEDs rechts sowie eine Untere Lücke von ebenfalls 2 LEDs. Die restlichen Werte übernehmen Sie. Über Speichern sichern Sie die getroffenen Einstellungen für spätere Änderungen auf der Festplatte ab.
Jetzt erstellen Sie mit einem Klick auf Generiere Konfiguration für Hyperion die eigentliche Konfigurationsdatei, speichern Sie als hyperion.config.json im Home-Verzeichnis und kopieren sie dann mit Root-Rechten nach /etc/hyperion/ (Listing 4, erste Zeile). Dann starten Sie den Hyperion-Dienst neu (zweite Zeile).
Nun sollten alle LEDs aufleuchten und in mehreren Farben blinken. Das Farbenspiel signalisiert, dass Hyperion erfolgreich mit Lightpack kommuniziert. Damit der Dienst in Zukunft automatisch beim Systemstart lädt, aktivieren Sie ihn noch in Systemd (Listing 4, letzte Zeile).
Listing 4
$ sudo cp ~/hyperion.config.json /etc/hyperion $ sudo systemctl restart hyperion $ sudo systemctl enable hyperion
Sollte der Dienst sich nicht sofort starten lassen, liegt das eventuell an einer falschen Einstellung in der Konfigurationsdatei. Prüfen Sie in hyperion.config.json, ob HyperCon die Effekte auch in /usr/share/hyperion/effects/ sucht und nicht nur unter /storage/hyperion/effects (Listing 5).
Listing 5
// EFFECT PATH
"effects" :
{
"paths" :
[
"/storage/hyperion/effects",
"/usr/share/hyperion/effects"
]
},
Video-Grabbing
Noch passen die Farben der LEDs nicht zum Bildschirminhalt – dazu muss die Software das Videosignal auswerten. Für einen Mediacenter-RasPi mit einer Kodi-Installation gibt es für diesen Zweck Addons wie Boblight [8] oder Ambibox [10]. Sie analysieren das von Kodi gelieferte Videosignal und übergeben die Steuersignale an den Hyperion-Dienst.
Anstatt die Videosignale auf diesem Weg in der Anwendungssoftware abzugreifen, kann Hyperion auch direkt das Bild des X-Servers auswerten. Auf diese Weise unterstützt Ambilight sogar sämtliche Bildschirminhalte. Hyperion bringt dazu das Modul hyperion-x11 mit, das Sie zusammen mit dem X-Server starten. Dazu legen Sie im Ordner ~/.config/autostart/ die Datei hyperion-x11.desktop an und fügen den Inhalt von Listing 6 ein.
Nach einem Neustart des Systems reagieren die LEDs bereits auf Veränderungen des Bildschirminhalts. Bewegen Sie zum Ausprobieren einfach ein (nicht zu großes) Fenster mit möglichst hellem Hintergrund auf dem Desktop hin und her, etwa einen Dateimanager.
Listing 6
[Desktop Entry] Version=1.0 Encoding=UTF-8 Name=Script Type=Application Exec=hyperion-x11 Icon= Terminal=false StartupNotify=false Hidden=false GenericName= GenericName[en_US]=
Optimierungen
Der schwierigste Teil der Konfiguration besteht darin, nun im Bereich "leds" der Konfigurationsdatei /etc/hyperion/hyperion.config.json die Anordnung und Position der LEDs zu definieren. Der Eintrag für eine einzelne LED (beziehungsweise im Fall von Lightpack für einen LED-Streifen) sieht so aus wie in Listing 7.





