Raspberry Pi Ambilight für alle Geräte mit OSMC selber bauen

14. März 2017
5759 Views
10 Comments

Neuere TV’s haben das sog. Ambilight, wobei sich die Beleuchtung den Bildfarben anpassen. Mit unserem eigenem Raspberry Pi Ambilight können wir diesen Effekt nachstellen. Und es kommt noch besser: Wir können dabei jegliches Gerät, welches einen HDMI Ausgang hat, anschließen und den Farbeffekt bewundern.

In diesem Tutorial schließen wir zunächst alle Komponenten sachgemäß an und konfigurieren dann das Betriebssystem OSMC so, dass das Raspberry Pi Ambilight nach unseren Wünschen funktioniert. Anschließend können DVD-Player, Heim-PC, die Konsole usw. das Selstbau Ambilight nutzen.

Besonders eindrucksvoll ist dieser Effekt bei Blockbustern, wenn der Raum abgedunkelt ist und auch beim Fußball hat es einen schönen Nebeneffekt.

 

Raspberry Pi Ambilight Zubehör

Ein TV mit Ambilight und anderen Features kostet einiges mehr als vergleichbare Geräte. Der Raspberry Pi bietet dazu eine kostengünstige Alternative, welche noch einiges mehr kann. Um das Raspberry Pi Ambilight nachzubauen, sind folgende Teile nötig:

Wie lang der WS2801 LED Streifen sein sollte kannst du berechnen, indem du die vier Kanten deines Fernsehers addierst. Falls dein TV unten ein breiteres Standbein hat, kannst du diese Länge anziehen. Bei meinem 42″ Fernseher waren ungefähr 2,80 Meter LED Streifen nötig. Bei einem 56 Zoll Fernseher wären ca. 3,80 bis 4 Meter nötig. Die Streifen lassen sich einfach durchtrennen und wieder verlöten.

 

Vorbereitung – Aufbau des WS2801 LED Streifen

WS2801 RGB LED Streifen

Zwischen den Lötstellen kann der LED Streifen durchtrennt werden.

Bevor wir die Software auf den Raspberry Pi aufspielen, kleben wir zunächst den LED Streifen an den TV, worauf ich gleich näher eingehe. Vorher kannst du deinen WS2801 LED Streifen noch testen. Sofern der kurze Test funktioniert hat bzw. du ihn überspringen möchtest, beginnen wir mit dem Aufbau.

Zunächst müssen wir den selbstklebenden WS2801B Streifen am TV anbringen. Drehe dazu den Fernseher um und fange an einer Ecke an (z.B. links unten) und bringen den Streifen horizontal entgegen dem Uhrzeigersinn an. Sobald wir an der Kante angelangt sind, schneiden wir den LED Streifen an der markierten Stelle zwischen den Lötpunkten durch. An der angekommenen (rechten) Ecke setzen wir den Streifen wieder an und bringen ihn diesmal vertikal nach oben an. Gleiches machen wir für die obere und linke Kante. Achte aber darauf, dass du den LED Streifen nicht aus versehen verkehrtherum nimmst, da das Signal nur in eine Richtung übertragen werden kann (i.d.R. haben die LED Streifen einen Pfeil als Markierung oder IN/OUT Hinweise).

Der Rand deines Fernsehers sollte nun vom LEDs bedeckt sein:

Allerdings sind wir noch nicht fertig. Die durchgeschnittenen Enden müssen verlötet werden. An jeder Ecke müssen die 4 Lötstellen entsprechend miteinander verbunden werden (GND an GND, usw.). Aber Achtung: Das Ende des Streifens darf nicht an den Anfang verbunden werden!

Übrigens: In welche Richtung du den WS2801 LED Streifen anbringst und wo du beginnst, kannst du später noch einstellen und ist daher nicht entscheidend. Es bietet sich z.B. an, statt in einer Ecke, unten in der Mitte anzufangen (wie im Video zu sehen), da dann später der Raspberry Pi mittig am Fernseher platziert werden kann.

 

Anschluss des Raspberry Pi’s

