tas2580
Blog über Webentwicklung

Ambilight mit dem Raspberry Pi

tas2580  

Mit einem Ambilight kann man das Fernseherlebins verbessern, allerdings bekommt man Ambilight nur in recht teuren TV Geräten. Mit einem Rasperry Pi und einem LED Streifen kann man Ambilight recht einfach selber bauen und das für jedes TV Gerät oder für jeden Computermonitor. Das Bild kann dabei von einem beliebigen Computer im Netzwerk kommen, das Bild vom internen TV Receiver wird dabei allerdings nicht erfasst.

Hardware besorgen

Zu erst benötigt man natürlich einiges an Hardware, bis auf die LEDs ist das alles nicht all zu teuer. Den Rest sollte der gut sortierte Bastler eh irgendwo rumliegen haben. Da die größten Kosten auf die LEDs fallen hängt der Preis stark von der Größe des Fernsehers, und den damit benötigten LEDs ab, mit ca. 100€ (ohne Raspberry Pi) sollte man aber gut hinkommen.

Für das Ambilight

  • WS2801 LED Stripe
    Wichtig ist, dass man einen Stripe mit WS2801 Chipsatz wählt, theoretisch funktionieren auch andere Modelle, WS2801 sind aber dank ihrer Geschwindigkeit bestens geeignet. Wie viel man davon braucht hängt von der Größe des Fernsehers ab. Spritzwassergeschützte Stripes haben den Vorteil, dass die Leiterbahnen isoliert sind und nicht so leicht beschädigt werden.
  • 5V Netzteil
    Pro Meter LED-Stripe sollte das Netzteil ca. 10W Leistung bringen. Wenn man ein Netzteil mit ausreichend Leistung benutzt kann man das Rasperry Pi auch mit dran hängen.
  • Kabel (optional)
    Oft sind an den LED Stripes schon Kabel an den Enden angelötet die man zum verbinden der Ecken verwenden kann. Zum Anschluss an den GPIO Ports am Rasperry Pi sollte man aber Kabel mit passenden Steckern verwenden.
  • Schrumpfschlauch (optional)
    Geht auch ohne, aber mit Schrumpfschlauch wird es schöner.
  • Eckverbinder (optional)
    Ich habe stattdessen einfach Kabel angelötet, für Leute die nicht so gerne löten, sind die Eckverbinder aber eine gute alternative.
  • Acrylglas Platte (optional)
    Falls man die LEDs nicht direkt an den Fernseher kleben möchte.

Rasperry Pi

Wer schon ein Rasperry Pi als Mediacenter benutzt kann das Ambilight direkt daran anschließen. Wenn man seine Medien von einem anderen Computer aus abspielen möchte braucht man zum ansteuern des Ambilights ein extra Rasperry Pi, am besten man kauft direkt ein Komplettset dann hat man alles was man benötigt.

LEDs anbringen

Man fängt entweder in einer Ecke, oder in der Mitte unten an den Stripe zu verlegen und geht dann einmal komplett rum. Wo man anfängt kann später eingestellt werden, man sollte also da anfangen wo sich das Kabel später am besten verlegen lässt. Die LEDs haben eine vorgegebene Richtung die man einhalten muss, auf den meisten Stripes ist ein Pfeil aufgemalt der einem die Richtung anzeigt.

LEDs auf Acrylglas Platte
LEDs auf Acrylglas Platte.
Direkt am Fernseher

Die LEDs kann man direkt an die Rückseite des Fernsehers kleben, allerdings haben die meisten Fernseher keine glatte Rückwand was das anbringen der LEDs erschwert. Erfahrungsgemäß kleben die Stripes auch nicht besonders gut am Fernseher, hier sollte man also mit Sekundenkleber oder doppelseitigem Klebeband nachhelfen damit sich die LEDs später nicht wieder lösen. wenn man gut positionierte Lüftungsschlitze hat kann man dort die LEDs recht gut mit Kabelbindern fixieren.

Auf Acrylglas Platte

