Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Support for E1.31 Protocol #18

Merged
merged 2 commits into from
Nov 21, 2018
Merged

Conversation

ahodges9
Copy link
Contributor

@ahodges9 ahodges9 commented Mar 9, 2018

I have been doing some investigation into minimizing latency and adapting more commercial grade standards which lead me to this PR.

E1.31 is a popular lightweight streaming protocol that supports a lot of cool things like multi-casting (not yet supported). Turns out Hundemeier just recently wrote a python library for this which makes it super easy to integrate. So this PR adds support for communicating with any E1.31 client and driving various types of LEDs (including our beloved WS2812Bs). There are a ton of controllers out there, but what is relevant to this application is ESPPixelStick which is a ESP8266 FW that supports WS2812Bs. The firmware supports a ton of great features (web interface, local animations, websocket connect, json apis to query things like LED counts, etc) so check it out. Still doing some performance testing, but so far it seems to be significantly better on my network than the current ESP8266 solution. And has lots of bonus features :)

Try it out and let me know how it performs on your network!

NOTE: This adds a new dependency: pip install sacn. Unfortunately the sacn library only functions on python 3.6+ so your environment might need to be updated

@not-matt not-matt self-requested a review March 22, 2018 15:24
Copy link
Owner

@not-matt not-matt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, what firmware changes are required on the ESP?

@ahodges9
Copy link
Contributor Author

ahodges9 commented May 2, 2018

This requires any E1.31 compatible device. There are a ton of non-DIY solutions, but there is also the ESPixelStick firmware for ESP8266s. So just flash ESPixelStick then navigate to the webui to configure the device.

@not-matt not-matt merged commit c12de0c into not-matt:master Nov 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants