Beiträge von pclin

    Wenn du einen schwenkbaren Arm an der Wand befestigt hast würde ich daran den Rahmen montieren.

    Hat der Monitor VESA?

    Vermutlich ja sonst würde das mit dem schwekarm ja nicht funktionieren. Den Rahmen an Vesa zwischen dem Monitor und Halter wäre dann die beste Lösung. Du hättest dann auch nichts am Monitor montiert oder verklebt, hat auch Vorteile.


    Zum Arduino Uno R3 kann ich dir nichts sagen, WLED läuft darauf schon nicht weshalb es für mich keine Alternative wäre.


    Wenn man Vergleiche der beiden sieht kommt der ESP32 was Leistung und Speicher angeht deutlich besser weg.

    Es ist also davon auszugehen das er auch deutlich weniger LED's berechnen kann.

    Die HD107s/108s sind die schnellsten Stripes am Markt und benötigen eine hohe Baudrate damit es nicht zu Verzögerungen kommt.


    Vergleich ESP32 & Arduino UNO R3
    In diesem Beitrag möchte ich einen Vergleich zwischen dem ESP32 und dem Arduino UNO R3 ziehen. Dabei zeige stelle ich nicht nur die technischen Daten gegenübe
    draeger-it.blog

    Esp32 vs Arduino: The Differences
    Learn all about two popular boards designed for applications like IoT and smart wearables. It's Esp32 vs. Arduino.
    all3dp.com


    Der ESP hat Wifi on Board und gibt es auch mit Ethernet und ist auch noch günstiger.

    Bei USB Verbindung zum Rechner wird vermutlich die Baudrate nicht ausreichen.


    gruß pclin

    Ich würde dir LED auf einen Rahmen hinter dem Monitor installieren.

    Die LED kommen dadurch näher an die Wand und der Abstand würde damit auch ausgeglichen.

    Mit dem Rahmen würdest du auf gleichen Abstand der LED zur Wand von überall ca. 14 cm kommen wodurch das Ergebnis deutlich besser würde.

    Bei einem 34 Monitor mit IP65 könntest du auch mehr als 60 LED/m verwenden, zu beachten ist das ein ESP8266 bei 60 FPS max. 250 LED berechnen kann, ich verwende auch aus diesem Grund nur noch ESP32.

    Bei einem großen Abstand zur Wand führt das aber auch dazu das man weniger Details bekommt, weil hellere LED's dunkle dann überstrahlen. HD107s/HD108s haben sogar einen noch größeren Abstrahlwinkel als andere LED 145 zu 120 Grad wodurch das Überstrahlen noch mehr wird.


    gruß pclin

    HD107s (8 Bit) HD108s (16 Bit) sind Nachfolger von APA102 und liefern ein besseres Ergebnis.


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Vom Weiss und Helligkeit sind die ähnlich der SK6812 RGBW.

    Mehr als 60 LED/m macht für Ambilight wenig Sinn.


    gruß pclin

    How would you like the Led's in the 4 zones to shine?

    The two upper ones matching TV above, bottom matching TV below?

    Depending on how you want them to shine, you will need 2 or 4 additional ESP with WLED.

    Create corresponding instances in Hyperion and make the LED layout for it.


    regards pclin

    Na dann könntest du den Autostart von Hyperion auch disabeln und den Hyperion Service nur starten/stoppen wenn du Ambilight benötigst.

    Das würde ja auch mit dem Webservice und Scripten funktionieren.


    gruß pclin


    ps.

    den Wert für sleep könntest du vermutlich auch noch reduzieren.

    Kleinen Moment noch, dann habe ich es am laufen


    gruß pclin


    So hat es jetzt bei mir funktioniert

    und im script

    Code: disable-hyperion
    sleep 10
    hyperion-remote -a localhost -D V4L
    hyperion-remote -a localhost -D LEDDEVICE


    EDIT:

    Den User kann man auch weglassen

    Code: hyperion-disable.service
    [Unit]
    Description=Service to disable hyperion LEDs and grabber on service startup
    Requires=hyperion@.service
    
    [Service]
    ExecStart=/bin/bash /home/pi/ambilight/webcli/scripts/disable-hyperion
    Type=oneshot
    
    [Install]
    WantedBy=multi-user.target



    Code
    After=hyperion.@pi.service

    Da ist ein . zuviel

    After=hyperion@pi.service

    oder

    Requires=hyperion@pi.service


    mein Fehler...


    Code
    After=network-online.target
    Wants=network-online.target

    Kannst du dann auch weg lassen.


    gruß pclin


    EDIT:

    Bevor du den Service enable teste auch erst mal von Hand.

    Zuerst systemctl status hyperion@pi, dann deinen service starten und deinen service mit status abfragen.

    Wenn das funktioniert kannst du deinen Service enable und neustarten.

    Code
    Unable to connect to host (localhost), port (19444)

    Wird also ausgeführt bevor das Netzwerk aktiv ist.

    Wenn du den Service nach einem Neustart manuell startest und es funktioniert ist das Netzwerk schon aktiv.

    Da musst du also ansetzen. ;)


    In hyperion.systemd findest du

    Code
    [Unit]
    Description=Hyperion ambient light systemd service  for user %i
    Documentation=https://docs.hyperion-project.org
    Requisite=network.target
    Wants=network-online.target
    After=network-online.target
    After=systemd-resolved.service

    EDIT:

    Du könntest auch in den hyperion.systemd evtl. auch ExecStartPre=dein script einbauen, vor ExecStart=/usr/bin/hyperiond, bzw. ExecStartPost=dein script nach ExecStart=/usr/bin/hyperiond


    ExecStartPre=, ExecStartPost=


    EDIT:

    Mit

    Code
    After=hyperion.@user.service

    sollte das aber auch funktionieren.


    gruß pclin