SignalK von Open Marine

Mit SignalK wurde der Versuch unternommen, einen Gegenentwurf zu etablierten kommerziellen Boots-Bussystemen auf Open Source Basis zu schaffen. Ziel ist die Konsolidierung verschiedenster Sensordaten unterschiedlicher Bussysteme und die Integration in ein einheitliches flexibles und erweiterbares Datenmodell, vergleichbar zu Open Source Lösungen in der Home-Automation. SignalK übernimmt dabei mehrere Aufgaben. Zum einen werden Daten verschiedenster Bordnetze verarbeitet und zum anderen besteht die Möglichkeit, die Daten individuell über Webseiten zu visualisieren. SignalK ist somit kein reines Bussystem sondern geht weit darüber hinaus. Durch zuladbare PlugIn-Module kann die Funktionalität von SignalK erweitert und an individuelle Aufgabenstellungen angepasst werden, was bei kommerziellen Produkten nicht möglich ist. Dadurch ist eine gewisse Zukunftsfähigkeit gegeben und bereits getätigte Investitionen in Hardware nachhaltig nutzbar. Durch eine herstellerübergreifende Konnektivität wird SignalK gerne bei der Modernisierung älterer Installationen im Refit-Bereich verwendet.

Die Macher von SignalK beschreiben es so:

“Signal K ist die Lösung der nächsten Generation für den Datenaustausch auf See. Es ermöglicht nicht nur die Kommunikation zwischen Instrumente und Sensoren an Bord eines einzigen Schiffes, sondern ermöglicht auch den Datenaustausch zwischen mehreren Booten, Hilfsmitteln Schifffahrt, Brücken, Jachthäfen und andere landgestützte Ressourcen. Es ist so konzipiert, dass es einfach von Web und Mobile verwendet werden kann und Anwendungen in modernen Booten mit dem Internet der Dinge verbindet. In den letzten Jahren ist deutlich geworden, dass ein echter Bedarf an einem neuen Kommunikationsprotokoll für die Marine-Industrie besteht, die den Anforderungen einer sich verändernden und immer stärker vernetzten Welt gerecht wird.” (SignalK)

Neben den klassischen Boots-Bussystemen werden auch andere Bussysteme aus der Elektronik und der Home-Automation mit eingebunden. Derzeit können Daten folgender Bussysteme ausgewertet und verarbeitet werden:

  • NMEA0183
  • NMEA2000
  • SeaTalk
  • SeaTalk NG (nur NMEA2000 kompatible Telegramme)
  • SimNet (nur NMEA2000 kompatible Telegramme)
  • Micronet (über Gateway)
  • Actisense
  • J1939 (über Gateway)
  • I2C (Sensorik aus dem Elektronik-Bereich)
  • 1Wire (Sensorik aus dem Elektronik-Bereich)
  • Bluetooth

Das Besondere an SignalK ist, dass alle Busdaten in einem einheitlichen strukturierten Datenmodell zusammengefasst werden. Das Datenmodell ist flexibel genug, um zukünftige Daten, die heute noch nicht relevant sind, einzufügen. Dazu wird ein abstraktes Datenmodell auf JSON-Basis verwendet, in dem alle Sensordaten abgebildet sind. Die Struktur des Datenmodells kann hier beispielhaft eingesehen werden: XXX

SignalK ist rein webbasiert und läuft auf einem Raspberry Pi. Als Codebasis dienen Web-Programmiertechniken wie HTML, JavaScript, JSON und viele andere. Für SignalK sind vorgefertigte Images für den Raspberry Pi verfügbar, mit denen ein SignalK-Server aufgesetzt werden kann. SignalK ist auch schon in vielen anderen Open Source Projekten einsatzfertig integriert wie z.B. OpenPlotter und AvNav. SignalK gibt es auch in kommerziellen Produkten wie z.B. Smart Boat von Airmar, iKommunicate oder Victron.

Visualisierung

Die Visualisierung der Sensordaten wird über Web Apps realisiert, die für unterschiedliche Aufgabenstellungen zur Verfügung steht. Damit lassen sich webbasierte Intrumenten-Dash Boards mit individualisierten Designs erstellen und auf Endgeräten, die über einen Webbrowser verfügen, anzeigen. Darüber hinaus besteht die Möglichkeit, ohne Verwendung von Web Apps vollständig eigene Lösungen für eine Visualisierung mit Webseiten umzusetzen. Damit lassen sich alle Gestaltungsmöglichkeiten für individuelle Lösungen nutzen. Wenn man die Daten aus den Bordnetzen, Datenbanken wie z.B. InfluxDB übergibt, besteht noch eine weitere Möglichkeit der Visualisierung über Grafana. Mit dieser Kombination können Echtzeitdaten als auch historische Daten angezeigt und ausgewertet werden.

Erweiterbarkeit

Durch die gute API-Dokumentation von SignalK können viele Erweiterungen realisiert werden. Über PlugIn lassen sich beliebige Daten-Konnektoren erstellen und mit Web Apps Anwendungen gestalten, die auf die Daten zugreifen können. SignalK hat eine aktive Community die viele neue Plugins und Web Apps für verschiedenste Aufgabenstellung bereitstellt. Mittlerweile gibt es mehr als 226 Plugins.

Datenanbindung

SignalK ist auch in der Lage, über eine Web-API Sensordaten zu empfangen. Mit SensESP hat Matti Airas aus Finnland eine Bibliothek für Mikrocontroller auf Basis des ESP32 erstellt, mit der es recht einfach ist, Sensordaten direkt per WiFi in SignalK zu integrieren, ohne etablierte Bordnetze zu benutzen. Über seinen Webshop HatLabs kann eine fertige Hardware bei ihm bezogen werden.

Sensordaten aus SignalK können auch in andere Systeme übertragen werden. Mit MQTT besteht die Möglichkeit, Livedaten in IoT-Datenbanken über Mobilfunkverbindungen zu übertragen und eine Telemetrie über das Internet zu ermöglichen. Sensordaten lassen sich auch auf dem Raspberry Pi in der Timeline-Datenbank InfluxDB speichern. So können Daten live oder historisch mit Grafana visualisiert werden.

Fazit

SignalK hat sich in der DIY-Szene im Marinebereich etabliert und einen guten Ruf erarbeitet. Durch die extrem gute Konnektivität zu verschiedensten Bussystemen bietet SignalK eine hervorragende Basis für kostengünstige Modernisierungen auf Booten. Durch die Webfähigkeit kann SignalK auf fast allen Endgeräten bebutzt werden, die über einen Webbrowser verfügen und funktioniert über alle gängigen Betriebessysteme hinweg, wie Windows, MacOS, Linux und Android. Durch PlugIns können notwendige Erweiterungen in SignalK eingefügt werden. Damit lässt sich ein sehr individuell abgestimmtes Gesamtsystem erstellen, das so nicht mit kommerziellen Produkten möglich ist. Eine aktive Community treibt die Entwicklung voran und stellt die Anwenderinteressen in den Mittelpunkt. Die hervorragende Dokumentation erlaubt es auch Einsteigern, sich mit SignalK schnell vertraut zu machen und zu brauchbaren Lösungen zu kommen.