Ambilight mit dem Raspberry Pi - Part 2 Software

Zurück zum 1. Teil - Ambilight mit dem Raspberry Pi - Part 1 Hardware

 

Raspberry Pi und Software einrichten

Ich für meinen Teil verwende gerne openELEC als System auf meinem Pi. Hat den Vorteil, dass es schon fertig mit Kodi etc. eingerichtet ist und man in weniger als 5 Minuten das System am Laufen hat.

Auf der Download Seite weiter bis zu Raspberry Pi scrollen, dort gibt es mehrere Builts für Pi1 und Pi2. Ich arbeite mit dem 6er Built. Ein Disk Image wird benötigt

Benötigte Software

Raspberry Pi einrichten -> openELEC installieren

Für diesen Schritt benötigst du openELEC und den Win32DiskImager. Beide Archive müssen entpackt und der Win32DiskImager muss gestartet werden. Nun lege die SD oder microSD Karte in dein Kartenlesegerät ein und verbinde es mit deinem PC. Im Win32DiskImager muss nun das entsprechende Laufwerk mit der Karte ausgewählt werden und das openELEC Image eingebunden werden. Danach kann der Vorgang mit Write gestartet werden. Die Meldung muss mit Yes bestätigt werden.

Win32DiskImagerWin32DiskImager MeldungWin32DiskImager Image wird geschriebenWin32DiskImager Fertig

Anpassen der Boot Config

Nun müssen wir ein paar Einstellungen für den Pi vornehmen, dies können wir zwar auch später per Shell erledigen, aber da die Karte eh schon am PC verfügbar ist, machen wir es unter Windows. Hierzu öffnen wir von der SD Karte die Datei config.txt mit einem Text Editor unserer Wahl. Nein, der Windows Editor ist keine keine geeignete Wahl :). Ich persönlich bevorzuge Notepad++.

Irgendwo gegen Ende sollte folgendest stehen

# hdmi_force_hotplug=1

Diese Zeile musst du wieder einkommentieren, sprich die Raute # vor hdmi... entfernen.

Ganz am Ende dieser Datei müssen wir noch zwei Zeilen hinzufügen.

dtparam=spi=on
usb_max_current=1

Erstere aktiviert uns das SPI Hardware Interface und zweite erhöht den Strom Output für USB Geräte, was für den USB Grabber benötigt wird. config.txt speichern, Karte sicher entfernen und in den Pi einlegen, Pi verkabeln und starten lassen. Du benötigst ein Eingabegerät ala Tastatur oder Maus, beides geht natürlich auch :).

Möchtest du dennoch lieber Änderungen an der config.txt mittels Shell durchführen, so kannst du dies auch wie folgt erledigen.

mount -o remount,rw /flash

nano /flash/config.txt

Obere Änderung durchführen und

mount -o remount,ro /flash

Danach muss der Pi neugestartet werden

reboot

openELEC einrichten

Nachdem dein Pi erfolgreich gestartet ist, folge dem Einrichtungsassistenten von openELEC.

Hostname: Dieser kann bestehen bleiben (openelec) oder du kannst einen eigenen festlegen. Bei mir heißt er AmbiPi.

Netzwerk: Wenn du einen Wifi Dongle verwendest, gib das Wifi Passwort ein, wenn du ein Lan Kabel verwendest, überspringe den Schritt. Jedenfalls, zum weiteren Einrichten muss sich der Pi im selben Netzwerk wie du befinden.

SSH: SSH muss aktiviert werden.

Hyperion installieren

Damit unser Ambilight auch funktioniert, müssen wir noch Software installieren, die die Farben etc. für unser Ambilight managet. Diese Aufgabe überlasse ich Hyperion. Um Hyperion installieren zu können, müssen wir uns per Shell mit unserem Pi verbinden. Hierzu starten wir bei Unix das Terminal oder bei Windows putty.

Einloggen können wir uns mittels

Benutzername: root
Passwort: openelec

Nun können wir Hyperion mittels folgender Befehle installieren

curl -L --output install_hyperion.sh --get https://raw.githubusercontent.com/tvdzwan/hyperion/master/bin/install_hy...
sh ./install_hyperion.sh

Weitere Informationen hier.

Konfigurationsdatei für Hyperion erstellen

Für die Konfiguration wird das kleine Tool HyperCon SSH benötigt. Dies setzt allerdings voraus, dass auf deinem PC eine aktuelle Java Version installiert ist. Sollte dies nicht der Fall sein, so musst du Java nachinstallieren.

Da jedes System, die LED, etc. unterschiedlich ist / sind, wirst du nich drumherum kommen, selber eine passable Konfiguration für dein System zu erstellen. Du kannst dich natürlich erstmal an meinen Einstellungen orientieren und die für dein System optimalen Einstellungen nach und nach ermitteln. Ich habe mehrere Stunden benötigt.

Meine Anleitung bezieht sich hauptsächlich auf die Umsetzung um externe Quellen (mittels USB Grabber) mit Ambilight auszustatten, möchtest du aber auch Kodi intern mit Ambilight ausstatten und nicht das HDMI Signal vom Pi grabben, so benötigst du zwei unterschiedliche Konfigurationsdateien, die du je nach Szenario laden musst. Die Befehle zum Laden einer Hyperion Konfigurationsdatei stelle ich daher mal an den Anfang.

killall hyperiond
/storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json </dev/null >/dev/null 2>&1 &

Beim Startvorgang vom Pi wird automatisch die Datei mit Namen hyperion.config.json geladen.

Hyperion Konfiguration Grabber

Ich versuche auf die wesentlichen Punkte kurz einzugehen, eine komplette Listet kannst du dir aber im Wiki von Hyperion anschauen.

