Ambilight mit dem Raspberry PI im Eigenbau
Selbstbau eines Ambilight mit dem Raspberry PI
Diese Seite beschreibt wie man relativ einfach ein richtig gutes Ambilight nachrüsten kann und zwar: Ambilight mit dem Raspberry Pi. Egal ob Fernseher, LED-TV, Computermonitor oder vom Sat-Receiver, der X-Box, Playstation bis zu der Steam-Machine…. es geht bei allem – sogar bei einem VPIN (Virtuellen Pinball) wie bei meinem ersten ambilight Nachbau… und das sieht sowas von gut aus.
Wer natürlich KODI als einzige Medienzentrale nutzt muss dann nicht mal das HDMI-Signal splitten sondern kann direkt den Raspberry PI als Mediacenter (Open Elec) nehmen.
Also es gibt natürlich das „Philips Ambilight“ oder auch Begriffe wie „Backlight“ bzw. „Boblight ambilight“ gehen in die Richtung… nur beschäftigt sich dieses Tutorial mit dem Raspberry Pi 2 in Verbindung mit OpenElec, WS2801 LED´s (also einzeln ansteuerbare LED´s) und Hyperion.
Am besten ihr lest erst mal die Anleitung kurz durch, dann erst anfangen zu bestellen und basteln 🙂
Wie ist Ambilight aufgebaut?
Also vom Prinzip ist das ganz einfach…
wenn Ihr nur den Raspberry PI mit KODI nutzt werden 3 PIN´s am Raspberry abgegriffen und damit steuert ihr die einzelnen LED´s an (und das ganze wird natürlich noch mit Spannung versorgt):
Wenn Ihr ein beliebiges HDMI-Signal habt (z.B. aus Mediacenter, vom PC, der Xbox/Playstation etc.).. also wie in meinem Fall den virtuellen Flipper (sprich ein PC) dann wird das HDMI-Signal gesplittet, in ein Analoges AV-Signal umgewandelt, geht mit einem USB-Grabber in den Raspberry PI und dann werden (wie oben) über die 3 PIN´s die LED´s angesteuert (inkl. Spannungsversorgung der Komponenten).
Wichtig ist: das ganze funktioniert nicht mit allen möglichen Komponenten.. wenn Ihr die oben rechts unter „Bauteile“ nehmt, seid ihr „save“ 🙂
Was benötigt Ihr?
Zusätzlich zu den Bauteilen noch: Lötkoblen, Lötzinn, Schere/Messer, ein bisschen Schrumpfschlauch und ggf. noch Kabelbinder und ein paar (Winkel)Leisten, wenn Ihr die LED´s nicht direkt am Gerät anbringen wollt und doppelseitiges Klebeband oder eine Kleberkartusche empfiehlt sich, wenn die LED´s nicht so toll kleben.
Bauteile:
Den Raspberry
Dann die Elektronik:
- Jumper Kabel
- 5V/12A 60W Netzteil
- 2A Glassicherungen und die entsprechenden Sockel dazu
- WS2801 RGB LED Streifen (Länge genau abmessen)
Was zum „grabben“:
Und Optional:
- Schrumpfschlauch-Sortiment
- Wireless USB Adapter (falls der Raspberry in´s W-Lan soll/darf)
Raspberry installieren und konfigurieren
Das System für den Raspberry ist OpenELEC. Aus meiner Sicht die performanteste Version, da hier nur das wesentliche enthalten ist.
Das System (Diskimage) könnt ihr hier herunterladen und anschliessend entpacken:
Wie bei meinem Bericht über die Raspberry PI Überwachungskamera würde ich die Mini-SD-Karte mit dem SD Formatter 4.0 formatieren:
Und das entpackte Image mit dem Win32 Disk Imager auf die Mini-SD-Karte spielen:
SD-Karten in den Raspberry PI stecken und schon könnt Ihr auch den Raspberry zum ersten mal neu starten (natürlich auch vorher mit einem LAN-Kabel an das Heimnetz hängen oder alternativ mit Tastatur, Maus & HDMI-Ausgang an einen Monitor hängen und einen USB-WLAN Stick konfigurieren (siehe auch weiter unten)).
Als erstes solltet Ihr auf dem Raspberry die Config.txt anpassen… da gibt es 2 Optionen:
- SD-Karte an Eurem Rechner noch mal anschliessen und da direkt die Config.txt mit einem Editor (z.B. Notepad++) editieren
- Mit einem Tool wie z.B. WINscp Euch mit der IP (z.B. 192.168.178.39) dem User (root), Passwort (openelec) verbinden und unter /flash/
Nun die „config.txt“ editieren und zwar am Ende einfach noch folgende Zeilen anfügen:
################################################################################
# Ambilight Modul aktivieren
################################################################################
dtparam=spi=on
################################################################################
# Stromstärke an den USB-Ports für den Videograbber erhöhen
################################################################################
max_usb_current=1
################################################################################
# RPI starten (ohne auf HDMI zu warten)
################################################################################
hdmi_force_hotplug=1
Das schaltet das Ambilight-Modul an, erhöht die Stromstärke an den USB-Ports für den Videograbber und lässt den Raspberry starten auch wenn noch kein HDMI-Signal anliegt.
Hyperion installieren
Hyperion ist ein schneller, schlanker und effektiver Weg die LED´s anzusteuern und das Ganze mit einem sehr guten Editor zu konfigurieren.
Am besten verbindet Ihr Euch mit dem Terminalprogramm Putty über das Netzwerk oder W-Lan mit Euren Raspberry PI und das geht folgendermaßen:
- IP-Adresse angeben: z.B. 192.168.178.39
- Username: root
- Passwort: openelec
Und schön könnt Ihr Befehle eingeben… das nutzen wir jetzt gleich aus um Hyperion zu installieren… am besten Ihr kopiert folgenden Befehl, fügt diesem im Putty-Fester ein und bestätigt mit „Enter“
Für das Runterladen:
curl -L --output install_hyperion.sh --get https://raw.githubusercontent.com/tvdzwan/hyperion/master/bin/install_hyperion.sh
Für das Installieren:
sh ./install_hyperion.sh
Das sollte dann so aussehen:
Nun noch den Befehl „reboot“ (Enter) eingeben und die Kiste bootet neu und Ihr könnt Putty schliessen.
Hyperion einrichten
Nun ist es wichtig damit der Raspberry PI weiss bei Ambilight welche LED´s er wie ansteuern muss… also wie viele sind links & rechts, oben & unten, wie stark dürfen die ineinander leuchten, sitzen welche in den Ecken usw. Für diese Aufgabe gib es ein sehr hilfreiches Tool direkt vom Hyperion Entwickler in Java:
(Falls Ihr kein Java installiert habt, hier der Download: https://www.java.com/de/download/)
Folgendes ist sehr wichtig:
Auf eine gleichmäßige Anzahl LED´s je Bereich kommt es an!!!
Was ich leider zu spät bemerkt hatte und ich Euch hier ‚mit auf den Weg geben‘ möchte (vor dem Bestellen der LED´s) ist:
Nutzt unten & oben, sowie rechts & links jeweils die gleiche Anzahl LED´s!
Also zum Beispiel: links 20, rechts 20, oben 40, unten 40 LED´s.
Wieso: man kann die LED´s in der Software nur für jeweils den Bereich „links & rechts“ und „oben & unten“ angeben… das führte bei meiner Anwendung (dem Flipper VPIN Ambilight) ein bisschen zu Problemen (rechts 35, links 35, vorne 12, hinten 59 LED´s)… das war ein bissel schwierig.. aber ich hab es hinbekommen.
Aber zurück zum Einrichten von Hyperion:
Ihr startet die heruntergeladenen HyperCon.jar Datei… und passt in den folgenden Tab´s Eure Einstellungen an:
- Als LED´s die „WS2801“ auswählen
- RGB anwählen
- die Richtungsweise (Direction)
- angeben ob Ihr LED´s in den Ecken habt
- Die jeweilige Anzahl der LED´s an den Seiten bzw. oben/unten (wichtig unten rechts sollte die Summe der LED stimmen)
- An welcher Stelle die erste LED beginnt
- Dann könnt Ihr noch einstellen wie stark die LED´s ineinandergreifen/überlappen
- Den schwarzen Rand solltet Ihr bei der analogen Version (also mit dem Grabber) gut einstellen, damit die LED´s nicht bei schwarzem Bildschirm schon anfangen grau zu leuchten
Hier einfach mal schauen, was ich eingestellt habe. Wenn Euch z.B. das Ambilight zu dunkel ist oder zu wenig Sättigung hat, könnt Ihr hier die Werte (HSV Saturation gain / HSV Value gain) noch anpassen. Jedoch würde ich das später mit der Hyperion App (kommt weiter unten noch) machen.
Bei dem Grabber ist es wichtig (wenn Ihr das Setup mit dem Grabber nutzt) die folgenden Werte einzustellen:
"grabber-v4l2" :
{
"device" : "/dev/video0",
"input" : 0,
"standard" : "PAL",
"width" : -1,
"height" : -1,
"frameDecimation" : 2,
"sizeDecimation" : 8,
"priority" : 800,
"mode" : "2D",
"cropLeft" : 0,
"cropRight" : 0,
"cropTop" : 0,
"cropBottom" : 0,
"redSignalThreshold" : 0.0,
"greenSignalThreshold" : 0.0,
"blueSignalThreshold" : 0.0
},
Und mit dem SSH Tab könnt Ihr natürlich per „SSH“ das ganze Verbinden um gleich zu testen oder die Config auf Euren Raspberry PI übertragen.
Für alle die das „händisch“ machen möchten (evtl. um die alte Datei als Backup umzubenennen etc.) dann einfach die Datei hyperion.config.json im Ordner „Configfiles“ des Openelec Raspberry ablegen.
Meine hyperion.config.json zum Download:
Eingebaut und Verkabelt
Wie oben auf dem Schaubild „Ambilight mit dem Raspberry PI“ zu sehen sieht dann die Praxis bezüglich „Splitten des HDMI Signals“ so wie auf dem folgenden Bild aus. Kurz noch mal erklärt sieht man folgendes:
- Das Netzteil versorgt die LED´s mit Spannung (bei der Länge im übrigen min. 2x eingespeist und jeweils mit 2A abgesichert)
- Der Raspberry PI wird durch das Raspberry Netzteil (weisses Kabel) mit Strom versorgt
- Das HDMI-Signal (in meinerm Fall der Computer) geht in den Splitter (nicht auf dem Bild zu sehen) und anschliessend in den HDMI2AV Konverter
- Aus dem HDMI2AV Konverter geht das Anlaogsignal in den Grabber, welcher am USB-Port des Raspberry-PI angeschlossen ist
- Und natürlich ist am Raspberry noch per USB-Port die Spannungsversorgung des HDMI2AV Konverter und die 3 Pin´s für die LED Steuerung angeschlossen
Das ist auch schon alles.
Ambilight mit dem Raspberry-PI vie HDMI-Splitter im Einsatz
Und so sieht das ganze dann an meinem VPIN (Virtual Pinnball) im Einsatz aus: Das Spielfeld (großer Bildschirm) wird abgegriffen und nach unten bzw. nach hinten projeziert.
Wie man so ein Virtuellen Flipper mit PinnballX bzw. Pinball FX2 selbst baut findet Ihr in meiner Dokumentation: VPIN – Virtueller Flipper mit PinnballX bzw. Pinball FX2 im Eigenbau.