Mein Update-Projekt

  • Hallo zusammen,


    nach 4-jähriger Abstinenz möchte ich wieder in das Thema einsteigen und würde gerne diesen eigenen Thread dafür öffnen, um eventuelle Fragen und Probleme im Kontext zu halten und nicht über mehrere Threads verteilen werden müssen. Ich freue mich daher über jegliche Unterstützung :-)


    Da ich mein Ambilight mangels ordentlicher 4k-Unterstützung seit 2017 ohne Splitter autark im "Rainbow mood"-Modus betreibe, möchte ich das Projekt wieder aufleben lassen und das ganze System schrittweise erneuern.

    Erfreulicherweise hat sich ja zwischenzeitlich an der Hard- und Softwarefront einiges getan.


    Mein Setup ist im Moment folgendes:


    Raspberry Pi 3B mit Hyperion (classic) und 122 LEDs (WS2801) für 55 Zoll TV per GPIO


    Quellen:

    VU+ 4k Duo

    NVIDIA Shield TV Pro

    Sonstigen Krempel (nicht so wichtig)


    per HDMI zu:


    Denon AVRX1300W


    weiter zu:


    LG OLED 55CX8LB



    Folgender Schritt-für-Schritt-Plan scheint mir hier sinnvoll:

    1) Bisheriges System mit Splitter und Grabber ausstatten

    2) Bisheriges System mit WLED ausstatten

    3) Raspberry Pi 3B (Hyperion Classic) durch Raspberry Pi 4B (Hyperion.NG oder HyperHDR) ersetzen

    4) WS2801 Stripes durch SK6812 ersetzen


    Ergibt das so Sinn?

    Die einzelnen Schritte möchte ich jetzt im Laufe der kommenden Wochen umsetzen.


    Für Phase 1 habe ich mir jetzt einen FeinTech VSP01222 Splitter und einen WisFox Grabber bestellt und bin gespannt, ob es denn funktioniert :-)

  • FeinTech VSP01222 Splitter und einen WisFox Grabber funktionieren auch mit deinem 'alten' System.


    Dein Schritt-für-Schritt-Plan sieht soweit gut aus. :thumbup:


    gruß pclin

    Dreambox ONE / TWO
    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Lautsprecher ELAC
    LG 65' SUHD
    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng alpha.10 (dreamOS)
    Hyperion-ng (Debian Buster)
    -
    6 x Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    5-Port HDMI Switch - FeinTech VSP01201 - Grabber Macrosilicon


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

  • FeinTech VSP01222 Splitter und einen WisFox Grabber funktionieren auch mit deinem 'alten' System.

    Soweit die Theorie . . . finde ich schonmal beruhigend, daß es grundsätzlich funktionieren müsste.

    In der Praxis bekomme ich den Dienst aber nicht gestartet, wenn ich den Grabber aktiviere:


    ssh in: Jul 26 19:17:58 till-ambi hyperiond[2509]: terminate called after throwing an instance of 'std::runtime_error'

    ssh in: Jul 26 19:17:58 till-ambi hyperiond[2509]: what(): VIDIOC_S_STD ERROR 25, Inappropriate ioctl for device

    ssh in: Jul 26 19:17:58 till-ambi systemd[1]: hyperion.service: main process exited, code=killed, status=6/ABRT

    ssh in: Jul 26 19:17:58 till-ambi systemd[1]: Unit hyperion.service entered failed state.

    ssh in: Jul 26 19:17:58 till-ambi systemd[1]: hyperion.service holdoff time over, scheduling restart.

    ssh in: Jul 26 19:17:58 till-ambi systemd[1]: Stopping Hyperion Systemd service...

    ssh in: Jul 26 19:17:58 till-ambi systemd[1]: Starting Hyperion Systemd service...

    ssh in: Jul 26 19:17:58 till-ambi systemd[1]: hyperion.service start request repeated too quickly, refusing to start.

    ssh in: Jul 26 19:17:58 till-ambi systemd[1]: Failed to start Hyperion Systemd service.

    ssh in: Jul 26 19:17:58 till-ambi systemd[1]: Unit hyperion.service entered failed state.


    Der Grabber wird erkannt:


    T: Bus=01 Lev=02 Prnt=02 Port=04 Cnt=02 Dev#= 5 Spd=480 MxCh= 0

    D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1

    P: Vendor=534d ProdID=2109 Rev=21.00

    S: Manufacturer=MACROSILICON

    S: Product=USB Video

    C: #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=500mA

    I: If#= 0 Alt= 0 #EPs= 0 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo

    I: If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo

    I: If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio

    I: If#= 3 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio

    I: If#= 4 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid


    Folgende Einstellungen hab ich:



    Viel mehr einstellen kann man ja eigentlich nicht, oder?

  • Schau mal hier, Auszug aus meiner .json


    gruß pclin

    Dreambox ONE / TWO
    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Lautsprecher ELAC
    LG 65' SUHD
    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng alpha.10 (dreamOS)
    Hyperion-ng (Debian Buster)
    -
    6 x Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    5-Port HDMI Switch - FeinTech VSP01201 - Grabber Macrosilicon


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

    Edited once, last by pclin ().

  • "standard": "no-change",

    Hier scheint schon ein entscheidender Unterschied gewesen zu sein. Taucht im Client gar nicht auf, sodaß ich es direkt in die .json geschrieben habe.

    Der Dienst startet leider immer noch nicht, aber mit einem anderen Fehler:


    ssh in: Jul 26 19:49:04 till-ambi hyperiond[2910]: V4L2GRABBER INFO: width=1920 height=1080

    ssh in: Jul 26 19:49:04 till-ambi hyperiond[2910]: terminate called after throwing an instance of 'std::runtime_error'

    ssh in: Jul 26 19:49:04 till-ambi hyperiond[2910]: what(): V4L2GRABBER ERROR: Only pixel formats UYVY, YUYV, and RGB32 are supported ERROR

    ssh in: Jul 26 19:49:04 till-ambi systemd[1]: hyperion.service: main process exited, code=killed, status=6/ABRT

    ssh in: Jul 26 19:49:04 till-ambi systemd[1]: Unit hyperion.service entered failed state.

    ssh in: Jul 26 19:49:04 till-ambi systemd[1]: hyperion.service holdoff time over, scheduling restart.

    ssh in: Jul 26 19:49:04 till-ambi systemd[1]: Stopping Hyperion Systemd service...

    ssh in: Jul 26 19:49:04 till-ambi systemd[1]: Starting Hyperion Systemd service...

    ssh in: Jul 26 19:49:04 till-ambi systemd[1]: hyperion.service start request repeated too quickly, refusing to start.

    ssh in: Jul 26 19:49:04 till-ambi systemd[1]: Failed to start Hyperion Systemd service.

    ssh in: Jul 26 19:49:04 till-ambi systemd[1]: Unit hyperion.service entered failed state.


    Zum Pixel-Format finde ich aber wiederum nichts . . . :/

  • Nur die letzte Version auf github unterstützt MJPEG.


    Ich verwende YUYV, das muss man dann aber vor dem Start setzen, bei reboot oder disconnect/reconnect wird wieder MJPEG verwendet.

    Code
    v4l2-ctl -v pixelformat=YUYV

    Ich habe mir eine Zeile in den systemd service reingesetzt, für einen User hier im Board hatte ich das glaube ich in hyperion.sh gemacht, da bin ich mir aber nicht sicher ob es das file bei dir gibt.


    Im service die Zeile einfügen

    Code
    ExecStartPre=/root/.hyperion/hyperion-v4l2-ctl.conf

    Und dann ein ausführbares file erstellen mit dem Inhalt v4l2-ctl -v pixelformat=YUYV

    Pfad angaben kannst du machen wie du möchtest.

    In meinem file setze ich auch noch die Werte für den Grabber


    gruß pclin

    Dreambox ONE / TWO
    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Lautsprecher ELAC
    LG 65' SUHD
    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng alpha.10 (dreamOS)
    Hyperion-ng (Debian Buster)
    -
    6 x Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    5-Port HDMI Switch - FeinTech VSP01201 - Grabber Macrosilicon


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

    Edited once, last by pclin ().

  • Das bringt mich wieder ein Stück weiter . . . jetzt lässt sich der Dienst starten und die LEDs gehen an.

    Allerdings läuft nur der Starteffekt (in meinem Fall "Regenbogenwirbel").


    Das Log sagt:


    ssh in: Jul 26 20:25:47 till-ambi hyperiond[3733]: V4L2GRABBER INFO: width=1920 height=1080

    ssh in: Jul 26 20:25:47 till-ambi hyperiond[3733]: V4L2GRABBER INFO: pixel format=YUYV

    ssh in: Jul 26 20:25:47 till-ambi hyperiond[3733]: BLACKBORDER INFO: threshold set to 0.01 (3)

    ssh in: Jul 26 20:25:47 till-ambi hyperiond[3733]: BLACKBORDER INFO: mode:default

    ssh in: Jul 26 20:25:47 till-ambi hyperiond[3733]: V4L2GRABBER INFO: signal threshold set to: {7,0,0}

    ssh in: Jul 26 20:25:47 till-ambi hyperiond[3733]: V4L2GRABBER INFO: started

    ssh in: Jul 26 20:25:47 till-ambi hyperiond[3733]: INFO: V4L2 grabber created and started

    ssh in: Jul 26 20:25:47 till-ambi hyperiond[3733]: V4L2GRABBER INFO: stopped


    Der Grabber wird gestartet und sofort wieder gestoppt . . . soll das?

  • Das soll natürlich nicht, warum kann ich dir nicht sagen.


    Auffällig ist deine Auflösung nur 'falsch'

    Code
    v4l2-ctl -d /dev/video0 --set-fmt-video=width=720,height=480 -p 30

    ist der sinnvollste Wert bei YUYV.


    gruß pclin

    Dreambox ONE / TWO
    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Lautsprecher ELAC
    LG 65' SUHD
    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng alpha.10 (dreamOS)
    Hyperion-ng (Debian Buster)
    -
    6 x Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    5-Port HDMI Switch - FeinTech VSP01201 - Grabber Macrosilicon


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

  • Es bleibt beim Standard-Effekt, das Log:


    ssh in: Jul 26 20:52:33 till-ambi hyperiond[1032]: V4L2GRABBER INFO: width=720 height=480

    ssh in: Jul 26 20:52:33 till-ambi hyperiond[1032]: V4L2GRABBER INFO: pixel format=YUYV

    ssh in: Jul 26 20:52:33 till-ambi hyperiond[1032]: BLACKBORDER INFO: threshold set to 0.01 (3)

    ssh in: Jul 26 20:52:33 till-ambi hyperiond[1032]: BLACKBORDER INFO: mode:default

    ssh in: Jul 26 20:52:33 till-ambi hyperiond[1032]: V4L2GRABBER INFO: signal threshold set to: {7,0,0}

    ssh in: Jul 26 20:52:33 till-ambi hyperiond[1032]: V4L2GRABBER INFO: started

    ssh in: Jul 26 20:52:33 till-ambi hyperiond[1032]: INFO: V4L2 grabber created and started

    ssh in: Jul 26 20:52:33 till-ambi hyperiond[1032]: BORDER SWITCH REQUIRED!!

    ssh in: Jul 26 20:52:33 till-ambi hyperiond[1032]: CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=0

    ssh in: Jul 26 20:52:33 till-ambi hyperiond[1032]: V4L2GRABBER INFO: stopped



    Mir ist noch folgender Abschnitt aufgefallen:


    Muss da evtl. noch was bei FRAME GRABBER CONFIG (und später auch in BLACKBORDER CONFIG) rein?

  • Nein nicht zwingend.

    BLACKBORDER CONFIG könnte man machen.

    FRAME GRABBER UND KODI CHECK wenn du das verwenden möchtest.


    Eigentlich sind nur die Anpassungen die du schon gemacht hast nötig. :/

    Ich hatte das schon bei mehreren Usern so hinbekommen.


    ich kenne aber auch dein System nicht, da habe ich jetzt keine Idee..., ausser die letzte Version von github selber compilieren oder auf hyperion-ng umzusteigen.


    gruß pclin

    Dreambox ONE / TWO
    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Lautsprecher ELAC
    LG 65' SUHD
    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng alpha.10 (dreamOS)
    Hyperion-ng (Debian Buster)
    -
    6 x Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    5-Port HDMI Switch - FeinTech VSP01201 - Grabber Macrosilicon


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

  • Bei einem User haben wir die passenden Zeilen in /storage/hyperion/bin/hyperiond.sh eingesetzt.

    Ich habe mal die Konversationen durchsucht.


    gruß pclin

    Dreambox ONE / TWO
    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Lautsprecher ELAC
    LG 65' SUHD
    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng alpha.10 (dreamOS)
    Hyperion-ng (Debian Buster)
    -
    6 x Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    5-Port HDMI Switch - FeinTech VSP01201 - Grabber Macrosilicon


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

  • Bei einem User haben wir die passenden Zeilen in /storage/hyperion/bin/hyperiond.sh eingesetzt.

    hab ich gar nicht . . . wenn ich nach "hyperion*" suche, hab ich nur:

    ./etc/systemd/system/multi-user.target.wants/hyperion.service

    ./etc/systemd/system/hyperion.service

    ./etc/hyperion

    ./etc/hyperion/hyperion.config.json



    ich kenne aber auch dein System nicht, da habe ich jetzt keine Idee..., ausser die letzte Version von github selber compilieren oder auf hyperion-ng umzusteigen.

    Das System sollte ziemlich standard sein, ist nicht nennenswert vebastelt. Bevor ich mich mit dem Compilieren rumschlage, ziehe ich dann evtl. doch Phase 3 (Raspberry 4 mit hyperion.ng) vor ;-)

  • Kurze Zwischenfrage zum Feintech-Splitter:

    Der soll ja auf "EDID Copy" stehen. Das kann man wohl mit einem zweifachen Tastendruck einstellen und die LED wird dann grün.

    Bei mir bleibt die LED aber rot, egal wie oft ich drücke . . . muss man da auch noch was zu wissen? In der Anleitung steht dazu nichts.

  • alpha.10 kann ich nur empfehlen. ;)

    Läuft wirklich gut und stabil.


    gruß pclin

    Dreambox ONE / TWO
    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Lautsprecher ELAC
    LG 65' SUHD
    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng alpha.10 (dreamOS)
    Hyperion-ng (Debian Buster)
    -
    6 x Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    5-Port HDMI Switch - FeinTech VSP01201 - Grabber Macrosilicon


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

  • In der Zwischzeit lasse ich schonmal die Planung für WLED anlaufen, dafür habe ich mir jetzt nen NodeMCU Amica Modul V2 ESP8266 ESP-12F bestellt.

    Ich möchte zuerst meine WS2801 damit anbinden und dann später ggf. auf die SK6812 wechseln.


    Hierfür habe ich ein einstellbares Netzteil (18A/90W) ins Auge gefasst, sollte passen, oder?


    So wie ich das verstanden habe, ist das mit dem Widerstand und Kondensator ein wenig Anischts- bzw. Glücksache?

    Wenn es da keine gesicherte Erkenntnis zu gibt, würde ich das auch erstmal weglassen (keep it simple...).


    Grundsätzlich werden die Stripes über die NodeMCU mit Strom versogt und ab einer gewissen Länge empfiehlt es sich, am Ende des Stripes auch nochmal die 5V anzulegen, richtig?


    Ich schätze, es ist keine gute Idee, zwischen NodeMCU und Stripes eine Steckverbinding zu machen? Das würde den späteren Wechsel einfacher machen und spart das Umlöten..

  • Beim ESP8266 finde ich den Wemos Di mini am besten.

    Besser ist ein ESP32, hat mehr Möglichkeiten, bis zu 10 Stripes und bei Sound Reactive WLED

    Die Stripes werden nicht über den ESP mit Strom versorgt!

    Nur Ground vom Netzteil muss immer mit angeschlossen werden, man kann den ESP aber auch vom Netzteil mit Strom versorgen.

    Steckverbindungen am ESP sind kein Problem Widerstand, Kondensator und Level Shifter sind Optional, habe ich noch nie gebraucht.


    gruß pclin

    Dreambox ONE / TWO
    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Lautsprecher ELAC
    LG 65' SUHD
    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng alpha.10 (dreamOS)
    Hyperion-ng (Debian Buster)
    -
    6 x Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    5-Port HDMI Switch - FeinTech VSP01201 - Grabber Macrosilicon


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

  • Beim ESP8266 finde ich den Wemos Di mini am besten.

    Besser ist ein ESP32, hat mehr Möglichkeiten, bis zu 10 Stripes und bei Sound Reactive WLED

    Mist, dann hab ich falsch recherchiert . . . kann ich auch AZDelivery NodeMCU Development Nachfolgermodell ESP8266 nehmen? Die sind schon fertig belötet.

    Oder dann doch lieber AZDelivery D1 Mini Entwicklungsboard kompatibel ?

    Die Stripes werden nicht über den ESP mit Strom versorgt!

    In einem Youtube-Tutorial wurde das so gezeigt:


    Aber war auch nur ca. 1m Stripe, vielleicht deswegen.

    man kann den ESP aber auch vom Netzteil mit Strom versorgen

    Wäre ja am einfachsten und sinnvollsten. Das Netzteil ist dafür aber ok?

  • Mit NodeMCU geht das bei mir nicht mit der Stromversorgung der Stripes!

    Mit Wemos D1 mini versorge ich teilweise meine Lampen über USB, maximal sind da aber NUR 850mA möglich, sonst raucht der ab!

    Deshalb ist in WLED Default auch auf 850mA begrenzt. ;)


    Ground und 5V an beiden Enden der Stripes anlöten, ein Ground zum ESP.

    Das Netzteil ist OK, und man kann es einstellen. Nicht mehr als 5V am besten leicht drunter 4,95 mit einen Voltmeter unter Last einstellen.


    gruß pclin

    Dreambox ONE / TWO
    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Lautsprecher ELAC
    LG 65' SUHD
    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng alpha.10 (dreamOS)
    Hyperion-ng (Debian Buster)
    -
    6 x Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    5-Port HDMI Switch - FeinTech VSP01201 - Grabber Macrosilicon


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!