Nun schließen wir den Raspberry Pi und das Schaltnetzteil noch an. Lies dir dazu die ausführliche Anleitung mit Hinweisen zum WS2801 LED Streifen durch. Sobald das Netzteil angeschlossen ist (vom Strom trennen!), schließen wir die GPIOs des Raspberry Pi’s an:

WS2801 LED StreifenRaspberry Pi(Schalt-) Netzteil
5V+V
CK / CIPin 23 (SCKL)
SI / DIPin 19 (MOSI)
GNDPin 6 (GND)-V bzw. COM

Das Netzteil wird dabei an den 5V Anschluss desWS2801 Streifens angeschlossen, sowie an den GND Anschluss, welcher ebenfalls am Pi angeschlossen ist.

Raspberry Pi WS2801B RGB LED Stripe Schaltplatine

Die Belegung der GPIOs findest du hier.

Achtung: Beim Arbeiten mit Netzspannung ist immer Vorsicht geboten, da diese tödlich sein kann! Führe alle Schritte mit Sorgfalt durch und lass dir ggf. von einem Elektriker helfen. Ich kann dafür keine Verantwortung übernehmen!

 

Nun fehlt nur noch der Anschluss des Videograbbers. Schließe diesen zunächst per USB an einen freien Port des Raspberry Pi’s an. Das andere Ende hat drei weibliche Cincheingänge (rot, weiß, gelb). Mit dem Male-Male Cinchkabel verbindest du den USB Videograbber an den HDMI2AV Konverter. Der Konverter braucht noch eine zusätzliche Stromverbindung per USB. Du kannst dafür ein externes USB Netzteil nutzen oder einen weiteren USB Port des Pi’s belegen.

Der HDMI Doppler wird an das eigentliche Gerät, wovon das Bild kommt, angeschlossen (Playstation, Konsole, TV oder Satelliten Receiver, usw.). Von den beiden ausgehenden HDMI Kabeln kommt eines an den Fernseher und das andere an den HDMI2AV Konverter.

Raspberry Pi Ambilight Verbindung

 

 

Vorbereitung – Raspberry Pi Ambilight Software

Die Basis der Raspberry Pi Ambilight Steuerung bildet das „Hyperion“ Projekt. Dieses kann auf gängigen Raspbian Versionen und weiteren Linux Distributionen installiert werden. Der Einfachheit halber nutzen wir eine frische Version von OSMC, wodruch wir den Raspberry Pi zusätzlich als Mediencenter nutzen können.

Dazu befolgen wir diese Schritte:

  1. Gehe auf die OSMC Download Seite.
  2. Klicke ganz unten auf „Disk Images“ und lade das neuste Release für „Raspberry Pi 2 / 3“. Entpacke es danach mit WinRar, 7Zip o.ä.
  3. Übertrage das heruntergeladene und entpackte Image (Dateityp: .img) auf deine micro SD Karte (hier zur Anleitung für Windows Nutzer).
  4. Nach Übertragung kannst du die Micro SD Karte in den Raspberry Pi stecken.
  5. Schließe HDMI des Fernsehers, Tastatur und Maus an den Raspberry Pi an und starte ihn (durch verbinden des micro USB Stromanschlusses).
  6. Nach kurzem Warten kannst du die Sprach-, Tastur- und Zeiteinstellungen festlegen.
  7. Lasse den Hostnamen auf „osmc“ und aktiviere SSH („SSH Service is enabled“). Akzeptiere anschließend die Lizenzbedingungen.
  8. Wähle das OSMC Theme (nicht Classic).
  9. Den Newsletter musst du nicht auswählen.
  10. Beende das Setup.
  11. Optimal: Wähle unter Programme -> My OSMC -> Network -> Wireless -> Enable Adapter dein WLAN aus und gib das Passwort ein. Sonst ist eine Verbindung per LAN Kabel mit deinem Netzwerk nötig (zumindest temporär).
  12. Finde unter Einstellungen -> Systeminfo -> Netzwerk -> IP-Adresse die lokale IP-Adresse des Raspberry Pi’s in deinem Netzwerk heraus (192.168.x.x).

 

