Ambilight mit LibreElec

Veröffentlicht von Torben am

Weihnachten 2020 – ich habe ein Set aus diversen Bauteilen und einigen PDF-Dateien bekommen, aus dem man ein Ambilight kreieren kann. Nun, man kann nicht behaupten, ich hätte mir sowas nicht gewünscht – im Gegenteil. Hatte da Bock drauf.

Das hier ist übrigens nur ein Erfahrungsbericht, der findige Bastler kann es aber sicherlich auch als Hilfestellung nutzen 🙂

Die Basis für das Unterfangen war die folgende Anleitung: http://powerpi.de/ambilight-fuer-jedes-hdmi-geraet-die-ultimative-schritt-fuer-schritt-anleitung/

Geile Anleitung, man kann zu 71,59% danach vorgehen! 😀 Leider sind manche Quellenangaben nicht mehr aktuell und auch nicht das genannte OpenElec. Keine Kritik, wer hält sowas schon aktuell… Während man es schreibt, gibt es auf Github doch schon wieder x neue Versionen.

Also, anstatt OpenElec habe ich den Fork LibreElec genommen. Als zweite Software wird Hyperion genommen. In der Anleitung wird ein Skript zum Download genutzt, es ist aber direkt als Plugin in der Repo enthalten und sollte auch darüber installiert werden. Allerdings gibt es mittlerweile eine neue Version, Hyperion.NG. Auch wenn es noch in der Alpha ist, läuft es schon sehr gut. Das installiert man allerdings via Skript und hält es im eigenen Webinterface aktuell. Wie man das macht, ist im Forum beschrieben: https://hyperion-project.org/threads/howto-install-hyperion-ng-on-libreelec-x86_64-rpi-inoffiziell-unofficially.10463/

Der Vorteil am Hyperion.NG ist, dass man zum Konfigurieren nicht mehr das Java-Tool benutzen und dann die Config hochladen muss. Man kann das bequem per Webinterface machen. Auch kann man dort schnell eine zweite Instanz aufziehen – für mich interessant, weil ich neben den LED-Streifen hinterm TV auch mit DIYHUE spielen und damit ansteuern möchte (dazu später mal mehr).

Also, der Spaß fängt mit nem Haufen Geraffel an – die genaue Einkaufsliste habe ich von der o.g. Anleitung. Ich habe allerdings nen WS2812B LED Stripe. Der hat nur einen Datenkanal – im Hyperion.NG kann man den PIN am Rasperry dafür auswählen, beim alten Hyperion musste ich ihn hart ergoogeln (GPIO18).

Geraffelsammlung – Tisch voller Sachen…

