Accesisng ArtNet device that doesn't support ArtPoll/ArtPollReply
Posted: Tue Dec 22, 2020 7:59 pm
Total newbie here, just starting to learn QLC+ for my grand vision of a motion-activated skeleton band. My goal is to have an ESP8266 for each prop/fixture that controls LEDS and servos and the like, and that also has a motion sensor that, when tripped, unmutes a track of a multi-track audio file as well as enabling whatever sequence of LEDs and servo movements are supposed to be going on at that timepoint in the music (the first motion sensor event starts playback and also unmutes some portion of the tracks corresponding to who saw the motion). I have a simplified version of this working with Node Red and ecasound and the like, but it can only turn on and off motors and LEDs slowly, it isn't capable of moving servos according to the music (no sequencing, and not fast enough, just using MQTT). So I've decided to rework this in a more established context (software and hardware), and since QLC+ seems ok with the multitrack audio, figured it was a good place to start.
I'd like to have each ESP8266 respond to ArtNet data (or E1.31, not sure why one format would be better than another in this context, but open to opinions on this) by PWMing its GPIO pins (or, more likely, using a PCA9685 board or two for PWM output). I'm pretty sure I can parse the incoming ArtNet data to get the hardware to do what I want on the output side. The ESP8266 would also send data back to QLC+ if the motion sensor was activated (indicating which device saw motion), at which point various tracks may be unmuted (via the websockets interface? still figuring out how that will work).
So I've got an ESP8266 running the ArtNetWifi example (or the ArtNetNodeWifi example), and it sees ArtNet data I put on the network with Jinx, but the code doesn't seem to do respond to polling, and so the device isn't showing up in the list of ArtNet plugin devices. The help file suggests that it is possible to communicate with ArtNet devices that do not support ArtPoll/ArtPollReply, but I don't quite see how to set that up. Any advice on how to get QLC+ talking to an ArtNet device that isn't showing up on that list? Again, I can probably switch to E1.31, unless there's some reason I'm missing that it wouldn't work for this. I could also try to figure out how to write the polling response behavior into the ESP8266 code.
I've looked into the ESPixel firmware, but I'd need to modify the code to get the PWM outputs I want I think (and to get the motion sensor input back to QLC+), and the need to install gulp in windows is currently getting in the way (not impossible, but lots of extra steps, may be worth it though...)
I guess another question worth asking is whether it will be possible to get the motion sensor input on one of the ESP8266s to unmute, in realtime, an audio track and various other tracks (the first device that sees motion starts playback of the whole sequence, unmuted its unique set of tracks, and subsequent motion on other props should unmute additional tracks during playback...hope I've got the nomenclature correct).
The MQTT broker for the current implementation with Node Red and ecasound is running on a Raspberry Pi Zero W, and for the new implementation, I'd likely want QLC+ running on that board controlling the show (outputting audio, sending data to turn on/off LEDS and servos over WiFi, and responding to motion sensing events reported over WiFi).
I'd like to have each ESP8266 respond to ArtNet data (or E1.31, not sure why one format would be better than another in this context, but open to opinions on this) by PWMing its GPIO pins (or, more likely, using a PCA9685 board or two for PWM output). I'm pretty sure I can parse the incoming ArtNet data to get the hardware to do what I want on the output side. The ESP8266 would also send data back to QLC+ if the motion sensor was activated (indicating which device saw motion), at which point various tracks may be unmuted (via the websockets interface? still figuring out how that will work).
So I've got an ESP8266 running the ArtNetWifi example (or the ArtNetNodeWifi example), and it sees ArtNet data I put on the network with Jinx, but the code doesn't seem to do respond to polling, and so the device isn't showing up in the list of ArtNet plugin devices. The help file suggests that it is possible to communicate with ArtNet devices that do not support ArtPoll/ArtPollReply, but I don't quite see how to set that up. Any advice on how to get QLC+ talking to an ArtNet device that isn't showing up on that list? Again, I can probably switch to E1.31, unless there's some reason I'm missing that it wouldn't work for this. I could also try to figure out how to write the polling response behavior into the ESP8266 code.
I've looked into the ESPixel firmware, but I'd need to modify the code to get the PWM outputs I want I think (and to get the motion sensor input back to QLC+), and the need to install gulp in windows is currently getting in the way (not impossible, but lots of extra steps, may be worth it though...)
I guess another question worth asking is whether it will be possible to get the motion sensor input on one of the ESP8266s to unmute, in realtime, an audio track and various other tracks (the first device that sees motion starts playback of the whole sequence, unmuted its unique set of tracks, and subsequent motion on other props should unmute additional tracks during playback...hope I've got the nomenclature correct).
The MQTT broker for the current implementation with Node Red and ecasound is running on a Raspberry Pi Zero W, and for the new implementation, I'd likely want QLC+ running on that board controlling the show (outputting audio, sending data to turn on/off LEDS and servos over WiFi, and responding to motion sensing events reported over WiFi).