Hi,
I am planning to build a remote volume control for an outdoor entertainment system. The plan is to have one “master” unit that will be hard-wired to the amplifier and mains powered then many “remote” units running on an ESP32 C3 that will be battery powered, each with a small e-ink display and several rotary encoder knobs (one for each speaker zone).
The intended process is that the “remote” units will stay in deep sleep most of the time, waking approx every 1 mins to update their e-ink display with the current volume level of each zone. If a user interacts with the rotary encoder it will immediately wake the device, update the display, declare itself as ‘active’ and start transmitting its locally set volume settings to the master. When no user input has been received for 10 seconds, it will declare itself inactive and go back into the deep-sleep cycle.
What is the best way to implement this? There are a few guides out there suggesting that using BLE announcements is much more power efficient as it doesn’t require any connection setup? Is there that much in it? Seems its the difference between:
Wake up, wait X milliseconds for an announcement from the Master, update state, sleep
Or
Wake up, establish connection, request update from Master, update state, sleep.
Can’t get my head around whether waiting X milliseconds for an annoucement is actually more power efficient than just establishing a connection and requesting the state immediately. Also in the announcement model the master would have to be constantly sending announcements, which seems wasteful.
Thanks!