Integration-Framework für unterschiedliche NOVA-Installationen

Eine zentrale Platform zur zeitabhängigen Steuerung und Verwaltung mehrerer NOVA-Installationen, die Inhalte automatisiert verteilt, ausführt und überwacht.

Text
Nova Module

Ausgangslage

Die bisher vorhandenen Steuerungssysteme für die einzelnen NOVA-Installtionen an der FHNW für Technik waren bisher lokal gebunden und von einander isoliert. Zudem boten sie keine Planungsmöglichkeiten, wobei Inhalte manuell verteilt und gestartet werden mussten. Dies gestaltete sich als sehr zeitaufwändig und fehleranfällig. Es fehlte eine einheitliche Schnittstelle um alle NOVA-Installationen zentral zu verwalten und zu steuern.

Zielsetzung

Ziel des Projekts war es, eine zentrale Platform zur Planung, Verwaltung und Überwachung von Inhalten auf verteilten NOVA-Installationen zu entwickeln. Die Lösung sollte skalierbar, erweiterbar und mit der bestehenden hardware- und Software-Infrastruktur kompatibel sein, damit standort- und Zeitabhängige Inhalte zuverlässig abzuspielen sind.

Erstellen & Einplanen

Nova Workspace Editor

Die zentrale Plattform Nexus ermöglicht es, Movies standortübergreifend und zeitgesteuert zu verwalten. Über die Webanwendung NOVA Workspace können neue Movies im RAW-Format erstellt oder hochgeladen, mit Metadaten versehen und direkt an Nexus übermittelt werden. Nexus übernimmt die zentrale Planung, prüft die Kompatibilität mit den Zielinstallationen und legt fest, zu welchen Zeitpunkten die Inhalte automatisch auf den jeweiligen Modulen ausgespielt werden.

Übertragung & Synchronisation

WebSocket Transfer

Zum definierten Zeitpunkt wird das Movie automatisch über eine bidirektionale WebSocket-Verbindung vom Nexus an das zuständige Mole übertragen. Dank der standardisierten DTO-Struktur und der stabilen Connect-/Reconnect-Mechanismen bleibt die Kommunikation auch bei kurzzeitigen Netzwerkunterbrüchen zuverlässig.

Abspielen am Modul

Nova Controller im Makerstudio

Nach erfolgreicher Übertragung startet das Mole den NOVA Controller als Systemprozess. Die bestehende Steuersoftware spielt das Movie auf den Modulen ab und wird nach Ablauf automatisch gestoppt. Dieser Ansatz gewährleistet maximale Kompatibilität mit der bestehenden Infrastruktur.

Ergebnisse

Das Projekt führte zu einer stabilen und praxistauglichen Steuerungsplatform, die im laufenden Betrieb NOVA-Installationen zuverlässig koordiniert.
Wesentliche Resultate

  • Zuverlässige Zeitsteuerung von Inhalten mit automatischer Konflikterkennung und Wiederholungsplanung.
  • Echtzeit-Feedback über den Ausführungsstatus und den Systemzustand über eine bidirektionale Kommunikation.
  • Einfache Integration neuer Befehlstypen und Services dank klarer Modularisierung.
  • Nahtlose Kompatibilität zu bestehender Hardware und Software ohne Änderung der bestehenden Infrastruktur.
  • Stabile Dateiübertragung durch chunkbasiertes, atomisches speichern.
  • Eine Einstellungsseite mit mehr Konfigurationsmöglichkeiten.
  • Skalierbarkeit für zukünftige Erweiterungen und zusätzlichen Installationen

Für die Umsetzung des Projekts wurde eine moderne, serviceorientierte Architektur gewählt. Die zentrale Steuerungskomponente Nexus wurde als Spring-Boot-Anwendung realisiert und bietet sowohl eine REST-API zur Konfiguration als auch eine STOMP-over-WebSocket-Schnittstelle für die Echtzeitkommunikation mit den verteilten Clients (Moles). Die zeitgesteuerte Planung von Inhalten erfolgt über den Quartz Scheduler, wobei alle relevanten Daten wie Zeitpläne, Projekte und Statusinformationen in einer PostgreSQL-Datenbank persistiert werden.

Die ausführenden Einheiten (Moles) laufen in der Regel auf Raspberry Pi-Systemen und sind für den Start, Stopp und die Überwachung des Nova Controllers als separatem Prozess verantwortlich. Der Austausch grosser Movie-Dateien erfolgt über einen blockbasierten Dateiübertragungsmechanismus (Chunked File Transfer) mit atomischem Speichern im Zielverzeichnis. Sämtliche Befehle und Statusmeldungen werden über eine zentralisierte DTO-Library definiert, um eine konsistente Kommunikation zwischen Nexus und Mole sicherzustellen

Durch die Kombination aus robustem Backend, automatisierter Verbindungslogik (Connect- und Reconnect-Mechanismen) und klar definierten Schnittstellen entstand ein skalierbares und erweiterbares System, das unterschiedliche NOVA-Installationen zuverlässig orchestriert.

Technische Schlüsselbegriffe

  • QuartzJob-Scheduler für zeitgesteuerte Abläufe
  • STOMPNachrichtenprotokoll über WebSocket
  • DTOStandardisierte Datenobjekte für Befehle
  • PostgreSQLPersistente Speicherung von Jobs, Projekten und Statusdaten
  • Spring BootBackend-Framework für den Nexus-Server
  • Spring Security (JWT)Authentifizierung und Autorisierung
  • BlueboxBestehende Steuerungseinheit für NOVA-Hardware
  • Nova ControllerBestehende Abspielsoftware für Inhalte
  • Raspberry PiHardwareplattform für Mole-Instanzen
  • Automatische Connect- und Reconnect-LogikSelbstheilende Verbindung zwischen Mole und Nexus bei Netzunterbrüchen
  • Process ManagementStarten, Stoppen und Überwachen des Nova Controllers als Systemprozess

Kund:in

Logos

Institut für Mobile und Verteilte Systeme
Ruedi Müller
Bahnhofstrasse 6
5210 Windisch
https://www.fhnw.ch/de/die-fhnw/hochschulen/informatik/institut-fuer-mobile-und-verteilte-systeme

Team

Ryan Hillhouse
Dominik Luder

Betreuer
Jürg Lüthiger
Aaron Ebnöther