Will this topology work?

  • yes running PIN 12 / gpio 18 demands ledcontroller PWM ws281x


    Running PIN 19 / gpio 10 demands SPI ledcontroller ws2812



    For PWM make sure follow advice of Lord-Grey

    run Hyperion under root and disable audio in config.txt


    dtparam=audio=off



    For SPI make sure SPI device 0 is enabled in config.txt.


    dtparam=spi=on


    You need to run hyperion as root with this configuration (device 'ws281x) PWM



    go to your terminal



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



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

    Don't forget to reboot…


    now you can decide which ledcontroller you want to use

    Einmal editiert, zuletzt von TPmodding () aus folgendem Grund: 2 Beiträge von Lighting-guy77 mit diesem Beitrag zusammengefügt.

  • Will you clarify for me? What you and "Lord-Gray" are talking about does not pertain to me because I'm running ws2812spi, correct?

    Right, this was off topic your thread, sorry for this!


    Ambientheater77: The hyperiond@.service is empty in my case...:/

    Grüße aus Österreich / Greetings from Austria !

    - Don't wanna miss it anymore !

    Einmal editiert, zuletzt von Mike72 ()

  • MrMoosieMan you should do as mentioned and enable and check the logs, once you wire it up to either GPIO or the SPI interface, it will give you something a bit more concrete to go on.


    you can wire your leds up directly to the pi, GPIO is the easiest way (the way you originally had) - plug it into the pin and set controller to RPi-PWM and tell it what pin you used

    if you choose the SPI route you need to run Hyperion as the root user and set the controller to RPI-SPI


    Just wanted to run over that again as you last post you sounded like you were unsure what way to run it and your original post you were using GPIO method


    personally id choose the easy route to get it up and running then once its actually working change it to SPI if it offers greater awesomeness


    Good Luck :thumbup:

  • Thanks for the help!


    I have everything put back but can't seem to get the LEDs to light up. I can see the preview within the live feed inside Hyperion. Do you mind taking a look at my log file and letting me know if you see something off? I attached file.


    Also, here is a screenshot of the "source" selection if this helps at all.


  • looks to me like hyperion is happy, it can see your tvcard and you can see the video, and you went for GPIO18 on the RPi-PWM


    did you add the extra earth from pi GPIO to led lights?

    and disable the audio in config.txt as mentioned above?


    i just re-read Lord-Grey post i got it the wrong way round my apologies, RPi-PWM needs root permissions


    if you know how to SSH into the pi do that then either do as Ambientheater77 method above to set permissions and if no joy try these

    Code
    sudo systemctl disable hyperion
    sudo systemctl stop hyperion
    sudo su
    systemctl enable hyperion
    systemctl start hyperion
    exit


    if the first command fails then you may need to add a d to the end of all the hyperion commands so it looks like hyperiond or maybe someone else will post a cleaner way :thumbup:

  • I disabled audio in the config file. I opened the file @Lighting-guy77 recommended but the file was empty.


    sudo nano /etc/systemd/system/hyperiond@.service
    Remove the User sessionline and save with CTRL+O and exit CTRL+x


    When I go to the directory "/etc/systemd/system" directory I do NOT see a file named "hyperiond@.service". Please keep in mind I'm very new so I might be missing something. Below is what I see. Any ideas?


    root@HyperBian:~# cd /etc/systemd/system/

    root@HyperBian:/etc/systemd/system# ls

    autologin@.service dbus-org.bluez.service dhcpcd5.service getty@tty1.service.d hyperion.service poweroff.target.wants remote-fs.target.wants sysinit.target.wants

    bluetooth.target.wants dbus-org.freedesktop.Avahi.service dhcpcd.service.d halt.target.wants multi-user.target.wants rc-local.service.d sockets.target.wants syslog.service

    dbus-fi.w1.wpa_supplicant1.service dbus-org.freedesktop.timesync1.service getty.target.wants hyperiond@.service network-online.target.wants reboot.target.wants sshd.service timers.target.wants


    ----------------------------


    I also ran the below commands you recommended.


    pi@HyperBian:~ $ sudo systemctl disable hyperion

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


    pi@HyperBian:~ $ sudo systemctl stop hyperion


    pi@HyperBian:~ $ sudo su -i

    su: invalid option -- 'i'


    pi@HyperBian:~ $ sudo su -l


    SSH is enabled and the default password for the 'pi' user has not been changed.

    This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.


    Wi-Fi is currently blocked by rfkill.

    Use raspi-config to set the country before use.


    root@HyperBian:~# systemctl enable hyperion

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


    root@HyperBian:~# systemctl start hyperion


    ----------------------------


    I assume I'm its not going to work until I can run it under root. Any ideas?

  • root@HyperBian:~# systemctl start hyperion <- should be running as root

    check with

    Code
    ps aux | grep hyperion



    go back to logging and make sure debug is still enabled then toggle off then on to the led device in remote control tab then go back to errors see if anything new is there

  • This is what I get...


    root@HyperBian:/etc/systemd/system# ps aux | grep hyperion

    root 732 29.7 1.4 243832 55396 ? Ssl 18:39 19:53 /usr/bin/hyperiond

    root 873 0.0 0.0 7348 492 pts/0 S+ 19:46 0:00 grep hyperion


    I then rebooted and got the below. If I'm understanding correctly, I'm no longer running it under root, is that right?


    pi@HyperBian:~ $ ps aux | grep hyperion

    root 596 29.5 1.4 245032 55340 ? Ssl 19:58 0:16 /usr/bin/hyperiond

    pi 654 0.0 0.0 7348 528 pts/0 S+ 19:59 0:00 grep --color=auto hyperion


    I then ran your commands again and checked the status and it appears correct again.


    root@HyperBian:~# ps aux | grep hyperion

    root 708 30.9 1.4 245332 56332 ? Ssl 20:01 0:09 /usr/bin/hyperiond

    root 727 0.0 0.0 7348 516 pts/0 S+ 20:02 0:00 grep hyperion



    And this from the log...


    2021-03-26T23:47:07.655Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1054:handleLoggingCommand()) log streaming activated for client ::ffff:10.10.10.190 2021-03-26T23:47:07.730Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1063:handleLoggingCommand()) log streaming deactivated for client ::ffff:10.10.10.190 2021-03-26T23:47:42.364Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled 2021-03-26T23:47:43.547Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled


    Everything looks good, right?

  • looks good to me but im no pro ^^ , take it you can still see the video preview in Hyperion?


    Is solid colour or effect working?

    It appears to be working now. I disabled "smoothing" and the lights turned on and started working. Not sure why smoothing being enabled would kill it.

  • Lord-Grey would this work in Hyperbian as a way of granting the pi user the perms to Hyperion rather than running the service as root, fair play 99% of these builds it will make no difference if running as root but for the other 1% that may be out there


    switch to root user then use visudo to add the following at the end

    Code
    ## Hyperion Service
    Cmnd_Alias HYPERIONSERV =  /usr/bin/hyperiond start,  /usr/bin/hyperiond stop,  /usr/bin/hyperiond restart,  /usr/bin/hyperiond status,  /usr/bin/hyperiond enable,  /usr/bin/hyperiond disable
    
    pi    ALL = HYPERIONSERV


    :/

    • Offizieller Beitrag

    davieboy I fully agree that hyperion must not run under root per default ( Paulchen-Panther Haven't you had this changed for hyperBian lately?).


    Only in case a dedicated setup requires it, the user should level this up.
    Given that many users even struggle to get into ssh,it might have been that too much access was provided before.

    I do not have a PWM setup myself, therefore I cannot test your suggestion.
    Maybe you have a go an share the outcome.
    Only one finding, I assume that hyperiond status would not be required to run under root.
    So therefore focus on start,stop and restart.

    No sure what you like to achieve with hyperiond enable/disable? I guess you mean hyperion-remote?
    That should be able to run in user-space.

    Alternatively, i came across lately pi-blaster
    It looks like that it allows to map GIO to a device.
    That would be a clean architecture. pi-blaster runs as a daemon and hyperion in the user space.
    Maybe you want to have a look at this one too.

  • It appears to be working now. I disabled "smoothing" and the lights turned on and started working


    pull request is still not implemented in Hyperion 2.09 Alpha Lord-Grey ?


    seems the problem is there still in the build?

    its only a question ofcourse :)




    Quote from MrMoosieMan When I go to the directory "/etc/systemd/system" directory I do NOT see a file named "hyperiond@.service"


    you have to do that in SSH/terminal > if you go directly to desktop GUI of the PI then CTRL+h shows hidden folders.


    i looked in mine and its empty too, i think that its not implemented and therefor necessary in my build/your build.

    I am running SPI and don't need the ROOT permissions, but i am sure there's a way to set it automatically so Hyperion will start up as root.

    or a diffrent workaround, but i don't know that.

    • Offizieller Beitrag

    Ambientheater77 Please remind me... which PR# you are referring to?

    All PRs after releasing alpha9 were merged into the master branch.

    If a user installs the packages alpha9 release, those PRs are of course not included, yet.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!