raspberry.tips
raspberry.tips - Raspberry Pi Projekte und Tutorials
Schon lange hatte ich mit der Ambilight Funktion von Philips geliebäugelt, hatte mir aber dann aus verschiedenen Gründen kein Gerät der Marke gekauft. Nachträglich wollte ich nun doch mein 55 Zoll Gerät unabhängig von der Quelle, also egal ob ich nun TV ansehe, zocke, Filme abspiele oder Fotos wiedergebe mit einer Selbstbau-Ambilight-Funktion erweitern. In diesem Tutorial / Projektbericht zeihe ich euch meine Umsetzung von Ambilight mit Hyperion und dem Raspberry Pi auf Basis von OpenELEC.
Was muss ich beachten?
- Die Ambilight Umsetzung benötigt recht viel Strom (10W pro Meter LEDs + Pi + Splitter)
- Die Rückseite des TVs sollte nicht weiter als 20cm von einer am besten weißen / hellen Wand entfernt stehen
- Das Material kostet alles in allem über 200€
- Am Besten ist das Ergebnis wenn im (halb) dunklen TV gesehen wird, bei Tageslicht / Sonneneinstrahlung lohnt der Aufwand nicht
- Hyperion benötigt recht viel Zeit für das Setup und ist kein 2h Projekt für Anfänger
Material
Raspberry Pi
- Ein Raspberry Pi 3 35€
- Ein einfaches Gehäuse mit Zugang zu den GPIOs 7,50€
- Eine gute SD-Karte (8GB reichen) 8€
Hyperion Hardware
- Netzteil für den Pi und die LEDs (50W bei über 100 LEDs) 17€
- Kaltgerätekabel 5€
- 2-3m 3×1,5mm² Mantelleitung oder ein zweites Kaltgerätekabel – 5€
- Einen USB Video Grabber 14€
- Einen HDMI zu AV Konverter 16€
- Einen HDMI Splitter 20€
- WS2801 RGB-LED streifen – 40€
- LED Eckverbinder 12mm oder Klingeldraht 6€
- Zwei kurze HDMI Kabel 9€
- Jumper Kabel female / female 4€
Sonstiges
- Lötlolben / Lötzinn
- Doppelseitiges Montageband
- Isolierband oder Schrumpfschläuche
- Abisolierer, Seitenschneider, Schraubendreher etc
- Multimeter
Vorbereitung
Wir müssen folgendes vorbereiten
Hyperion Verkabelung
Als erstes müssen wir uns leider um die lästige Verkabelung kümmern, ich starte mit der Verkabelung des Netzteils.
Wichtig!
Achtet unbedingt auf die korrekte Verkabelung, solltet ihr ausersehen 5Volt auf die falschen GPIOs PINs stecken ist euer Pi defekt!
Netzverkabelung
- Als erstes entferne ich vom Kaltgerätekabel den Stecker der Normalerweiße im Gerät steckt und entferne 2-3cm den Kabelmantel
- Dann werden die einzelnen Leiter ca 0,8mm abisoliert
- Verkabelt wird am Netzteil L = Braun, N = Blau, Erde = Grün/Gelb
Stellt euer Netzteil durch den V-ADJ Drehknopf auf 5,00V, gemessen wird mit einem Multimeter im Gleichstrom-Betrieb (DC) zwischen den Netzteil-Anschlüssen V+ und V-
Spannungsversorgung für die LEDs und den Raspberry Pi
Ich habe mich dazu entschieden neben den LEDs auch den Raspberry Pi über das Netzteil zu versorgen um nicht noch ein extra Netzteil zu haben. Der Pi kann über die GPIO PINs 5V und GND mit Strom versorgt werden anstelle ein USB Netzteil anzustecken.
- Der PI wird auf Pin 2 (5V) mit V+ und auf Pin 6 (GND) mit V- verbunden (siehe raspberrypi.ws für die Pinbelegung)
- Der LED Streifen wird jeweils mit beiden GND und 5V Kabeln mit dem Netzteil Verbunden
- Rot & Schwarz (5V) mit V+ am Netzteil
- Schwarz-Rot & Blau (GND) mit V- am Netzteil
Schritt für Schritt:
- Wir nehmen etwas Installationsleitung (1-2m) oder das zweite Kaltgerätekabel und isolieren auf beiden Seiten die drei Leiter ab. Die dritte Ader, Grün / Braun, entferne ich durch abscheiden direkt am abisolierten Mantel auf beiden Seiten. Wir benötigen nur zwei Adern.
- Verbindet das Kabel am Netzteil mit V+ (Braun) und V- (Blau), nehmt das Netzteil natürlich vorher vom Strom. Das Kabels dient uns dazu den LED-Streifen und den Pi mit Strom zu versorgen da die Jumperkabel recht kurz sind.
- Entfernt den Stecker von den Kabeln des LED Streifens. ACHTUNG! benutzt den Stecker vorne am LED Streifen, Pfeile auf dem Streifen markieren die Laufrichtung und somit den Anfang und das Ende. Ich habe die Kabelschuhe mit einem dünnen Schraubendreher aus dem Stecker gedrückt.
- Schneidet bei vier Jumper-Kabeln auf einer Seite den Stecker ab und legt die Drähte ca. 1cm frei
- Ich habe erst alle Jumper kabel an die vier Leitungen wo vorher der Stecker war angelötet, steckt ggf. vorher Schrumpfschlauch auf die Kabel
Dann verlöten wir die restlichen Kabel wie folgt, lest besser zwei mal :)
- Rot (5V) -> Auf Braun an dem vorher zugeschnittenen zweiadrigen Kabel, die beiden dann an das Schwarze Kabel mit dem bereits angelöteten Jumper Kabel
- Schwarz-Rot (GND) -> Auf Blau an dem vorher zugeschnittenen zweiadrigen Kabel, die beiden dann an das Blaue Kabel mit dem bereits angelöteten Jumper Kabel
LED Streifen zuschneiden
Messt an der Außenkante eures Fernsehers folgende Abstände (1-5), am Besten 1 – 2cm nach innen versetzt je nach Fernseher.
Hierbei ist zu beachten:
- Fangt mit der Seite, bei welchen wir die Kabel angelötet haben, bei Start (1) an
- 1 und 5 müssen gleich lang sein
- 2 & 4 müssen gleich lang sein
Schneidet die Streifen mit einer scharfen Schere möglichst genau zwischen den Lötpads entsprechend eurer Messungen zu, anderswo darf nicht geschnitten werden. Streifen 1 wird als erstes geschnitten Anfang ist dort wo ihr bereits die Kabel verlötet habt).
Legt die LEDs nach dem Zuschneiden entweder auf dem Tisch oder dem Boden aus und verbindet die Ecken mit LED Eckverbindern oder via Klingeldraht, ich habe Klingeldraht verwendet. Achtet unbedingt auf die Laufrichtung (Pfeile).
Bringt dann, am Besten mit Hilfe, die LEDs an der Rückseite eures Fernsehers an. Die Einspeisung muss von hinten betrachtet Links unten neben dem Standfuß sein (Start in der Grafik)
Raspberry Pi vorbereiten
Bevor wir loslegen müssen wir noch unseren Raspberry Pi mit der passenden Software betanken, wir verwenden als Betriebssystem OpenELEC. Die Grundeinrichtung von OpenELEC habe ich bereits beschrieben.
Sobald die Grundeinrichtung Abgeschlossen ist öffnet Putty von eurem Windows und gebt bei Hostname / IP-Address die IP oder den Rechnernamen eures RasPi ein. Bei OpenELEC ist der Rechnername im Standard OpenELEC, die IP-Adresse könnt ihr in den Systeminfos von Kodi einsehen.
Als Benutzer verwendet ihr root mit dem Passwort openelec. Da bei OpenELEC das Dateisystem schreibgeschützt ist müssen wir dieses erst beschreibbar mounten.
mount /flash -o remount,rw
Dann editieren wir die Datei config.txt mit dem Editor Nano
nano /flash/config.txt
Ganz am Ende der Datei tragen wir folgene Zeilen ein
max_usb_current=1 hdmi_force_hotplug=1 dtparam=spi=on
Gespeichert wird bei Nano mit STRG+X, Y und ENTER. Jetzt müssen wir die Partition wieder auf Read-Only setzen und unseren RasPi neu starten
sync mount /flash -o remount,ro reboot
Hyperion unter OpenELEC installieren
Die Software Hyperion übernimmt die Steuerung der LEDs für uns, diese können wir recht komfortabel remote auf unserem Raspberry Pi installieren.
- Lader euch auf eurem Windows System als erstes eine aktuelle Java Version herunter und installiert diese
- Danach besorgen wir uns HyperCon für das Remote Setup und die Konfiguration
Startet die heruntergeladene HyperCon.jar Datei. Wechselt auf den Reiter SSH und tragt den Rechnernamen oder IP-Adresse des Raspberry Pi ein, verwendet als Benutzer wieder root mit dem Passwort openelec
Nach dem Verbinden könnt ihr via “Inst. /Upd Hyperion” die Installation starten und Hyperion dann via “Start” starten.
Schaltet euren Pi nun aus und verkabelt alles.
Alles verkabeln
Die Verkabelung steht nun an, das ist eigentlich der einfachte Teil, ich befestige alles mit Montageband am der Rückseite des Fernsehers und verkable den Input mit dem HDMI Splitter Input. Den HDMI Splitter Output mit eurem TV und dem HDMI zu AV Konverter. Den Konverter stellt ihr auf PAL und verkabelt den gelben Anschluss mit dem Grabber.
- Verbindet zum Verkabeln das Netzteil nicht mit dem Strom!
- Der HDMI Splitter benötigt Strom, der HDMI zu AV Konverter hat zwar einen Stromanschluss, dieser wird aber nicht benötigt
Das Netzteil ist bereits verkabelt, das Verbinden der Geräte sollte mit diesem Bild auch keine Herausforderung mehr sein, wir müssen nun lediglich noch die Steuerungskabel des LED Streifens an die GPIO Ports des Raspberry Pi anstecken.
- CK ist vom LED Streifen Grün und muss an Pi PIN23
- SI ist vom LED Streifen Hell-Rot und muss an PIN19
Hyperion einrichten
Nachdem Ihr die Verkabelung abgeschlossen habt könnt ihr euer Hyperion einrichten. das ist mit unter der komplizierteste Teil da der HyperCon Software nicht gerade leicht zu verstehen ist. In einem ersten Schritt werden wir eine Basiskonfiguration herstellen sodass Hyperion grundsätzlich funktioniert.
Wir öffnen wieder HyperCon und Verbinden uns mit dem RasPi. Folgende Einstellungen setzen wir.
- Typ = Die LEDs die ihr euch besorgt habt, ich habe die WS2801
Dann müssen wir unter Allgemein die Anzahl der LEDs und deren Laufrichtung konfigurieren:
- Richtung: Bei mir Gegen den Uhrzeigersinn (Das Beispiel Bild in HyperCon zeigt den TV in der Frontansicht)
- LEDs horizontal: Die Anzahl der LEDs ein die du oben montiert hast
- LEDs links: Die Anzahl der LEDs ein die du links an den TV montiert hast
- LEDs rechts: Die Anzahl der LEDs ein die du rechts an den TV montiert hast
- Untere Lücke: = LEDs horizontal minus Anzahl der LEDs Links und Rechts neben dem Fuß
- LED Anfang: Passe den Wer in der Simulation so lange an bis Nr. 0 an der selben Stelle ist, an der du dein Datensignal einspeist (unten rechts in der Frontansicht)
Dann erledigen wir noch die Einrichtung unseres Video Grabbers, der Grabber holt die Bilder vom HDMI Kabel ab und schickt diese an Hyperion. Mit diesen Bildern wird dann die Farbe der LEDs berechnet. Ohne korrekt funktionierenden Grabber werden eure LEDs nicht leuchten.
- Wechselt auf den Reiter Grabber
- Deaktiviert den internen Grabber
- Aktiviert den Externen Grabber (V4L)
- Passt die Konfiguration entsprechend dem Screenshot an.
Speichert dann die Konfiguration und generiert die JSON Datei für den Raspberry Pi, speichert diese ebenfalls ab. Wechselt auf den Reiter “SSH”:
- Stellt wie oben bereits schon mal erledigt eine SSH Verbindung her
- Stoppt Hyperion
- Sendet die Konfiguration via Senden
- Startet Hyperion
Nach dem erneuten Starten sollten eure LEDs erst kurz einen Regenbogen Effekt anzeigen und dann ungefähr entsprechend dem Fernsehbild aufleuchten. Die Grundkonfiguration ist damit erst mal abgeschlossen.
Leuchten die LEDs nicht müsst ihr erst mal auf Fehlersuche gehen, häufige Fehler die ich hatte:
- Der Grabber steht nicht auf PAL
- Die Kabel für die Ansteuerung der LEDs sind am RasPi vertauscht (einfach mal umdrehen)
- Die Verkabelung passt im Allgemeinen nicht
- Falls die Farben vertauscht sind müsst ihr den Modus von RGB ggf. passend einstellen
Funktioniert die Grundkonfiguration folgt die erweiterte Einrichtung diese ist im WiKi von Hyperion schon sehr gut beschrieben. Nehmt euch einige Stunden Zeit, die Kalibrierung der Farben hat bei mir am längsten gedauert!
- Grabber korrekt einstellen (unterer Teil der Anleitung)
- Ihr müsst dann noch die Farben kallibrieren
- Sonstige Einstellungen anpassen bis diese für euch passen.
Anleitung zu HyperCon aus dem WiKi.
Weitere Möglichkeiten:
Falls Ihr euren RasPi 3 gleichzeitig noch als Media Center zum Abspielen von Filmen verwenden möchtet oder TVHeadend verwendet müsst ihr eine zweite Konfiguration mit “internem Grabber” erstellen. Innerhalb von Kodi könnt ihr dann mit einem Kommando auf eurer Fernbedienung die Konfiguration umschalten.
Bilder meines Projekts
Bei mir steht der Fernseher leider recht weit von der Wand entfernt (etwas über 20cm) sodass die Farben nicht sehr satt und differenziert zu sehen sind, mein TV steht auf einem Rack mit Halterung und ist nicht direkt an der Wand befestigt. Die Kammera hat auch noch einiges am Atmosphäre geschluckt und die Farben sind noch nicht optimal kalibriert, dennoch bin ich sehr zufrieden mit dem Ergebnis.
Ambilight ist eine von Philips entwickelte Technologie für Fernseher. AMBILIGHT is a registred trademark of Koninklijke Philips N.V.
Ambilight selbstbau mit Raspberry Pi und Hyperion
raspberry.tips