Hyperion installieren

Ab jetzt werden die externen Peripheriegeräte nicht mehr gebraucht, da wir uns per SSH einloggen. In Windows geht dies am einfachsten per Putty (hier erklärt). Der Hostname ist „osmc“ (sofern du ihn nicht geändert hast) bzw. die IP Adresse, die du eben in Schritt 12 ausgelesen hast. Falls die Verbindung damit nicht funktioniert, obwohl sich der PC im selben Netzwerk befindet, musst du in deinem Router die interne IP Adresse (192.168.x.x) herausfinden.

Der Standard-Username ist osmc, ebenso wie das Passwort standardmäßig osmc ist.

Nach dem Login muss zunächst SPI aktiviert werden, wozu wir eine Datei bearbeiten müssen:

sudo nano /boot/config.txt

Am Ende der Datei fügen wir folgende Zeile hinzu:

Damit die Änderungen übernommen werden, muss der Raspberry Pi neu gestartet werden:

sudo reboot

Dabei wird die SSH Verbindung unterbrochen. Du musst dich erneut verbinden.

Wir überprüfen nun noch, ob der SPI Datenbus wirklich aktiviert wurde. Dafür geben wir ein:

ls /dev/spidev*

Es sollten nun die verfügbaren Pfade angezeigt werden. Falls nichts angezeigt wird, wurde SPI nicht aktiviert.

 

Die nächsten Schritte finden von unserem PC / Mac / Linuxcomputer statt. Wichtig ist, dass eine aktuelle Java Version installiert ist (auf dem PC, nicht auf dem Raspberry Pi), denn ohne dies können wir Hyperion nicht übertragen und konfigurieren.
Ist dies bereits der Fall, können wir das Hyperion Projekt als ausführbare Java-Datei (.jar) von hier herunterladen. Öffne anschließend die HyperCon.jar Datei. Es öffnet sich folgendes Fenster:

Raspberry Pi Ambilight Hyperion Konfiguration

Hyperion Konfigurieren

Auf der linken Seite befinden sich die Einstellmöglichkeiten. Oben befinden sich die verschiedenen Tabs, welche wir nun Schritt für Schritt durchgehen werden. Nach jeder Änderung solltest du deine aktuelle Konfiguration speichern. Dies geht, indem du unten auf „Speichern“ drückst und einen Speicherort wählst. Später kannst du die Einstellungen auch wieder importieren.

  1. Allgemein
    • Typ: WS2801
    • Ausgabe: /dev/spidev0.0
    • Baudrate: 1.000.000
    • Die Einstellungen zu der Anzahl der LED’s musst du individuell anpassen. Die Änderungen werden am großen Bildschirm angezeigt. Mit „LED Anfang“ kannst du die Start-LED verschieben. Achte darauf, dass die Richtung gespiegelt ist, da hier die Vorderseite gezeigt wird. Wir haben den LED Streifen entgegen dem Uhrzeigersinn angebracht, also wird er hier im Uhrzeigersinn angezeigt.
  2. Verarbeitung
    • hier brauchen wir vorerst nichts ändern. Dies kann ggf. später individualisiert werden.
  3. Grabber
    • deaktiviere den Internen Grabber
    • aktiviere den externen Grabber [V4L2]
      • Gerät: /dev/video0
      • Eingang: 0
      • Videoformat: PAL
      • 3D Modus: 2D
      • den Rest lassen wir vorläufig unverändert.
  4. Extern
    • keine Veränderung
  5. SSH
    • System: Alle Systeme (nicht OE/LE)
    • Ziel IP: diese findest du im OSMC Bildschirm unter Einstellungen -> Systeminfo -> Netzwerk -> IP-Adresse oder alternativ in deinem Router (beginnend mit 192.168…).
    • Port: 22
    • Benutzername: osmc
    • Passwort: osmc
Raspberry Pi Hyperion SSH Einstellungen

Nach dem erfolgreichen Verbinden per SSH, kann Hyperion installiert und gestartet werden.

