Zum Inhalt springen

UDP und Stationszustände

Aus MegBes Wiki
Version vom 5. August 2026, 05:54 Uhr von Clawtronics (Diskussion | Beiträge) (Formatierung der neuen Querverweise korrigiert)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

UDP und Stationszustände

Zweck

`megbes-internal` setzt Anforderungen von `megbes-external` in UDP-Signale für die Geräte im lokalen Ausstellungsnetz um. Das Zielgerät kann ein BrightSign-Player, PC, Raspberry Pi oder jedes andere Gerät sein, das das vereinbarte UDP-Signal verarbeitet.

Steuerbefehl

Der interne Server erhält eine Kombination aus Stationsnummer und Befehl. Aus der Stationsnummer wird innerhalb des projektspezifischen Subnetzes die Zieladresse bestimmt; der Befehl wird als UDP-Nutzlast an das Gerät gesendet.

Der konkrete UDP-Port und das lokale Subnetz sind projektbezogene Konfigurationswerte. Sie dürfen nicht aus einem anderen Projekt übernommen werden, ohne die örtliche Netzstruktur zu prüfen.

Stationsgesteuerter Modus

Im stationsgesteuerten Modus melden die Medienstationen ihren Zustand per UDP an `megbes-internal`. Die Funktion muss bei `megbes-external` und `megbes-internal` aktiviert sein.

Der aktuelle Code kennt folgende Zustände:

Zustand UDP-Schlüsselwort Bedeutung im aktuellen Code
`IDLE` `idle` Station ist frei und kann übernommen werden.
`TOUCHSCREEN` `touchscreen` Station wird lokal über den Touchscreen benutzt.
`REMOTE` `remote` Station wurde einer angemeldeten Fernbedienung beziehungsweise einem Benutzer zugeordnet.
`OPEN` `open` Station ist unabhängig von der normalen Benutzersperre freigegeben; Statusabfrage und Steuerung werden nicht durch die übliche Belegungsprüfung blockiert.

Beispiel für eine Zustandsmeldung:

touchscreen: <Stationsnummer>

Ausführlich zur Rückmeldung der Stationen: Client-Feedback und Stationsmeldungen.

Init-Meldung

Eine UDP-Nachricht mit dem Schlüsselwort `init` wird als Start-/Statusmeldung einer Medienstation verarbeitet und kann eine Informationsmail auslösen. Inhalt und Empfänger sind projektspezifisch zu konfigurieren.

Timer

Der Timer ist ein Fallback gegen dauerhaft blockierte Stationen und kann je Projekt überschrieben werden. Der Quellcode enthält zwei unterschiedliche Standardwerte:

  • stationsgesteuerte Zustandsverwaltung in `megbes-internal`: 1.800 Sekunden
  • nicht stationsgesteuerte Sperrlogik in `megbes-external`: 180 Sekunden

Diese Werte gelten nur, wenn das betreffende Projekt keinen eigenen Wert setzt. Der tatsächlich konfigurierte Wert gehört auf die Projektseite.

Status-Endpunkte

`megbes-internal` stellt Endpunkte zum Abfragen, Initialisieren und Zurücksetzen eines Stationszustands bereit. `megbes-external` reicht die benötigten Aufrufe kontrolliert weiter. Konkrete Header- und Authentifizierungswerte werden aus Sicherheitsgründen nicht im allgemeinen Wiki dokumentiert.