Alternativ kann man die LEDs auf eine Acrylglas Platte kleben die man später an der VESA Halterung am Fernseher befestigt. Wenn man eine Wandhalterung benutzt wird die Platte einfach zwischen Wandhalterung und Fernseher gesteckt. Die Platte sollte ein wenig kleiner wie der Fernseher sein, da man sie sonst sieht wenn man schräg auf den Fernseher schaut, zu klein ist aber auch nicht gut da die LEDs sonst nicht am Bildrand sitzen. 2cm Abstand zum Rand liefern ein gutes Ergebnis. In der Mitte der Platte sollte man sich dort wo später die Kabel eingesteckt werden ein Loch raus schneiden um besser an die Buchsen im Fernseher zu kommen, außerdem benötigt man vier Löcher für die VESA Halterung.


Wenn die LEDs befestigt sind müssen die Ecken verbunden werden, dazu kann man entweder Eckverbinder verwenden oder die Kabel direkt anlöten. Beim löten muss man aufpassen, dass die ICs auf dem LED Stripe nicht zu heiß werden. Am Anfang des Stripes wird dann noch ein 4-Adriges Kabel für das Singnal und die Stromversorgung angelötet. Am besten baut man hier eine Steckverbindung ein falls man den Fernseher später man bewegen möchte.

LEDs anschließen

Das Rasperry Pi liefert zwar eine 5V Stromversorgung, die allerdings bei weitem nicht ausreicht um die LEDs mit ausreichend Strom zu versorgen. Deshalb wird ein extra Netzgerät für die LEDs benötigt. Das Netzgerät sollte pro Meter LED Stripe 10W Leistung liefern.

LED Anschlussplan
WS2801 LED an Rasperry Pi Anschlussplan

Auf dem LED Stripe gibt es neben der Stromversorgung zwei Anschlüsse für die Daten, hier muss DI am Stripe mit PIN 19 (MOSI) am Rasperry Pi und CI mit PIN 23 (SCKL) am Rasperry Pi verbunden werden. Außerdem muss man die Masse synchronisieren da die LEDs sonst später flackern. Man muss also noch einen Masse Pin vom Rasperry Pi (z.B. PIN 9) mit der Masse des Netzgeräts verbinden. Alternativ kann man auch das Rasperry Pi an das selbe Netzgerät an dem auch die LEDs hängen anschließen. Wer auf Nummer sicher gehen will, macht einfach beides.


Nachdem alles angeschlossen ist sollte keine LED leuchten und man kann mit der Installation der Software weiter machen.

Software installieren

Als Software wird das Open Source Projekt Hyperion verwendet. Die Software kann neben Ambilight auch genutzt werden um über ein JSON API die LEDs farbig leuchten zu lassen, oder Lichteffekte abzuspielen. Zum debuggen und auch für die spätere Steuerung gibt es eine Android App.

Zu Konfiguration und Installation der Software benötigt man einen Linux/Mac/Windows PC mit aktueller Java Version auf dem man HyperCon von hier runter lädt und dann einfach ausführt. Jetzt sollte sich ein Fenster öffnen in dem man sein Ambilight remote konfigurieren kann. Die Software installiert auch Hyperion auf dem Rasperry Pi automatisch und nimmt dort alle nötigen Änderungen vor. Man muss also am Rasperry Pi direkt nichts machen.

HyperCon
HyperCon zur remote Konfiguration des Ambilights.

Zuerst muss man angeben welchen LED Typ man verwendet, hier wählt man oben "WS2801" aus und gibt als "Ausgabe" "/dev/spidev0.0" an, verdie Baudrate kann man bei "1.000.000" belassen. Die RGB Byte Reihenfolge hängt vom verwendeten LED Stripe ab, bei den oben verlinkten LEDs sollte es "RBG" sein, das muss man später einfach ausprobieren indem man jede Farbe einmal sendet und dabei schaut ob die LEDs richtig leuchten. Jetzt muss man noch die Anzahl der LEDs an jeder Seite angeben, falls man unten eine Lücke gelassen hat kann auch das angegeben werden. Der LED Anfang muss so verschoben werden, dass LED 0 dort sitzt wo die Kabel vom LED Stripe zum Rasperry Pi gehen.

Im Tab Grabber muss man falls man das Ambilight an dem Raspberry Pi angeschlossen hat das auch als Mediacenter verwendet wird den Internen Grabber aktivieren um das Bild das auch über HDMI ausgegeben wird an das Ambilight zu senden. Falls Videos auf einem anderen Computer abgespielt werden und das Raspberry Pi nur für das Ambilight verwendet wird kann man den Internen Grabber abschalten.

