UDP und Stationszustände
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.`n`n== 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.