WLEDwiki/UDP-Realtime-Control-(WARLS...

20 lines
1.4 KiB
Markdown
Raw Normal View History

WLED offers a way to directly drive the connected LEDs via UDP. The protocol is referred to as WLED [Audio-Reactive-Led-Strip](https://github.com/scottlawsonbc/audio-reactive-led-strip) (WARLS), since the support of that project was its primary goal. However, it can also be used for other realtime applications like an ambilight.
WARLS uses the same UDP port the notifier uses (default 21324, can be changed in settings).
At the moment, the HTTP API and webserver will be disabled while active, Alexa and button control remains functional.
It does not support the white channel of RGBW LEDs yet and uses the current brightness and gamma correction settings.
Byte 0 of the UDP packet has the value 1 which tells the server to use WARLS instead of the default notifier protocol.
Byte 1 tells the server how many seconds to wait after the last recieved packet before returning to normal mode, in practice you should use 1 (second) here in most cases.
After this the LED color information is transmitted like:
Byte | Description
--- | ---
2 + n*4 | LED Index
3 + n*4 | Red Value
4 + n*4 | Green Value
5 + n*4 | Blue Value
When WARLS mode starts, all LEDs will be black. However, you don't have to change all LEDs using one packet.
Changing a single LED therefore only requires a packet of 2+4 bytes. All LEDs maintain their color until it is changed or the module exits WARLS mode because of a timeout.