Falls du ein anderes System als OSMC verwendest, kannst du hier die standardmäßig gesetzten Zugangsdaten der gängigen Systeme (XBMC, Raspbian, OpenELEC, etc.) einsehen.

Diese Einstellungen sind derweil nicht in Stein gemeißelt und können später noch verfeinert werden.

 

Drücke nun im Tab SSH auf Connect. Sofern die Angaben richtig sind und der Raspberry Pi verbunden ist, sollte keine Fehlermeldung erscheinen und der Buttontext sich auf Disconnect ändern. Wähle nun den Button „Inst./Akt. Hyperion„. Dieser Schritt wird etwas dauern und die GUI lässt sich zwischenzeitlich nicht bedienen. Schließe das Programm nicht!

Konfigurationsdatei übertragen

Nachdem die Installation fertig ist, können wir die Einstellungen senden. Speichere die Konfigurationsdatei dazu unten unter „Generiere Konfiguration für Hyperion“ an einem Ort deiner Wahl und drücke nun weiter oben unter „SSH – Sende Konfiguration“ auf Senden. Wenn du nun in die Konsole bzw. in Putty zurückkehrst, kannst du prüfen, ob die Datei auch wirklich übertragen wurde, da es manchmal der Fall ist, dass die Datei nicht erstellt wurde. Rufe dazu folgendes im Terminal auf:

ls /etc/hyperion

Sofern dir hier die Datei „hyperion.config.json“ angezeigt wird, ist alles in Ordnung und wir können fortfahren. Falls dies nicht der Fall ist, so müssen wir sie manuell anlegen. Führe dazu dies aus:

sudo nano /etc/hyperion/hyperion.config.json

Hier fügst du den Inhalt der vorher gespeicherten Datei ein. Die Datei kannst du mit jedem Texteditor öffnen und den Inhalt kopieren. Anschließend speicherst du mit STRG+O und beendest den Editor mit STRG+X.

 

Zum testen stoppen wir Hyperion nun noch im HyperCon Programm und starten es danach erneut. Die LEDs sollten anfangen zu leuchten. Durch das Auswählen einer Farbe und „Sende Farbe“ können wir bereits andere Farben anzeigen lassen. Teste mehrere Farben und versichere dich, dass diese stimmen. Falls dies soweit geklappt hat, können wir fortfahren und die eigentliche Funktionalität testen und falls du die Farbeinstellungen noch im Nachhinein bearbeiten willst, kannst du dies unter der Menükarte „Verarbeitung“.

 

Video Grabber testen

Nachdem wir wissen, dass die LEDs soweit funktionieren, müssen wir noch das Zusammenspiel aus USB Video Grabber testen. Dazu schließen wir den HDMI Verdoppler einmal an ein aktives HDMI Gerät an. Einer der ausgehenden Anschlüsse geht an den HDMI2AV Konverter und der andere in einen freien HDMI Anschluss des Fernsehers.

In Hyperion wählen wir per Rechtsklick auf dem abgebildeten Bildschirm die Option „Hole Bild vom Grabber…“

Hyperion Rechtsklick

Es sollte nun automatisch der Frame des angeschlossenen HDMI Geräts angezeigt werden. In meinem Fall habe ich den PC angeschlossen und bekomme folgendes zu sehen:

Wie dir vielleicht aufgefallen ist, ist am rechten und linken Rand ein schwarzer Streifen zu sehen. Das würde die Farben beeinflussen, weshalb ich in HyperCon unter dem Tab Grabber noch weitere Einstellungen vornehme (Entfernung Pixel links/rechts: +10) und meine Konfiguration erneut sende. Hole ich anschließend das Bild erneut, so ist der schwarze Rand verschwunden.

Nach diesem Test müssen wir Hyperion erneut stoppen und wieder starten. Anschließend wird sich das Raspberry Pi Ambilight dem Bild automatisch anpassen. Dabei spielt es keine Rolle, ob ein Blueray-Player, eine Konsole, der PC oder ein anderes HDMI-fähiges Gerät das Bild ausgibt.
Übrigens kannst du auch den Raspberry Pi als Eingabe verwenden (z.B. wenn du OSMC als Mediencenter nutzt). Dazu brauchst du den Videograbber nicht und aktiviert im Tab Grabber den internen Grabber.

