Hallo liebe Dreamer,
als ich erstmals von dem Thema Ambilight
gehoert hatte, war mir gleich klar, dass ich das haben musste. Aber
nicht als Beistellleuchten, sondern als LED Ketten, die an die Raender
des TV angebracht sind. Mit meiner alten DM7020 hatte ich das nie in
Angriff genommen, da es der kleine LCD-TV nicht wert war (32"). Mit dem
neuen 46"-er und der DM800 war es an der Zeit. Was noch fehlte war eine
E2-Software zum Ansprechen des Atmolight-Steuergerätes, was wiederum die
LEDs passend zum Bildinhalt in Farbe/Helligkeit betreibt.
LazyT und lespuck haben einen Daemon und ein E2-Plugin zum Ansteuern der Atmolight Hardware
programmiert. Damit ist es möglich das Atmolight-Steuergerät mit einer
Dreambox via USB ansprechen. Die Software unterstützt die DM800, DM8000
und DM7025. Generell ist zu sagen, dass die Dreambox-Rechenpower für
diese Anwendung grenzwertig ist, da das Grabbing des TV-Bildes und das
anschliessende Berechnen sehr zeitkritisch ist.
LazyT war so nett und hat mir seinen Sourcecode zur Verfügung gestellt, sodaß ich einige Erweiterungen durchführen konnte:
1) Daemon startet sich und ändert den Nice-Level, sodaß die Atmo-Berechnungen die Box nicht verlangsamen/blockieren
2) Im Standby wird das Atmolight ausgeschaltet, beim Aufwecken wird es eingeschaltet, d.h. => Atmolight aus/ein automatisch.
3)
Der Farb- und Helligkeitswechsel wurde fliessender gemacht, der Code
geschwindigkeitsoptimiert (SD und HD flüssig, keine Sprungwechsel).
4) Grabbergeschwindigkeit drastisch erhöht (Hauptaufgabe des Projekts).
5) Farberkennung/Fader weiterentwickelt.
Das
Ergebnis hängt unten an (Version 0.2 und höher). Außerdem ist ein Video
angehängt ("MOV075.avi"), das das Atmolight live zeigt, angesteuert mit
einer DM800 und der Version 0.2. Ein weiteres Video ("Beispiel hoher
Dynamik mit Version 0.3.mpeg") zeigt den aktuellen Stand mit der Version
0.3. Ab Version 0.3 braucht sich Atmolight auf den Dreamboxen hinter
PC-Implementierungen nicht mehr zu verstecken. Auf dem unten angehängten
Bild kann man das Plugin sehen und ein paar Impressionen.
ICH BITTE UM FEEDBACK, insbesondere von 7025/8000er Usern, da ich nur eine 800er habe.
Installation
0)
Den atmolightd-xxxxx-yyy.tar.gz File aus diesem Post herunterladen
(immer den aktuellsten!), per Telnet oder ssh in die Box einloggen
1) File unter /tmp speichern (z.B. per FTP hochladen oder per Sambamount kopieren)
2) cd /
3) tar xzvf /tmp/atmolightd-0.x.tar.gz
4) ln -s /dev/usb/tts/0 /dev/ttyUSB0 (kann in den meisten Fällen entfallen, siehe Hinweis unten)
5) Box rebooten
6)
Atmolightd sollte automatisch gestartet werden, wenn das
Atomlight-Steuergeraet eingesteckt und betriebsbereit ist, d.h. nach
Boot-Ende sollten die Atmo-LEDs eingeschaltet sein (=> dynamische
Farbwechsel).
Update nach vorheriger Installation:
1) Atmolight stoppen (rote Taste),
2) xxx.tar.gz File installieren (siehe oben), die alten Dateien werden alle überschrieben.
3) Engima2 neu starten
4) Atmolight starten
Hinweis:
normalerweise sollte der Kernel nach Einstecken des
Atomlight-Steuergeraetes am USB Port automatisch das Device /dev/ttyUSB0
erstellen. Das ist aber nicht bei allen Imageversionen der Fall, da
oftmals /dev/usb/tts/0 stattdessen erstellt wird. Schritt 4 soll dieses
Manko loesen. Schritt 4 kann entfallen, wenn der Kernel /dev/ttyUSB0
richtig erstellt. Lasst euch nicht vom dmesg in die Irre fuehren, denn
der zeigt immer an, dass ttyUSB0 erstellt wurde. Solltet ihr (sicher
selten der Fall) schon ein anderes serielles Device unter /dev/ttyUSB0
oder /dev/usb/tts/0 in Betrieb haben, dann nach /dev/tts/1 (/2, /3, etc)
verlinken. Falls das Atmodevice ueberhaupt nicht
erkannt wird, dann kann das am fehlenden FTDI_sio Kernelmodul liegen.
Installieren mit "opkg install kernel-module-ftdi-sio" oder "ipkg
install kernel-module-ftdi-sio".
Gruss Mamba
PS: all the credit goes to LazyT und lespuck, welche die Grundlage fuer den Daemon und das Plugin gelegt haben.