Da lagen also:

  • Raspberry Pi 3
  • Mikro SD-Karte
  • Netzteil 5V 10A
  • WS2812B LED-Streifen
  • HDMI-Splitter
  • HDMI-Converter
  • Video-Grabber
  • Kabel, Adpter, noch mehr Kabel und so…
  • Ein Netzteil zum Testen, Breadboard, Kabel und Krokoklemmen (ich löte so schon ungerne, dann muss ich das nicht auch noch beim Testaufbau machen…

Das LibreElec habe ich zuvor auf die SD-Karte gepresst. Dafür kann man sich gemütlich ein Image-Installer runterladen. Nach der Anleitung kamen dann ein paar Änderungen an der Config-Datei mit rein und ab gings in den Pi. Netzwerk und Co. konfiguriert man beim First Boot – Monitor, Tastatur und Maus können dafür hilfreich sein.

Tja, und los ging der Rotz… Äh… Spaß:

LED-Streifen

Bild 3 von 8

Für den Anschluss am Pi habe ich mich noch dieser Anleitung bedient, zuvor hatte ich noch keinen dieser kleinen Kerlchen in der Hand: https://tutorials-raspberrypi.de/raspberry-pi-ws2812-ws2811b-rgb-led-streifen-steuern/

Ich habe mit der älteren Version vom Hyperion angefangen, Hyperion.NG habe ich erst später getestet – und ich wollte mich möglichst an die Anleitung halten. Also das Config-Tool hier heruntergeladen und zusätzlich die Java Runtime installiert: https://sourceforge.net/projects/hyperion-project/

Ich kann nur empfehlen, einmal vorher eine Config mit dem internen Grabber zu bauen und sich ein paar Fotos oder ein kleines Video auf den Pi zu drücken. Dann kann man erstmal intern testen und den Startbereich (LED-Anfang) konfigurieren. Im Grunde hilft hier die Anleitung ganz gut – auch was das Abzählen der LEDs angeht usw. Bei mir sah es dann in etwa so aus:

Und das Ergebnis konnte sich, zumindest auf dem Tisch, schon mal sehen lassen (das ist jetzt ohne Ambi, nur mit Light):

Tja, nu musste ich den ganzen Kram mit der Rückseite vom Fernseher verheiraten… Auch eine sehr dankbare Aufgabe. Dafür habe ich mir noch folgendes gedruckt:

  • Kleine Verteilerdose für die Kabel und ein paar Lüsterklemmen (+, -, Daten)
  • Rasperry Häuschen
  • Kabelhalter zum Aufkleben und mit Loch für Kabelbinder

Ein Zuhause für den Pi - Lüfter kam dann auch noch

Bild 1 von 4

Am Fernseher habe ich den ganzen Kram dann mit kleinen Magneten befestigt, die ich noch liegen hatte (zwei gegenpolige Plättchen, die ich an den Fernseher bzw. die Geräte geklebt habe).

Streifen klebt schon mal

Bild 1 von 6

Interessant war definitiv noch die Integration des USB-Grabbers. Hierfür musste ich mir natürlich noch eine Config bauen, was aber nicht weiter wild war… Spannend war nur, dass offensichtlich das Format nicht zur Config passt. Hierfür musste ich das Format per Konsole anpassen.

v4l2-ctl --device /dev/video0 --set-fmt-video=width=720,height=480,pixelformat=YUYV
v4l2-ctl -v width=720,height=480,pixelformat=YUYV

Damit das auch nach einem Neustart noch ging, habe ich diese Optionen in den Hyperion Service mit eingebaut:

In /.kodi/addons/service.hyperion/system.d/service.hyperion.service
Vor "ExecStart" folgende Zeilen einfügen:

ExecStartPre=/usr/bin/v4l2-ctl --device /dev/video0 --set-fmt-video=width=720,height=480,pixelformat=YUYV
ExecStartPre=/usr/bin/v4l2-ctl -v width=720,height=480,pixelformat=YUYV

Und fertig sieht das dann so aus:

Das nächste Projekt ist dann, dass ich auch meine DIYHUE mit einbinde, die ich nebenbei noch baue. Mehr dazu bald in nem anderen Blug.

Einige Tage später………….

Ich schalte abends das Geraffel ein, freue mich auf Netflix und was ist? Der Hyperion Dienst schmiert ständig ab… Alles neu gestartet (hab dazu alle Geräte an einer Funksteckdose) und es lief eine gewisse Zeit. Irgendwann fing es wieder an, aber nur für einige Minuten. Also, Laptop an, per SSH rauf auf das Teil, Hyperion gekillt und manuell neu gestartet – wer die oben verlinkte Anleitung befolgt, hat hierfür bereits ein paar praktische SH-Skripte erstellt. Zu sehen war, dass nach einigen Sekunden der Grabber ausstieg und nicht mehr erkannt wurde. Für mich ein Hinweis auf zu geringen Strom am USB-Port.

Also, was braucht der ganze Kram eigentlich. Habs mal gemessen:

  • Grabber: Direkt nach dem Anschließen (im inaktiven Zustand, ohne Verarbeitung eines Signals) brauchte das Ding zwischen 0,5 und 0,6A – also für einen normalen USB 2 Port schon bedenklich (max 0,5A, bei USB 3 max 0,9A). Der Pi musste das also stabil leisten.
  • Konverter: Das Ding brauchte nach dem Start zwischen 0,6 und 0,7A (hängt ja aber nicht am Pi).
  • Splitter: ca. 0,7A (hängt ja aber auch nicht am Splitter)
  • Raspberry Pi 3: zwischen 0,5 und 1,1A

So, nun wissen wir, dass der Grabber für den Pi eigentlich schon zu viel Strom zieht. Schön, dass es einige Tage funktionierte. Irgendwann hätte man sich wohl den Pi gebraten. Also Stromversorgung neu überdacht…

Ich hatte noch einen USB-Hub liegen, mit einem 3A Netzteil. Da alle Bauteile zusammengerechnet aber schon bei ca. 3A liegen, habe ich davon abgesehen auch den Pi am Hub anzuschließen. Also landeten Grabber, Konverter und Splitter auf dem Hub und den Hub hab ich dann am Pi angeschlossen (zwecks Signal vom Grabber natürlich). Der Pi hat nun die Ehre alleine am Netzteil fürs iPad zu hängen.

Anekdote dazu: Startet der Pi andauernd strotz ausreichendem Strom neu, tauscht mal das USB-Kabel. Es war schön dick, somit implizierte ich eine gute Schirmung und dicke Adern, er bootete aber nicht. Ein anderes Kabel tat es dann…

Und noch ein Tipp: LASST DAS mit kleinen, nervigen Magneten! Der Mist fiel, obwohl es kräftigte Neodym Magnete sind, ständig ab. Noch schlimmer wurde es, nachdem ich den gesamten Kabelbaum gebündelt hatte. Also habe ich mir eine Holzplatte genommen, sie mit schwarzer Folie beklebt und an zwei der Vesa-Halterungen angebracht. Darauf habe ich dann meine Komponenten geschraubt bzw. geklebt. Das betet nun auch kein Pastor mehr ab… Und so siehts nun aus, es fehlt nur noch ein kleiner Kabelschlauch oder so, damit man den bunten Kabelbaum am Fuß nicht so sieht:

Ans Brett genagelt, den Rotz!

1 Kommentar

Ambilight mit LibreElec Teil 2 – EnjoyTure@Leipold.zone · 01.02.2021 um 20:05

[…] meinem Post Ambilight mit LibreElec habe ich beschrieben, welche Teile benötigt werden, wie alles grob zusammengepuzzelt wird, wie […]

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert