Best way to send reliable sync signal to multiple ESP8266's
Posted: Tue Sep 19, 2017 9:19 am
I need to send a 100 Hz sync signal to multiple ESP8266s so that they strobe some LEDs in time with a camera shutter.
Any thoughts on the best way to achieve this? If I use TCP/IP I'm guessing that the packet routing latency would be too unpredictable. My initial thoughts:
1. Add a NRF24l01 as the a dedicated receiver for the pulse sync signal. My concern here would be the battery drain.
2. Use the raw radio in the ESP rather than the TCP protocol. Problem with this is I need to send standard IP signals as well so I can't see that working.
3. Use the UDP protocol to received a multicast sync in addition to the TCP/IP. Would the ESP8266 be able to handle both UDP and TCP at the same?
Given that the sync pulse is 100Hz and it's for strobing LEDs, I can afford a reasonable number of ms of error, but I need a pretty good consistency. (My other problem is that I need to receive input from two rotary encoders, display to an LCD and send and receive occasional TCP data; I have a feeling I might be asking too much of the poor ESP8266...)
Any thoughts on the best way to achieve this? If I use TCP/IP I'm guessing that the packet routing latency would be too unpredictable. My initial thoughts:
1. Add a NRF24l01 as the a dedicated receiver for the pulse sync signal. My concern here would be the battery drain.
2. Use the raw radio in the ESP rather than the TCP protocol. Problem with this is I need to send standard IP signals as well so I can't see that working.
3. Use the UDP protocol to received a multicast sync in addition to the TCP/IP. Would the ESP8266 be able to handle both UDP and TCP at the same?
Given that the sync pulse is 100Hz and it's for strobing LEDs, I can afford a reasonable number of ms of error, but I need a pretty good consistency. (My other problem is that I need to receive input from two rotary encoders, display to an LCD and send and receive occasional TCP data; I have a feeling I might be asking too much of the poor ESP8266...)