forkineye / E131

E1.31 (sACN) library for Arduino with ESP8266 support
127 stars 44 forks source link

How to best interleave non-SACN reception? #12

Closed zephyrr closed 7 years ago

zephyrr commented 7 years ago

I want a single ESP8266 node to respond to both SACN e1.31 for light control, and to some home automation style control. (Basically this is a 26 pixel indoor lighting fixture which I want to be able to either control individually via Vixen via e1.31 sometimes, or turn on/off/pattern/color via a home automation protocol; eg: Wemo or Hue emulation, or perhaps MQTT).

I could (1) accept both kinds of UDP on the same port, then for HA packets, after parsepacket() fails due to a validate() error, reparse the same packet with my other code, or (2) intercept the incoming UDP packet before this library, check for it being my packet, and then if not let parsepacket() have it, or (3) use a different port and receive packets separately from those received & parsed by this library.

I'm not yet up on the details enough to guess which of these is most likely to be fruitful, so I'd appreciate some hints & suggestions from somebody who understands better how all the pieces fit together.

forkineye commented 7 years ago

Have you looked at openHAB -http://www.openhab.org? In particular, the DMX binding - http://docs.openhab.org/addons/bindings/dmx1/readme.html. I'd recommend going that route and sendind the data as E1.31 vs getting another service listening given the constrained resources.

forkineye commented 7 years ago

@zephyrr Just added MQTT support to my ESPixelStick project - https://github.com/forkineye/ESPixelStick. Recommend checking it for how to handle MQTT along with E1.31.