Solltest du ein nicht bekanntes Problem haben, hilft oft ein Blick ins sehr ausführliche Wiki von Hyperion. Alternativ kannst du deine Frage hier, im Hyperion Forum oder auch im Github Forum stellen.

10 Kommentare

  1. Hey,

    danke fuer das feine Tutorial. Klasse Arbeit. Hoffe, dass ich demnaechst mal Zeit bekomme um es zu realisieren.

    Danke nochmal, cu

    Antworten
  2. Vielen Dank für Dein Tutorial. Wir wollten seit Langem ein Ambilight haben, ich war aber immer mit den Preisen der vorgefertigten Lösung unzufrieden.

    Das Basteln heute hat viel Spaß gemacht und nun haben wir ein tolles DIY Projekt.
    Habe aber auch Anmerkungen.

    1) Ganz am Ende erwähnst Du, dass man, wenn man den Pi mit OSMC auch als Wiedergabegerät verwendet, auf den externen Grabber etc. verzichten kann – ich habe den Satz irgendwie überlesen und erst heute gemerkt, dass ich die ganze Hardware gar nicht hätte bestellen müssen (Rückgabe zum Glück noch möglich)

    2) entweder habe ich auch das überlesen, oder Du hast nicht erwähnt, wie bzw. dass man das Netzteil selbst noch mit Strom versorgen muss; ich dachte schon, ich hätte durch falsches Anschließen die LED Leiste zerschossen, bis es mir irgendwann dämmerte, dass ich zusätzlich ein Stromkabel auf L/N setzen muss.
    (eigentlich logisch, aber da ich Schritt für Schritt nach der Anleitung vorgegangen bin, war es halt verwirrend)
    In meinem Fall habe ich das Kabel einer Verteilerdose abisoliert und an das Netzteil angeschlossen.

    Cheers!

    Antworten
    • Hallo Ben,
      danke für deine Anregungen. Zu 1) muss ich sagen, dass das Tutorial „für alle Geräte“ gedacht war, daher nur der kurze Hinweis am Ende.
      Bzgl. 2) wollte ich nicht zu viel Widerholungen bringen, da im anderen Artikel relativ genau auf den WS2801 RGB Streifen eingegangen wird.
      Trotzdem hoffe ich, dass es nun alles bei dir läuft 🙂

      Antworten
  3. Was ist denn wenn das HDMI Bild mit HDCP verschlüsselt?
    Klappt das dann noch mit dem HDMI Splitter, sollte doch eigentlich nicht oder?

    Antworten
  4. Super Tutorial, werde es heute Abend sofort ausprobieren und mein Feedback geben 🙂

    Eine frage habe ich schon im voraus. Es geht um die GPIO Belegung.
    MUSS ich Ground an PIN6 anschliessen oder geht das auch an irgendein
    GPIO „Ground“ (bsp. PIN 25).

    Antworten
  5. Hallo,
    in einem anderen Ambilight Tutorial wurde auch der Pi mit dem 50 Watt Netzteil versorgt, sodass kein extra USB-Netzteil mehr nötig war. Spricht da was dagegen? Würde ja etwas Geld und Kabelsalat sparen.

    Antworten
  6. Hallo,
    mal wieder ein super Tutorial! Vielen dank!
    Ich habe mir jetzt einen Fernseher zugelegt, welcher sogut wie alles intigriert hat (Netflix, Amazon Prime, Abspielen von Medien aus meinem NAS, etc.), daher habe ich keinen Input über den HDMI Anschluss und kann dein Tutorial leider nicht so bei mir nicht mehr anwenden.
    Gibt es auch eine Möglichkeit, dass Ambilight nachzurüsten, ohne ein HDMI Singal abzufangen?

    Antworten

Hinterlasse einen Kommentar

Deine Email Adresse wird nicht veröffentlicht.

Blog abonnieren

Abonniere Tutorials-RaspberryPi, um kein Tutorial mehr zu verpassen!