Wled: add ArtNet ArtPoll support

Created on 5 Dec 2019  路  17Comments  路  Source: Aircoookie/WLED

it would be nice if WLED supported ArtNet in addition to E1.31.

artnet can be either very simple - ArtNetDMX packet only or complex with support for RDM and remote programming of node features

I'm looking at various artnet code bases there a couple for esp but none are async :
https://github.com/rstephan/ArtnetWifi
https://github.com/natcl/Artnet
https://github.com/mtongnz/ESP8266_ArtNetNode_v2
https://github.com/hideakitai/ArtNet

there is a more complete codebase for reference:
https://github.com/OpenLightingProject/libartnet

the spec for it all is:
https://art-net.org.uk/resources/art-net-specification/

thanks

enhancement help wanted

Most helpful comment

Thank you for finding me a few links. Looking at https://github.com/rstephan/ArtnetWifi, it seems to communicate via UDP, just like E1.31 and be quite straightforward. If we are lucky, I should be able to add some nice async Artnet support!

All 17 comments

Thank you for finding me a few links. Looking at https://github.com/rstephan/ArtnetWifi, it seems to communicate via UDP, just like E1.31 and be quite straightforward. If we are lucky, I should be able to add some nice async Artnet support!

What is the progress on this so far? Great job on the software, it is much better than alternatives I have been using!

Wanted to ask the same, is there any code for Artnet yet? Because otherwise I might give it a try. :-) I just used ESP8266_ArtNetNode_v2 on an ESP-01 to get my RGBW LED Moving Head connected via WiFi, and that works beautifully with the free PC software DMXControl. It has a nice editor for creating custom devices, too. Now I'd like to integrate my WLED based sideboard illumination, and here I am, thinking about Artnet. :-)

initially i wanted to have that, too. i'm now hooked on E1.31, which was elementary supported and improved that. since there's currently a lot going on (refactoring, open DMX pull requests) i would postpone this a little bit. the idea is to implement ArtNet eventually alongside the E1.31 implementation, as they are just envelopes for the same letter.

@T-Arens decided I want to work on this today. If everything works out, we might have artnet support in a few hours!

@pille yep, I'm just extending the ESPAsyncE131 to deal with the different ArtNet packet structure. Will just call handleE131Packet() and work exactly the same as E1.31 as far as WLED is concerned.

Artnet would be awesome. The reason it works better in my case is that I can have multiple devices subscribed to the same universe, which my software automatically configures to unicast. SACN on the other hand will only let you set up a single device to each universe in unicast, and multicast is of course not ideal on wifi.

@abyssdj: i'm using E1.31 in multicast mode on WIFI and have no problems. as all lights share the same packet, this actually reduces bandwith on the network.

WLED now supports Artnet in latest master source! Feel free to give it a try, it needs to be enabled in Sync settings and then rebooted.

Nice, thx!
It doesn't work though, I think because DMXControl first scans all Artnet devices with "ArtPoll packet (0x2000)" (from Wireshark) and does not send out anything as long as there is no answer.

Edit: at least as long as there are no other devices, didn't test with a second device.

Just compiled and uploaded, appears to be working. Not tried with two or more devices yet, so will update if that raises any issues. However, the computer (Lightjams) is not detecting and displaying the node so this must be working in multicast mode. As @pille suggested, on paper this should use less bandwidth I guess, but either way it would be ideal if it was detectable by other nodes. I expect this is the same as @T-Arens refers to above.

Yep, WLED currently implements code from hideakitai's project, which only supports ArtDmx packets and as such not the polling discovery mechanism. natcl's library seems to implement the ArtPoll mechanism though, that could ease porting it to WLED :)

That explains that then. Either way though, I'm finding it much more responsive and fluid than SACN.

Thanks for highlighting, Aircookie. Do you plan to integrate ArtPoll into WLED by any chance?

I am considering that, would definitely be useful! But it may take a little while until i have time for it

Evening! Just noticed this has been changed to ArtPoll and bumped to 1.0.0, is there any way it can be implemented quicker? Would it work from a usermod, in some way?

Sorry, I do have other features that are requested more at the time, so they are higher up on the priority list. Feel free to give it a try yourself or find someone to add it, I'd be happy about a PR :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

CollaVinilica picture CollaVinilica  路  3Comments

Aircoookie picture Aircoookie  路  4Comments

jwingefeld picture jwingefeld  路  3Comments

BugsBunny1403 picture BugsBunny1403  路  3Comments

ArJay60 picture ArJay60  路  3Comments