UDP Echtzeit Steuerung - Aircoookie/WLED-wiki-DE GitHub Wiki

Hyperion

Sie können WLED jetzt mit der beliebten Ambilight-Software Hyperion verwenden. Konfigurieren Sie Hyperion einfach für die Verwendung eines UDP-Geräts mit Protokoll 0 an Port 19446! Die maximale Anzahl der in diesem Modus unterstützten LEDs beträgt 490. (WLED 0.8.0 und niedriger: 341)

UDP Echtzeit

Zusätzlich bietet WLED eine Möglichkeit, die angeschlossenen LEDs direkt über UDP anzusteuern. Das Protokoll wird als WLED (Audio-Reactive-Led-Strip)(https://github.com/scottlawsonbc/audio-reactive-led-strip) (WARLS) bezeichnet, da die Unterstützung dieses Projekts das Hauptziel war. Es kann jedoch auch für andere Echtzeitanwendungen wie Ambilight verwendet werden.

WARLS verwendet denselben UDP-Port, den der Notifier verwendet (Standard 21324, kann in den Einstellungen geändert werden). Momentan wird die Web-Benutzeroberfläche deaktiviert, solange sie aktiv ist. Die HTTP-API, Alexa und die Schaltflächensteuerung bleiben funktionsfähig. Es verwendet die aktuellen Einstellungen für Helligkeit und Gammakorrektur.

Byte 0 des UDP-Pakets teilt dem Server mit, welches Echtzeitprotokoll verwendet werden soll.

Wert | Beschreibung | Max. LEDs

--- --- --- ---.
1 WARLS 255
2 DRGB 490
3 DRGBW 367
4 DNRGB 489/packet
0 WLED Notifier -

In jedem Protokoll teilt Byte 1 dem Server mit, wie viele Sekunden nach dem zuletzt empfangenen Paket gewartet werden soll, bevor in den normalen Modus zurückgekehrt wird. In der Praxis sollten Sie hier in den meisten Fällen 1-2 (Sekunden) verwenden, damit das Modul danach schnell in den normalen Modus zurückkehrt das Ende der Übertragung. Verwenden Sie 255, um die UDP-Daten ohne Zeitüberschreitung beizubehalten, bis eine Anforderung über eine andere Methode angefordert wird.

Danach werden die LED-Farbinformationen wie folgt übertragen:

WARLS

Byte Beschreibung
2 + n*4 LED Index
3 + n*4 Roter Wert
4 + n*4 Grüner Wert
5 + n*4 Blauer Wert

DRGB: Dieser Modus hat den Unterschied, dass die LED-Indizes nicht Teil des Pakets sind, sondern jede LED aktualisiert wird. Dies führt zu einer höheren Geschwindigkeit, wenn alle LEDs gewechselt werden, aber zu einer drastisch niedrigeren Geschwindigkeit, wenn nur eine LED pro Paket aktualisiert wird.

Byte Beschreibung
2 + n*3 Roter Wert
3 + n*3 Grüner Wert
4 + n*3 Blauer Wert

DRGBW: Wie DRGB, unterstützt jedoch den Weißwert für RGBW-Streifen.

Byte Beschreibung
2 + n*4 Roter Wert
3 + n*4 Grüner Wert
4 + n*4 Blauer Wert
5 + n*4 Weißwert

DNRGB: DRGB, jedoch mit 2 zusätzlichen Bytes, die den Start-LED-Index anzeigen. Dies ermöglicht mehr als 490 LEDs im Echtzeitmodus durch Senden mehrerer Pakete.

Byte Beschreibung
2 Starten Sie das High-Byte des Index
3 Starten Sie das Low-Byte des Index
4 + n*3 Roter Wert
5 + n*3 Grüner Wert
6 + n*3 Blauer Wert

Wenn der Echtzeitmodus startet, leuchten alle LEDs schwarz. Sie müssen jedoch nicht alle LEDs mit einem Paket ändern. Das Ändern einer einzelnen LED erfordert daher nur ein Paket von 2 + 4 Bytes. Alle LEDs behalten ihre Farbe bei, bis sie geändert werden oder das Modul den WARLS-Modus aufgrund einer Zeitüberschreitung verlässt.

Setup mit ARLS

Die Software unterstützt jetzt Audio-Reactive-LED-Strip!

  1. Laden Sie Audio-Reactive-LED-Strip herunter und befolgen Sie die Installationsanweisungen. Verwenden Sie Python 3! Sie können auch meine (ungetestete) fork verwenden. In diesem Fall können Sie Schritt 2 überspringen und es sollte auch mit Python 2 funktionieren.
  2. Fügen Sie nach Zeile 66 den folgenden Code in led.py ein: m.append (1); m.append (2); Dies sind die ersten zwei Bytes des Protokolls.
  3. Legen Sie in config.py Ihren LED-Betrag, die ESP-IP und den WLED-UDP-Notifier-Port fest. Für FPS wird eine Einstellung zwischen 15 und 30 empfohlen.
  4. Führen Sie visualization.py aus! Wenn Sie eine geringe Anzahl von LEDs haben (z. B. 10), senken Sie die Sigma-Werte in Zeile 129-131.
  5. Wenn Sie mehrere WLED-Geräte haben, können Sie diese alle mit Musik synchronisieren. Verwenden Sie die LED-Anzahl Ihres größten Geräts und setzen Sie die IP auf X.X.X.255 (UDP-Broadcast). Sie können die Position der Amplitude mit der Einstellung WARLS-Offset einstellen. Beachten Sie, dass das Websteuerelement derzeit nicht funktioniert, solange es aktiv ist.