Virtual Sailing Telemetry Pipeline
Integration und Weiterleitung von Telemetriedaten aus einer Segelsimulation in eine maritime Softwarepipeline (SignalK & OpenCPN) mit Fokus auf Echtzeitkommunikation und Systemarchitektur.
Highlights
- Integration von NMEA-Telemetriedaten aus MarineVerse Globe in bestehende maritime Software
- Aufbau einer Echtzeit-Datenpipeline mit UDP- und TCP-Kommunikation
- Hybride Architektur aus Docker-Containern und systemd-Service
- Debugging von Netzwerkkommunikation zwischen Host und Container
- Übertragbares Setup für Simulation und reale maritime Anwendungen
Dieses Projekt umfasst den Aufbau einer Datenpipeline zur Weiterleitung und Visualisierung von Telemetriedaten aus einer Segelsimulation in Echtzeit.
Ziel war es, die von MarineVerse Globe bereitgestellten Daten so zu integrieren, dass sie in bestehender maritimer Software weiterverarbeitet und visualisiert werden können. Dabei lag der Fokus nicht auf der Entwicklung eigener Protokolle, sondern auf der Integration, Konfiguration und Verbindung vorhandener Systeme.
Projektziel
Die Pipeline sollte mehrere Aufgaben gleichzeitig erfüllen:
- Nutzung von Telemetriedaten aus einer Segelsimulation (MarineVerse Globe)
- Integration der bereitgestellten NMEA 0183 Daten in bestehende maritime Systeme
- Weiterleitung an Tools zur Navigation und Visualisierung
- Aufbau einer stabilen Architektur für Echtzeitdaten
- Übertragbarkeit auf reale maritime Anwendungen
Systemübersicht
Die Pipeline besteht aus mehreren bestehenden Komponenten:
- MarineVerse Globe als Simulationsquelle
- NMEA 0183 als bereitgestelltes Datenformat
- globe-nmea-server zur Anbindung und Weiterleitung der Daten
- SignalK Server zur Verarbeitung
- OpenCPN zur Visualisierung
Die Kommunikation erfolgt über UDP (Live-Daten) und TCP (Weiterleitung).
Datenfluss
Der grundlegende Datenfluss ist wie folgt aufgebaut:
- MarineVerse Globe stellt Telemetriedaten bereit (UDP / API)
- der
globe-nmea-servergreift diese Daten ab und leitet sie weiter - SignalK verarbeitet die eingehenden Informationen
- OpenCPN visualisiert die Navigationsdaten
Damit entsteht eine durchgehende Pipeline von der Simulation bis zur Navigationssoftware.
Architektur
Ein zentraler Aspekt des Projekts war die Systemarchitektur.
Die finale Lösung basiert auf einer hybriden Struktur:
- SignalK läuft containerisiert in Docker
- der globe-nmea-server läuft nativ als
systemd-Service auf dem Host-System - Kommunikation erfolgt über:
- UDP für Live-Daten
- TCP für weitergeleitete Daten
Diese Architektur wurde bewusst gewählt, da sich der globe-nmea-server nativ stabiler betreiben ließ als innerhalb eines Containers.
Technische Umsetzung
Die Umsetzung erfolgte auf einem Linux-System mit Fokus auf stabiler Netzwerkkommunikation und sauberer Systemintegration.
Verwendete Technologien:
- Docker und Docker Compose
- Ubuntu / Linux
- systemd Services
- NMEA 0183
- SignalK
- OpenCPN
- UDP- und TCP-Kommunikation
Der Schwerpunkt lag auf der Integration bestehender Systeme, der Konfiguration von Schnittstellen sowie der Sicherstellung eines stabilen Datenflusses.
Herausforderungen
Während der Umsetzung traten mehrere Herausforderungen auf:
- Kommunikation zwischen Host-System und Docker-Containern
- Debugging von UDP Broadcasts
- Unterschiede zwischen Container- und Host-Networking
- Integration mehrerer Systeme mit unterschiedlichen Schnittstellen
- stabile Weiterleitung der Daten an SignalK und OpenCPN
Erkenntnisse
Das Projekt vermittelte praktische Erfahrungen in:
- Aufbau und Debugging von Datenpipelines
- Umgang mit Echtzeitdaten (UDP / TCP)
- Integration standardisierter Protokolle (NMEA 0183)
- Kombination von Container- und Host-basierten Diensten
- Systemdesign für robuste Architekturen
Eine wichtige Erkenntnis war, dass nicht jeder Dienst gleichermaßen von Containerisierung profitiert und hybride Ansätze in manchen Fällen stabiler sind.
Ausblick
Die Pipeline kann erweitert werden durch:
- Web-Dashboard zur Visualisierung
- Logging und Analyse der Telemetriedaten
- Integration realer Sensoren
- Nutzung als Trainings- oder Lernsystem für Navigation
Ergebnis
Es entstand eine funktionierende Telemetrie-Pipeline, die Simulationsdaten in Echtzeit verarbeitet und in bestehender Navigationssoftware visualisiert. Das Projekt zeigt insbesondere praktische Erfahrung in den Bereichen Systemintegration, Networking, Docker und Echtzeit-Datenverarbeitung.