Ambilight (Hyperion)

  • Hi,


    Ambilight zum Nachbau.


    1. Hyperion (Dreambox One) sendet per UDP/JSON über das WLAN die Signale an den Wemos D1 mini ESP8266

    2. Die LED Streifen werden mit 3 Kabeln an den Wemos D1 mini ESP8266 verbunden, dieser holt sich Strom von der Dreambox One (USB)

    3. Der Wemos D1 mini ESP8266 empfängt die LED Signale per WLAN und schickt diese an die verbundenen LED Streifen.



    Hardware:

    Dreambox One

    Wemos D1 mini (ESP8266)

    WS2801 RGB LED Streifen

    LED Eckverbinder

    Netzteil 5v 10a


    Software:

    Hyperion (für die Dreambox One, ist auf dem Feed )

    Hyperion_LED-Controller (für den Wemos D1 mini ESP8266)


    Anleitung Dreambox One:

    1. protobug aus dem Anhang auf die box kopieren und installieren

    2. hyperion aus dem Anhang auf die box kopieren und installieren
    3. Config erstellen (Anleitung folgt).



    Anleitung für den Wemos D1 mini ESP8266 (Hier kann ich gerne helfen...):


    Arduino IDE vorbereiten:

    Den Wemos D1 mini ESP8266 mit dem Pc/Laptop verbinden.

    Arduino IDE Download: https://www.arduino.cc/en/Main/Software

    Das Board wird von Hause aus nicht unterstützt.

    Zuerst eine neue Boardverwalter URL hinzufügen:

    1. Datei -> Voreinstellungen dann die URL "http://arduino.esp8266.com/stable/package_esp8266com_index.json" unter "Zusätzliche Boardverwalter-URLs" hinzufügen.

    2. Werkzeuge -> Board -> Boardverwalter - esp8266 oder esp32 hinzufügen.

    3. Werkzeuge -> Board -> NodeMCU 0.9/1.0 je nach Modul auswählen, bei mir NodeMCU 0.9 (steht auf dem Board selbst)


    Arduino IDE - Libraries

    Es werden noch ein paar Softwarebibliotheken benötigt um die von mir bereitgestellte ESP8266 Software nutzen zu können.

    1. Sketch -> Bibliothek einbinden -> Bibliotheken verwalten

    a) ArduinoThread

    b) ArduinoJson

    c) LinkedList

    d) FastLED (min. 3.1.3)

    e) Logging (manuell in den Ordner libraries kopieren) - https://github.com/SciLor/Ardu…ibrary/archive/master.zip

    f) ESP32 Webserver https://github.com/nhatuan84/esp32-webserver - esp32 only


    Configuration Dateien und Bilder/Videos folgen.



    Danke an Reichi und pclin

  • Escht cool!:thumbsup:


    Hab nun grad vor ein paar Wochen ein "paar" Euronen für DreamScreen investiert und bin auch soweit zufrieden. Aber für die zweite Box / zweite Glotze im Schlafzimmer ne feine Sache.

    Geht aber wohl nur für die One, oder wird's das auch für die 520er/900er geben (können)?

    Wie funktioniert das? Muss ja irgendwie/irgendwo das Bildsignal zur Analyse abgeriffen werden. Interessiert mich mal, wie das geht.


    Grüße

  • Die Treiber der One haben eine sehr kompakte und einfache Schnittstelle um das "aktuelle" Videobild zu erhalten (wir hab eine eigene. Die Treiber sind aber auch zur alten API, die amlgoic mal hatte, kompatibel).


    Im Kern - wenn auch etwas verinfacht beschrieben - sagt "hyperion", oder wer auch immer das bild will, dem treiber "gib mir mal das aktuelle video bild in der Größe x * y und im Format <RGB|BGR|YUV>" und kriegt dann die zugehörigen Rohdaten.


    Das Bild ist bei hyperion sehr klein, z.B. 128x128pixel.

    Ggf wählt man eine Auflösung die identisch zu der Menge an LEDs, die man am TV verbaut hat ist.

    Dann hat man für jede LED genau einen pixel, im am rande des "screenshots".


    Diese Randpixel werden dann von z.B. hyperion per steuerbefehl in LED-Farben umgesetzt.

    Wie oft das passieren kann muss einfall sagen ;). Ich weiß dass 10x/sekunde kein Problem ist, ich könnte mir aber gut vorstellen dass auch "Bildwiederholraten" im Echtzeitbereich auf der One durchaus möglich sind, Das wird aber u.U. mit einfachen LED-Streifen nur wenig sinnvoll sein ;).

    Das war's im prinzip auch schon.

  • das würde mich auch interessieren, wahrscheinlich aber nein.

    Es geht doch schon. Nur nicht direkt über den Treiber und Hyperion auf der Box. Gehe davon aus, das dies auch nicht mehr portiert wird. Aber wenn man anstatt eines Arduino bzw ESP8266 (2€) einen Raspi Zero W (10€) dahinter mit Hyperion hängt und als Grabber das Plugin Enigmalight auf der DM9x0 laufen lässt funktioniert es seit Jahren TOP !

  • bretterknaller

    Für die Installation der LED ist das Ambilight selbstbau mit Raspberry Pi und Hyperion ein guter Einstieg.

    und https://hyperion-project.org/t…ight-ohne-l%C3%B6ten.112/


    Bei einem 65 ' Display habe ich bei mir 138 LED (32 pro Meter) 44 Oben/Unten 25 Links/Rechts.


    Halte dich dann an die Anleitung im Post #1.


    Lade dir wie beschrieben die Software:

    Hyperion_LED-Controller (für den Wemos D1 mini ESP8266)


    In HyperionRGB ist HyperionRGB.ino (Sketch)


    Dann wie unter Arduino IDE vorbereiten:

    vorgehen.


    Bei b) ArduinoJson kannst du erstmal die 5.13.4 verwenden, dann muss man das nicht erst auf v6 updaten.


    Hast du also den sketch geladen und die 'Vorbereitungen' erfüllt kannst du unter ConfigStatic.h

    Deine 'ssid', 'password', LED Typ und Anzahl LED eingeben.


    Dann 'Sketch' Überprüfen/Kompilieren wählen.

    Ist alles durch kompiliert, kannst du dann 'Sketch' Hochladen.


    In 'Werkzeuge' 'Serieller Monitor' Baudrate (115200) kannst du sehen ob alles ausgeführt wurde und welche IP erhalten wurde.

    Die IP am Besten im Router 'Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen.' einstellen.


    Ist das durch kannst du mit HyperCon eine Konfiguration für die One erstellen.


    'Allgemein:'

    'Type' UDP wählen

    'Ausgabe:' IPesp8266:19446

    Anzahl LED, Anordnung, Richtung einstellen.


    Hast du das alles Eingestellt dann 'Generiere Konfiguration für Hyperion' wählen.

    Die 'hyperion.config.json' per FTP auf die One nach '/etc/hyperion' FTPen. Rechte 755


    jetzt kannst du im CLI (telnet/ssh One)

    Code
    1. systemctl start hyperion
    2. hyperion-aml

    Hast du alles richtig gemacht solltest du jetzt ein Ergebnis bekommen.


    Feineinstellungen können dann noch vorgenommen werden.


    Webinterface von hyperion 'IPderOne:8099'


    Für das Webinterface muss nach erstellen der hyperion.config.json mit hypercon noch folgende Zeilen mit einem Linux konformen Editor (geany, notepad++) hinzugefügt werden.

    gruß pclin


    ps.

    Im Screenshot 2 die Eckverbinder sind 12 mm 5 pol. Verbinder die ich auf 4 pol umgebaut habe, besser ist natürlich direkt 12mm 4 pol zu kaufen...

    Unter die Eckverbinder ist ein doppelseitiges Teppichklebeband sinnvoll.

    Images

    Files

    Die zwei Gemütszustände eines Programmierers
    0 ich hab keine Ahnung was ich hier mache
    1 ICH BIN GOTT
    ---
    Dreambox ONE, DM920UHD, DM900UHD, DM820HD HDD + USB-HUB, Stick 64GB, USB-HDD, Wireless Touch Keyboard K400r, Wlan-Stick 11n

    (Flash) DP-OE2.6 (BAXII) eigenes OE2.6, debian-stretch, Diverse

    (Flash) DP-OE2.5 (BAXII) eigenes OE2.5-e2+kodi+X, debian-stretch, Diverse
    ---

    AudioDSP: miniDSP 2x4HD

    TV: LG 65" SUHD

    Hyperion AmbiLight LPD8806

    Edited 9 times, last by pclin ().

  • Damit das hyperion 'System' direkt beim booten startet, habe ich noch ein systemd service file erstellt.


    Entpacken und nach /lib/systemd/system FTPen, Rechte 644.


    Danach im CLI

    Code
    1. systemctl enable hyperionaml

    Danach startet hyperion und hyperion-aml beim booten nach enigma2.


    Optionen für systemd:

    systemctl start/stop/restart/status/enable/disable hyperionaml


    gruß pclin

    Files

    Die zwei Gemütszustände eines Programmierers
    0 ich hab keine Ahnung was ich hier mache
    1 ICH BIN GOTT
    ---
    Dreambox ONE, DM920UHD, DM900UHD, DM820HD HDD + USB-HUB, Stick 64GB, USB-HDD, Wireless Touch Keyboard K400r, Wlan-Stick 11n

    (Flash) DP-OE2.6 (BAXII) eigenes OE2.6, debian-stretch, Diverse

    (Flash) DP-OE2.5 (BAXII) eigenes OE2.5-e2+kodi+X, debian-stretch, Diverse
    ---

    AudioDSP: miniDSP 2x4HD

    TV: LG 65" SUHD

    Hyperion AmbiLight LPD8806

  • Die sind schwer zu finden...


    Besser als die Eckverbinder sind auch die LED Eckverbinder aus Post #1

    Im Hyperion-forum kann man lesen das die Folien Eckverbinder Probleme mit Strom haben bei mehr als 100 LED!


    gruß pclin

    Die zwei Gemütszustände eines Programmierers
    0 ich hab keine Ahnung was ich hier mache
    1 ICH BIN GOTT
    ---
    Dreambox ONE, DM920UHD, DM900UHD, DM820HD HDD + USB-HUB, Stick 64GB, USB-HDD, Wireless Touch Keyboard K400r, Wlan-Stick 11n

    (Flash) DP-OE2.6 (BAXII) eigenes OE2.6, debian-stretch, Diverse

    (Flash) DP-OE2.5 (BAXII) eigenes OE2.5-e2+kodi+X, debian-stretch, Diverse
    ---

    AudioDSP: miniDSP 2x4HD

    TV: LG 65" SUHD

    Hyperion AmbiLight LPD8806

  • Fastled

    https://github.com/FastLED/FastLED


    Die beste Wahl Ist wohl LPD8806 32 LEDs/m (siehe Liste)

    Die meist verwendeten wohl WS2801 32 LEDs/m


    Getestet mit der One und ESP8266 ist bisher WS2801.

    Hier noch ein Link zum [Tutorial] Wireless LED extension with ESP8266/ESP32 for Hyperion


    gruß pclin

    Die zwei Gemütszustände eines Programmierers
    0 ich hab keine Ahnung was ich hier mache
    1 ICH BIN GOTT
    ---
    Dreambox ONE, DM920UHD, DM900UHD, DM820HD HDD + USB-HUB, Stick 64GB, USB-HDD, Wireless Touch Keyboard K400r, Wlan-Stick 11n

    (Flash) DP-OE2.6 (BAXII) eigenes OE2.6, debian-stretch, Diverse

    (Flash) DP-OE2.5 (BAXII) eigenes OE2.5-e2+kodi+X, debian-stretch, Diverse
    ---

    AudioDSP: miniDSP 2x4HD

    TV: LG 65" SUHD

    Hyperion AmbiLight LPD8806

  • Zu den Einstellungen für den Framegraber hyperion-aml


    Gefühlt erhält man die Besten Ergebnisse mit

    Code: CPU Avg 25%
    1. hyperion-aml -f 25 --width 1920 --height 1080

    ist also Leistungsmäßig kein Problem für die One.

    Sinnvol ist auf jeden Fall ein 16:9 Verhältnis zu wählen.


    mit -f 25 --width 1280 --height 720 liegt man bei ca.19% CPU Avg

    Kleinst möglicher Wert ist dann - f 25 --width 384 --height 216 (CPU Avg 7 %)


    gruß pclin

    Die zwei Gemütszustände eines Programmierers
    0 ich hab keine Ahnung was ich hier mache
    1 ICH BIN GOTT
    ---
    Dreambox ONE, DM920UHD, DM900UHD, DM820HD HDD + USB-HUB, Stick 64GB, USB-HDD, Wireless Touch Keyboard K400r, Wlan-Stick 11n

    (Flash) DP-OE2.6 (BAXII) eigenes OE2.6, debian-stretch, Diverse

    (Flash) DP-OE2.5 (BAXII) eigenes OE2.5-e2+kodi+X, debian-stretch, Diverse
    ---

    AudioDSP: miniDSP 2x4HD

    TV: LG 65" SUHD

    Hyperion AmbiLight LPD8806

  • campe

    In Sachen 4-Pin Adapter für 12 mm bin ich hier fündig geworden:

    5x LED SMD RGB Schnell Verbinder Kabel Connector Adapter 4 Pin Stecker für 12mm Streifen
    Klick mich!


    pclin

    besteht denn Hoffnung die ganze Geschichte auch mit der DM920 zu realisieren oder ist das technisch oder was auch immer nicht möglich?

  • Es geht bei mir sogar ein 4K Film mit AmbiLight!

    thx_eclipse_short_4K_uhd_DTS-HD_MA_51-thedigitaltheater.mkv

    Code
    1. hyperion-aml --screenshot --width 3840 --height 2160

    Und auch über das Webif geht da der Screenshot in UHD.


    gruß pclin

    Images

    Die zwei Gemütszustände eines Programmierers
    0 ich hab keine Ahnung was ich hier mache
    1 ICH BIN GOTT
    ---
    Dreambox ONE, DM920UHD, DM900UHD, DM820HD HDD + USB-HUB, Stick 64GB, USB-HDD, Wireless Touch Keyboard K400r, Wlan-Stick 11n

    (Flash) DP-OE2.6 (BAXII) eigenes OE2.6, debian-stretch, Diverse

    (Flash) DP-OE2.5 (BAXII) eigenes OE2.5-e2+kodi+X, debian-stretch, Diverse
    ---

    AudioDSP: miniDSP 2x4HD

    TV: LG 65" SUHD

    Hyperion AmbiLight LPD8806

    Edited once, last by pclin ().

  • Die Hoffnung sollte man nie aufgeben... :)

    Aussagen kann man aber zur Zeit noch keine machen.


    gruß pclin

    Die zwei Gemütszustände eines Programmierers
    0 ich hab keine Ahnung was ich hier mache
    1 ICH BIN GOTT
    ---
    Dreambox ONE, DM920UHD, DM900UHD, DM820HD HDD + USB-HUB, Stick 64GB, USB-HDD, Wireless Touch Keyboard K400r, Wlan-Stick 11n

    (Flash) DP-OE2.6 (BAXII) eigenes OE2.6, debian-stretch, Diverse

    (Flash) DP-OE2.5 (BAXII) eigenes OE2.5-e2+kodi+X, debian-stretch, Diverse
    ---

    AudioDSP: miniDSP 2x4HD

    TV: LG 65" SUHD

    Hyperion AmbiLight LPD8806