Jetzt kann die Konfiguration generiert und Hyperion installiert werden. Dazu wechselt man in HyperCon in den Tab SSH und gibt dort die SSH Zugangsdaten zum Rasperry Pi an. Falls man OpenElec als Mediacenter Software verwendet kann man das bei der Verbindung angeben falls man Rasbian verwendet muss "Alle Systeme (nicht OE/LE)" ausgewählt werden. Mit dem Button "Connect" sollte jetzt ein Verbindung zum Rasperry Pi aufgebaut werden. Wenn die Verbindung steht kann man über den Button "Inst./Akt. Hyperion" Hyperion installieren, das dauert ein paar Minuten, in der Zeit reagiert HyperCon nicht, hier muss man einfach etwas Geduld haben. Wenn die Installation abgeschlossen ist kann mit dem Button "Senden" die Konfiguration die man erstellt hat übertragen. Jetzt kann man mit dem Button "Starte" das Ambilight starten, es sollte der Starteffekt abgespielt werden. Über das Farbrad in HyperCon kann man jetzt verschiedene Farben senden in denen die LEDs dann leuchten sollen. Auch mit der Android App sollte sich das Ambilight jetzt bedienen lassen. Wenn man den Internen Grabber benutzt sollte das Ambilight jetzt auch auf das über HDMI ausgegebene Bild reagieren.

Ambilight konfigurieren

Da jeder LED Stripe anders ist muss man die Farben individuell anpassen. Dazu lässt man ein weißes Bild anzeigen oder sendet weiß per Android App oder HyperCon an das Ambilight. Nun baut man mit HyperCon eine Verbindung auf und wechselt in den Tab "Verarbeitung", dort kann man den Weißwert für jeden Farbkanal einstellen. Am besten macht man dazu "Fortlaufend senden" an um seine Änderungen direkt zu übernehmen. Jetzt muss man einfach so lange mit den Werten probieren bis man ein möglichst gutes Weiß hat. Wenn man mit den Einstellungen zufrieden ist muss man nochmal eine Konfiguration generieren und übertragen da die Einstellungen bei einem Neustart verloren gehen. Bei Youtube gibt es eine ganze Reihe Testvideos mit denen man neben den Farbwerten auch die Position der LEDs überprüfen kann.

Im Tab "Extern" kann man eine Kodi Überwachung einrichten und so das Ambilight je nach dem was Kodi abspielt ein oder aus schalten. Dazu muss in der Kodi Konfiguration die Steuerung über Netzwerk aktiviert werden.

Bild an Hyperion senden

Wenn man seine Videos nicht auf dem Rasperry Pi abspielt das an dem Ambilight angeschlossen ist, muss man das Bild dort hin senden damit die LEDs passend zum Bild leuchten. Dafür gibt es für verschiedene Betriebssysteme verschiedene Lösungen. Hier muss man auf die Priorität achten mit der man sendet, um so niedriger der angegebene Wert ist um so höher ist die Priorität mit der das Bild verarbeitet wird. Wenn man also irgendwo mit einer niedrigeren Priorität als im Grabber eingestellt sendet wird das statt das Bild vom Grabber verarbeidet.

Windows

Für Windows gibt es Hier ein Programm mit dem man das Bild von Windows an das Ambilight senden kann.

Linux

Mit dem Konsolentool hyperion-x11 kann das Bild von einem Linuxrechner an das Ambilight gesendet werden. Gestartet wird es mit:

hyperion-x11 -a {HYPERION_IP}:{PORT} -p 100
Mit dem Parameter a muss die IP Adresse von Hyperion angegeben werden, der Port muss wie bei der Hyperion Konfiguration bei "Proto Server TCP Port" im Tab "Extern" angegeben werden (Standard 19445). Der Parameter p legt die Priorität fest. Eine Übersicht mit allen Parametern bekommt man mit --help

Android

Auch für Android gibt es eine App die das Bild vom Android an das Ambilight sendet.


Ähnliche Beiträge


Kommentare


Bitte warten ...

Kommentar schreiben

URLs werden automatisch umgewandelt.
[b]DEIN TEXT[/b] für Fett gedruckt
[quote]DEIN ZITAT[/quote] für Zitate
[code]DEIN CODE[/code] für Code
captcha