ws2812b leds werken totaal niet

  • ik ben gisteren aan mijn eerste poging begonnen om een ledstrip met hyperion te maken.

    hyperbian image geinstalleerd op een raspberry pi4 4gb en dit is vlotjes verlopen.

    ik gebruik als capture een webcam omdat ik op 120hz switchen en capture cards wacht voor de ps5 en xbox series x.


    staat ingesteld als ws218x

    om de ledstrip te testen voor ik hem aan de tv bevestig heb ik hem als 300led ingegeven met 100 100 50 50 als gemak voor de boven onder en zijkanten.

    ik werk met een afgeknipte usb-c die die power geeft aan de raspberry pi gedeeld met de 5v leicke 10A 50W adapter (model nt30538 ) en de leds.

    de pi werkt er prima mee, gpio zou geen common ground moeten hebben omdat ik de pi met de usb voeding van stroom voorzie en niet met de pads op de pi.( ik heb ook ff een common ground kabel getest zonder succes )


    ik krijg echter geen enkel lampje aan de praat wat ik ook probeer...

    uiteraard zit ik op pin 18.


    hierbij de loggegevens.





    2021-09-16T16:46:07.449Z [hyperiond HYPERION] (INFO) Hyperion instance 'GPIO18' has been started

    2021-09-16T16:46:06.562Z [hyperiond CEC] (INFO) Auto detecting CEC adapter

    2021-09-16T16:46:06.562Z [hyperiond CEC] (INFO) CEC Adapter:

    2021-09-16T16:46:06.562Z [hyperiond CEC] (INFO) Name : RPI

    2021-09-16T16:46:06.562Z [hyperiond CEC] (INFO) Path : Raspberry Pi

    2021-09-16T16:46:06.711Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:220:setInput()) Priority 254 is now active

    2021-09-16T16:46:06.711Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:374:setCurrentTime()) Set visible priority to 254

    2021-09-16T16:46:06.711Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:559:handlePriorityChangedLedDevice()) priority[254], previousPriority[255]

    2021-09-16T16:46:06.711Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:569:handlePriorityChangedLedDevice()) new source available -> switch LED-Device on

    2021-09-16T16:46:06.721Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:271:setInputImage()) Priority 1 is now active

    2021-09-16T16:46:06.722Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:374:setCurrentTime()) Set visible priority to 1

    2021-09-16T16:46:06.722Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:559:handlePriorityChangedLedDevice()) priority[1], previousPriority[254]

    2021-09-16T16:46:06.723Z [hyperiond HYPERION] (DEBUG) (BGEffectHandler.h:91:handlePriorityUpdate()) Stop background (color-) effect as it moved out of scope

    2021-09-16T16:46:06.723Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:292:clearInput()) Removed source priority 254

    2021-09-16T16:46:06.727Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:271:setInputImage()) Priority 1 is now active

    2021-09-16T16:46:06.727Z [hyperiond HYPERION] (DEBUG) (BGEffectHandler.h:91:handlePriorityUpdate()) Stop background (color-) effect as it moved out of scope

    2021-09-16T16:46:06.727Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:292:clearInput()) Removed source priority 254

    2021-09-16T16:46:06.727Z [hyperiond EFFECTENGINE] (INFO) Run effect "Warm mood blobs" on channel 254

    2021-09-16T16:46:06.728Z [hyperiond EFFECTENGINE] (DEBUG) (EffectEngine.cpp:181:runEffectScript()) Start the effect: name [Warm mood blobs], smoothCfg [2]

    2021-09-16T16:46:06.728Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:165:registerInput()) Register new input 'System/EFFECT' with priority 254 as inactive

    2021-09-16T16:46:06.728Z [hyperiond HYPERION] (INFO) Initial background effect 'Warm mood blobs' started

    2021-09-16T16:46:06.728Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:374:setCurrentTime()) Set visible priority to 1

    2021-09-16T16:46:06.729Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:559:handlePriorityChangedLedDevice()) priority[1], previousPriority[255]

    2021-09-16T16:46:06.729Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:569:handlePriorityChangedLedDevice()) new source available -> switch LED-Device on

    2021-09-16T16:46:06.729Z [hyperiond HYPERION] (DEBUG) (BGEffectHandler.h:91:handlePriorityUpdate()) Stop background (color-) effect as it moved out of scope

    2021-09-16T16:46:06.730Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:292:clearInput()) Removed source priority 254

    2021-09-16T16:46:06.747Z [hyperiond EFFECTENGINE] (INFO) effect finished

    2021-09-16T16:46:06.830Z [hyperiond EFFECTENGINE] (INFO) effect finished

    2021-09-16T16:46:07.439Z [hyperiond FLATBUFSERVER] (INFO) Started on port 19400

    2021-09-16T16:46:07.440Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:33:initServer()) Initialize Webserver

    2021-09-16T16:46:07.439Z [hyperiond PROTOSERVER] (INFO) Started on port 19445

    2021-09-16T16:46:07.442Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:33:initServer()) Initialize Webserver

    2021-09-16T16:46:07.455Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:91:handleSettingsUpdate()) Apply Webserver settings

    2021-09-16T16:46:07.455Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:109:handleSettingsUpdate()) Set document root to: :/webconfig

    2021-09-16T16:46:07.456Z [hyperiond WEBSERVER] (INFO) Started on port 8090 name 'Hyperion Webserver'

    2021-09-16T16:46:07.458Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:91:handleSettingsUpdate()) Apply Webserver settings

    2021-09-16T16:46:07.460Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:109:handleSettingsUpdate()) Set document root to: :/webconfig

    2021-09-16T16:46:07.835Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:175:handleSettingsUpdate()) Setup SSL certificate

    2021-09-16T16:46:07.836Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:191:handleSettingsUpdate()) Setup private SSL key

    2021-09-16T16:46:07.836Z [hyperiond WEBSERVER] (INFO) Started on port 8092 name 'Hyperion Webserver'

    2021-09-16T16:46:08.160Z [hyperiond CEC] (INFO) CEC Handler initialized with adapter : RPI

    2021-09-16T16:46:08.459Z [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:192.168.0.165

    2021-09-16T16:46:08.459Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:122:handleInstanceSwitch()) Client '::ffff:192.168.0.165' switch to Hyperion instance 0

    2021-09-16T16:46:08.479Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:271:setInputImage()) Priority 240 is now active

    2021-09-16T16:46:08.479Z [hyperiond EFFECTENGINE] (INFO) Previous line repeats 1 times

    2021-09-16T16:46:08.479Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:271:setInputImage()) Priority 240 is now active

    2021-09-16T16:46:08.701Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:122:handleInstanceSwitch()) Client '::ffff:192.168.0.165' switch to Hyperion instance 1

    2021-09-16T16:46:08.766Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1058:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.0.165

    2021-09-16T16:46:09.665Z [hyperiond EFFECTENGINE] (INFO) effect finished

    2021-09-16T16:46:09.676Z [hyperiond EFFECTENGINE] (INFO) effect finished

    2021-09-16T16:46:09.685Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:337:setCurrentTime()) Timeout clear for priority 1

    2021-09-16T16:46:09.685Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:337:setCurrentTime()) Timeout clear for priority 1

    2021-09-16T16:46:09.685Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:374:setCurrentTime()) Set visible priority to 240

    2021-09-16T16:46:09.685Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:374:setCurrentTime()) Set visible priority to 240

    2021-09-16T16:46:09.686Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:559:handlePriorityChangedLedDevice()) priority[240], previousPriority[1]

    2021-09-16T16:46:10.033Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1067:handleLoggingCommand()) log streaming deactivated for client ::ffff:192.168.0.165

    2021-09-16T16:46:10.034Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1058:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.0.165

    • Best Answer

    hallo, je hebt precies het belangrijkste niet gepost van je debug log , post het eerste deel eens.


    daarnaast>> een common ground is levensbelangrijk. Dus alle GND/ minus/V- met elkaar verbinden anders krijg je polariteitsverschil tussen de GND.

    GND ( V-) van PSU doorverbinden naar de leds en van de leds weer naar de PI, gebruik voor de PI minstens 2 GND PINs, maakt niet uit welke.


    probleem 3, je hebt ws281x ledcontroller met PWM gekozen, deze heeft root permissie nodig op hyperion om te kunnen deployen.

    hoogstwaarschijnlijk heb je ergens een regel in je debug log staan met mmap failed 


    als dat er staat kan Hyperion geen rechten krijgen over de audio service ( PWM is een soort van audio signaal) en daarom doen je leds het niet


    Automatically runs when power up the pi, also startup effect is running. >> mmap failed, you are using ws281x Ledcontroller PWM >> that needs root privileges to run. [hyperiond LEDDEVICE] (ERROR) Device disabled, device 'ws281x' signals error: 'Failed to open. Error message: mmap() failed'

    Hyperion has to run under root for this.


    ad a line in config.txt dtparam=audio=off


    in terminal:

    pi@HyperBian:~ $ sudo systemctl disable --now hyperion(d)@pi

    pi@HyperBian:~ $ sudo systemctl enable --now hyperion(d)@root

    (d) try the code with and without the d, no hooks used



    or in terminal


    sudo nano /etc/systemd/system/hyperiond@.service



    Remove the User sessionline User=pi and save with CTRL+O and exit CTRL+x.


    Don't forget to reboot

  • Hyperion System Summary Report (Mijn Hyperion Conf), Reported instance: First LED Hardware instance


    < ----- System information -------------------- >

    Hyperion Server:

    - Build: (HEAD detached at 2.0.0-alpha.10) (Paulchen-Panther-975f969/b1a4e95-1626550299)

    - Build time: Jul 17 2021 21:50:25

    - Git Remote: https://github.com/hyperion-project/hyperion.ng

    - Version: 2.0.0-alpha.10

    - UI Lang: nl (BrowserLang: nl-BE)

    - UI Access: expert

    - Avail Capt: dispmanx,v4l2,framebuffer,qt

    - Database: read/write


    Hyperion Server OS:

    - Distribution: HyperBian GNU/Linux 10 (buster)

    - Architecture: arm

    - CPU Model: ARMv7 Processor rev 3 (v7l)

    - CPU Type: Raspberry Pi 4 Model B Rev 1.1

    - CPU Revision: c03111

    - CPU Hardware: BCM2711

    - Kernel: linux (5.10.17-v7l+ (WS: 32))

    - Qt Version: 5.11.3

    - Python Version: 3.7.3

    - Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36


    < ----- Configured Instances ------------------ >

    0: First LED Hardware instance Running: true

    1: GPIO18 Running: true


    < ----- This instance's priorities ------------ >

    240: VISIBLE! (V4L) Owner: V4L2

    priorities_autoselect: true


    < ----- This instance components' status ------->

    ALL - true

    SMOOTHING - true

    BLACKBORDER - true

    FORWARDER - false

    BOBLIGHTSERVER - false

    GRABBER - false

    V4L - true

    LEDDEVICE - false



    is dit voldoende ?


    alvast bedankt om te antwoorden en ik ga nu de rest van je voorstellen proberen aanpasssen.

  • is niet actief


    oke laat maar weten :)

  • dus deze heb ik toegepast en zijn gelukt.


    ad a line in config.txt dtparam=audio=off


    in terminal:

    pi@HyperBian:~ $ sudo systemctl disable --now hyperion(d)@pi

    pi@HyperBian:~ $ sudo systemctl enable --now hyperion(d)@root

    (d) try the code with and without the d, no hooks used


    de laatste was optioneel als de rest in de terminal niet werkte , als ik het goed begrepen heb ?


    nu heb ik 1 led brandend, starpositie staat gewoon op led 1 en zoals beschreven bovenaan 100 100 50 50.

    ik heb nog ergens iets gemist zo te zien...


    common grounds zijn ook gefikst.


    de led reageert in ieder geval op de camera :)


    edit : led 1 eruit geknipt en terug gesoldeerd op led 2 en het is opgelost, ik moet iets geraakt hebben of de strip was slecht . opgelost.

    alles ziet er werkend uit .


    en nog eens bedankt voor de snelle hulp :thumbup:

  • geen probleem, graag gedaan. Bij de meeste mensen geeft de ws281x ledcontroller problemen in de nieuwe 2.10 Alpha build.


    Ik had met dev gesproken waarom Hyperion dan niet meteen als root kan draaien en starten, maar heeft met security te maken.

    Je zet de Pi als het ware "open"



    :)

  • bedankt, ik snap het wel hoor.

    mag ik eens vragen ( of anders maak ik wel een aparte tread aan ),

    heb je misschien een idee voor een goeie betaalbare capture card die ook hdr signaal geeft met dolby atmos en 4k 60hz, deze zou in theorie wel aan 2k 120hz moeten kunnen draaien dacht ik , dan kan ik men xbox series x in 2k 120hz zetten.

    als je eenmaal 120hz gewoon bent, dan geef ik liever wat pixels af dan dat...

    alleen bij de ps5 maakt dit niets uit , pracht toestel met de beste controller tot nu toe, maar toch heeft die controller nog steeds veel inputlag, dus deze kan perfect op 4k 60hz blijven en die kan ook gewoon niet op 2k ( pff 8o )

    een complimentaire hdmi switch mag ook aangeraden worden eventueel ;)

Participate now!

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