Aus Raspberry Pi Geek 12/2017

RasPi-Mediacenter mit Ambilight im Eigenbau (Seite 2)

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.

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.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben