1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

DMX e1.31 sACN Support to send to esp8266

Discussion in 'Development' started by mammut, 14 August 2016.

  1. mammut

    mammut New Member

    Messages:
    8
    I have a custom computer controlled Christmas light setup that accepts e1.31 traffic over wifi using the esp8266 to control ws2812 pixels. The project link is below. I currently have a wired Hyperion setup using the ws2812 connected directly to my Pi but would love to make this wireless and I have a spare couple of esp8266 e1.31 controllers around.

    I know redPanther has added support for fadecandy and through OLA it is possible to send e1.31.

    Any chance of native e1.31 support?

    https://github.com/forkineye/ESPixelStick

    Thanks for looking!
     
  2. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
  3. mammut

    mammut New Member

    Messages:
    8
    Main reason for e1.31 is I already have some modules that support it and it would be easy to integrate for me. Totally understand if DMX type of interface is not in the scope of the project.

    Thanks

    http://forkineye.com/espixelstick/
     
  4. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    We're not prejudiced against any particular interface type - I was only suggestion what's out there already.

    What are your programming skills like ?
    I could help you add sacn support
     
  5. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    • Like Like x 1
  6. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
  7. mammut

    mammut New Member

    Messages:
    8
    Wow! Amazing progress.

    Sorry, haven't been getting email notifications on this thread.

    I will test it out this evening.
     
  8. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    I'm extending it some more today to use >170 LEDs splitting the data across multiple universes.

    What's there in Hyperion.ng as of now will work for up to 170 LEDs.
     
  9. mammut

    mammut New Member

    Messages:
    8
    Was able to compile and test it out and it is working without issues with the max 170 pixels.

    When you get it setup for multiple universes I can test out with up to 2048 leds with my P10 matrix to really push it.

    Only issue I saw was it appears green and blue are swapped. I had to setup rbg in the .conf file rather then the normal rgb I have setup with my other e1.31 sources.
     
  10. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
  11. mammut

    mammut New Member

    Messages:
    8
    Tried with your branch and no luck. I am not seeing the packets hit the e1.31 device.

    I tried using my 170 led conf file as well as a 2048 led conf. Both had the same result as no packets showing up at the pixel stick.
     
  12. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    weird - what sort of device is doing the receiving?
    I've only got an ESPixelstick with 300 LEDs hanging off it
     
  13. mammut

    mammut New Member

    Messages:
    8
    I must have screwed something up in my conf file. Getting this.

    Code:
    [HYPERIOND LedDevice] <INFO> configuration:
    {
            "colorOrder" : "rbg",
            "name" : "DMX_e131",
            "output" : "192.168.1.210:5568",
            "rate" : 1000000,
            "type" : "e131"
    }
    
    [HYPERIOND LedDevice] <ERROR> Dummy device used, because configured device 'e131' throws error 'std::exception'
    
     
  14. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
  15. mammut

    mammut New Member

    Messages:
    8
    Now that I have the right branch it works perfectly. ;)

    No issues running all 2048 leds in my p10 matrix through another e1.31 device and it also works with my regular string of ws2811 leds with the ESPixelstick.

    This is really going to open things up for a lot of DMX devices. Great work and thanks!

    Let me know and I can test out any other updates for it.


    hyperion_matrix_2048.jpg
     
  16. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    Sweet !

    Have you got a multicast setup ?

    It should "just work" with a single target address.
    What won't work is separate multicast addresses per universe - does that really matter in practice for this sort of use case ?

    Would a DMX _listener_ be of use on Hyperion ?
     
  17. TPmodding

    TPmodding Administrator Staff Member Administrator

    Messages:
    911
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino
    damn oO do you controll 2048 leds with an esp?!
     
  18. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    use a good library that doesnt do it by bitbashing.
    NeoPixelBus with asyncuart or dma offloads most of the processing so the CPU has a hope of also receiving packets at the same time!

    btw, I'm ditching my current ESP8266 project in favour of modifying https://github.com/forkineye/ESPixelStick
    I've already added raw udp support to it
     
  19. mammut

    mammut New Member

    Messages:
    8
    @penfold42 I can test with multicast. I am going to be on vacation the next week and am not sure when I'll be home to try it out though. I agree with you that splitting the universes across separate multicast addresses is not needed. For multicast maybe you could define which universe to start at in the Device config? That would give some flexibility to the multicast device setup.

    I am trying to think through a use case for a DMX _listener and I couldn't come up with one.

    Also on the ESPixelStick, Shelby is working on a 2.0 version I don't believe he has up in github yet. You may want to ping him. He in on diychristmas.org and doityourselfchristmas.com with a user name of sporadic. Most of the changes were around the UI and updating the firmware via a web interface I believe rather then pixel related.

    @TPmodding No ESP for the 2048 LEDs. :)

    I am using 4 P10 panels that have 2048 LEDs total to a RPi B+ with a matrix hat. I run a package on the pi called FPP that is used for mainly running Christmas light sequences but can also be used to bridge e1.31 to the P10 panels.

    There is a lot of cool stuff going on with these LEDs being used for Christmas lights.

    P10 Matrix Hat: https://ronsholidaylights.com/raspberry-pi-matrix-adapter/

    FPP: http://www.falconchristmas.com/wiki/Falcon_FPP

    Guide to setting up the panels, it uses a BBB and a different hat but same idea: http://www.diychristmas.org/wiki/index.php?title=Building_an_Octoscroller_Matrix_Display
     
  20. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266