Zum Inhalt springen

UDP und Stationszustände

Aus MegBes Wiki

UDP und Stationszustände

[Bearbeiten]

Zweck

[Bearbeiten]

`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

[Bearbeiten]

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

[Bearbeiten]

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>

Init-Meldung

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

`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.