Hyperion Kofiguration für USB Grabber - Hardware

  • Type: Für uns interessant ist der Typ unserer LED -> WS2801, die Baudrate wird dann automatisch angepasst
  • RGB Byte Order: Ist quasi die Beschaltung der LED. Bei mir war Rot = Rot und Grün und Blau waren vertauscht. Somit musste ich RBG Wählen. Dies kann man ganz gut mi dem Hyperion Tool für Android / iOS herausfinden. Hierzu reicht die kostenfrei Version aus den jeweiligen Stores.
  • Direction: Wie die LED angeordnet sind. Bei mir beginnen die links Unten neben meinem Standfuß (von Vorne betrachtet) und verlaufen im Uhrzeigersinn. Daher auch "clockwise" solltest du unten rechts begonnen haben so musst du auf counter clockwise stellen.
  • Led in top corners: Ich habe in den oberen Ecken keine LED, von daher auf false.
  • LED in bottom corners: Hier habe ich LED also true.
  • Horizontal #: Anzahl des LED Strangs oben: 27 bei mir
  • Vertical #: Anzahl der LED an den Seiten (nur eine Seite hier zählen). Habe zwar 15 LED an der Seite, aber von hier kommen die LED in den unteren Ecken, daher 14 + 1 Ecke.
  • Bottom Gap #: Anzahl an fehlenden LED. Oben = 27 LED - 2x 10 Unten = 7 LED fehlen
  • 1st LED offset: Wo sich die Anschlussleitung am Pi befindet und somit die erste LED in der Kette befindet. So weit anpassen bis die 0 im Bild an der richtigen Stelle befindet.
  • Der Rest ist einfach nur wie viel Prozent vom Bild zur Berechnung der Farben verwendet werden soll.

Hyperion Kofiguration für USB Grabber - Process

  • Smoothing: Aktivieren und Voreinstellungen können beibehalten werden

Hier lassen  sich die Einstellungen am besten am Handy mittels der kauf App Hyperion einstellen. Mittels SSH und Send Color Transform ist es aber auch möglich, nur nicht so komfortabel. Dazu dann die Einstellungen im SSH Tab anpassen.

  • Threshold: Hier am besten im Wiki gucken, was die Werte bezwecken.
  • Gamma: Hier am besten im Wiki gucken, was die Werte bezwecken.
  • Blacklevel: Hier den Wert auf 0 lassen, sonst leuchten die LED bei schwarzen Szenen und bei hellen werden die Farben verfälscht
  • Whitelevel: Hier am besten ein komplett weißes Bild am TV anzeigen und die LED so einstellen, dass diese auch wirklich weiß sind und keinen Farbstich haben.
  • HSV Saturation gain: steuert die Intensität der Farben. Habe es bei mir inzwischen auf 1,13 reduziert
  • HSV Value gain: steuert die Helligkeit der LED. Habe es inzwischen auf 2,45 reduziert.

Hyperion Kofiguration für USB Grabber - Grabber

Die Einstellungen für unseren Grabber. Hier kannst du die Werte eigentlich erstmal vom Programm übernehmen. Nur den Video Standard auf PAL stellen. Später dann Crop Left, Right, Top und Bottom anpassen. Also Film starten und die LED beobachten. Wenn die LED aus sind oder nur grün, dann den Crop Faktor erhöhen bis die LED richtige Farben annehmen. Beim Threshold habe ich die Werte vom Reiter Process übernommen.

Hyperion Kofiguration für USB Grabber - External

Json und Proto Server aktivieren. Den Json brauchst du z.B. für Hyperion für Android und iOS zum Verbinden.
Effect Engine musst du auf storage hin anpassen, da hier die Effekte liegen.
Bootsequence muss man nicht unbedingt haben, sieht aber nett aus wenn der Pi startet. Weitere Effekte wie Knight Rider etc. findest du in der Datei oder im der Android App.

Für die Konfiguration haben wir nun alle Punkte erledigt und können mittels Create Hyperion Configuration unsere Konfigurationsdatei erstellen lassen. Die Datei kannst du dir auf deinen Rechner speichern oder wie ich es immer mache direkt auf dem Pi. Dazu einfach beim Speichern auf den Pi gehen (\\IP DES PI\config\hyperion.config.json)

Danach muss der Pi neugestartet werden oder die Konfiguration neugeladen werden. Dazu am besten noch das nächste Bild mit SSH begutachten.

Befehl für den Neustart

reboot

Befehl für neuladen der Konfiguration

killall hyperiond
/storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json </dev/null >/dev/null 2>&1 &

Hyperion Kofiguration für USB Grabber - SSH

Raspberry IP: Hier eigentlich nur die IP deines Pis eintragen
Username: root
Password: openelec
Connect klicken
Ssh Commands: hier kannst du diverse Befehle eingeben, die du sonst auch per Shell senden würdest. Hierüber könntest du auch Hyperion installieren, Hyperion Konfigurationen laden, den Pi neustarten lassen, ausschalten etc.

Fine Tuning bzw. die richtigen Einstellung ermitteln

Die richtigen Werte lassen sich meiner Meinung nach am besten über das Smartphone ermitteln. Dazu gibt es im Play und Appstore eine App Namens Hyperion und Hyperion Free. Erste kostet 99 Cent und wird benötigt. Mit der kostenfreien Version lassen sich leider nicht die passenden Einstellungen vornehmen!

Hyperion Smartphone SettingsHyperion Smartphone MenüHyperion Smartphone ColortransformsHyperion Smartphone HSVHyperion Smartphone ThresholdHyperion Smartphone GammaHyperion Smartphone BlacklevelHyperion Smartphone Whitelevel
 

 

 


Neuen Kommentar schreiben

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
By submitting this form, you accept the Mollom privacy policy.