Startseite>Nautische Navigation mit dem RasPi und OpenCPN
Aus Raspberry Pi Geek 01/2016

Nautische Navigation mit dem RasPi und OpenCPN (Seite 2)

Der Dienst wartet jetzt auf eingehende Verbindungen. Ob das Prinzip funktioniert, erfahren Sie, indem Sie cgps in der Kommandozeile aufrufen. Warten Sie nach dem Verbinden der GPS-Maus ruhig ein paar Minuten – je nach Standort braucht sie ein wenig Zeit, um einen GPS-Fix zu bekommen.

OpenCPN einrichten

Danach folgt das Setup von OpenCPN – das Kürzel steht für “Open Source Chart Plotter / Navigator”. Das Programm steht unter der GPLv2 und lässt sich direkt von der Projekt-Homepage [6] beziehen. Raspbian selbst bietet in seinen Repositories allerdings kein Paket an, das sich sofort installieren ließe. Hier springt die Community ein und offeriert ein OpenCPN-Paket in der aktuellen Version 4 [7]. Sie finden es auch auf der Heft-DVD und installieren es mit folgendem Aufruf:

$ sudo dpkg -i opencpn_4.0.0-1_armhf_tides_map.deb

Im ersten Anlauf wird die Paketinstallation zwar wegen einiger nicht erfüllter Abhängigkeiten fehlschlagen. Das Problem lässt sich aber mit einem beherzten sudo apt-get -f install aus der Welt schaffen. Danach ist OpenCPN vollständig installiert und theoretisch startklar.

Für die vorgesehene Aufgabe arbeitet der Raspberry Pi zwar schnell genug, aber durch ein paar simple Tricks lässt sich OpenCPN deutlich besser nutzen – etwa dadurch, dass Sie die Framebuffer-Tiefe auf 32 setzen und Alpha-Kanäle im Framebuffer deaktivieren. Dazu finden Sie in der Datei /boot/config.txt die Einträge framebuffer_depth und framebuffer_ignore_alpha. Den Wert für Ersteren setzen Sie auf 32, beim zweiten tragen Sie 1 ein. Da die Änderungen die Konfiguration der Hardware betreffen, erfordern diese Anpassungen im Anschluss einen Reboot.

Danach starten Sie OpenCPN über den entsprechenden Eintrag im Raspbian-Desktop-Menü. Beim ersten Programmstart erscheint der Hauptkonfigurationsdialog (Abbildung 2). Hier legen Sie verschiedene Parameter zum Boot, den Verbindungen zu Gpsd und zum genutzten Kartenmaterial fest. Unter User Interface stellen Sie ein, welche Sprache OpenCPN nutzen soll – auch Deutsch steht zur Auswahl. Änderungen der Sprache übernimmt die Software erst nach einem Neustart, danach erscheint der Konfigurationsdialog automatisch erneut. Klicken Sie darin auf Verbindungen und dann auf Verbindung hinzufügen. Als Protokoll kommt D GPS zum Einsatz; die Adresse lautet 127.0.0.1. Ein Klick auf Anwenden aktiviert die Änderungen.

Abbildung 2: In der Konfiguration von OpenCPN gilt es, die Verbindung zum Gpsd zu aktivieren und den Pfad zu den Maps mit den Wasserstraßen einzutragen.

Abbildung 2: In der Konfiguration von OpenCPN gilt es, die Verbindung zum Gpsd zu aktivieren und den Pfad zu den Maps mit den Wasserstraßen einzutragen.

Schließlich legen Sie fest, wo das Kartenmaterial liegt. Der Kasten “Wasserwege” erklärt, von wo Sie passende Karten beziehen. Laden Sie diese auf den RasPi und merken Sie sich den Speicherort. Dann klicken Sie in der Konfiguration unter Seekarten auf Verzeichnis hinzufügen und wählen den Ordner aus, in dem Sie die Karten abgelegt haben. Setzen Sie nun einen Haken bei Gesamte Datenbank neu aufbauen und klicken Sie erst auf Anwenden und dann auf OK. Innerhalb weniger Minuten baut OpenCPN danach seine interne Kartendatenbank auf.

Wasserwege

Eine Navigationslösung ist zwangsläufig nur so gut wie das verwendete Kartenmaterial. Wer schon einmal mit dem Auto in einem Neubaugebiet unterwegs war und plötzlich bloß noch Offroad im Display des Navis sah, kennt das Problem. Auf dem Wasser verhält es sich nicht anders: Nur auf einem hinreichend gut kartografierten Wasserweg lässt sich sinnvoll navigieren. Ein großer Teil des Betrags, den semiprofessionelle Lösungen als Preis aufrufen, wandert in die Kartografiertätigkeit der Unternehmen. Doch auch außerhalb der kommerziellen Lösungen gibt es Karten für Wasserstraßen.

Als primäre Quelle für solche Karten gilt die WSV – die Wasser- und Schifffahrtsverwaltung des Bundes. Im Rahmen der europäischen Angleichung gelang es in den letzten Jahren, viele Wasserstraßen des Kontinents im Rahmen der sogenannten Inland-ENCs vollständig zu kartografieren. Inland-ENC steht für “Inland Electronic Navigation Charts” – gemeint ist also das Kartenformat, in dem die genannten Wasserstraßenkarten vorliegen. Inland-ENCs bietet die WSV auf der Webseite der Behörde [8] kostenfrei in einem Format zum Download an, das OpenCPN ohne Umwege versteht.

Allerdings hat die WSV es bisher nicht geschafft, alle Wasserstraßen in Deutschland vollständig zu kartografieren. Das hängt aber nicht mit bürokratischer Untätigkeit zusammen, sondern mit der schieren Menge der Wasserwege: Teil 2 der Binnenschifffahrtsstraßen-Ordnung (BinSchStrO) listet auf rund 500 Seiten die Regeln auf, die für jedes noch so kleine Rinnsal gelten. Um der Situation Herr zu werden, klassifiziert die WSV die deutschen Wasserstraßen: Je höher die in römischen Ziffern angegebene Klasse, desto wichtiger der Schifffahrtsweg. Rhein und Donau gehören etwa zu den Klassen Vb beziehungsweise VI, VIb und VIc. Regionale Wasserstraßen tragen niedrigere Nummern – die Spree-Oder-Wasserstraße in Berlin gehört beispielsweise zur Kategorie IV.

Logischerweise gilt: Je wichtiger eine Wasserstraße, desto höher bewertet der Bund deren Kartografierung. Den Rhein decken die IENCs beispielsweise über weite Strecken vollständig ab; die Donau ist sowohl in Deutschland als auch in Österreich komplett verzeichnet. Sind Sie also vorrangig auf Rhein oder Donau unterwegs, nutzen Sie dazu die Inland-ENCs des Bunds und profitieren davon, jedes einzelne Verkehrsschild bereits über Kilometer im Voraus zu kennen.

Bei unzureichend oder nicht kartografierten Wasserstraßen springt das OpenSeaMap-Projekt [9] ein. Ähnlich wie sein großer Bruder OpenStreetMap will es gemeinfreie Karten für alle Wasserstraßen schaffen und setzt dabei auf die Community. Anders als bei OpenStreetMap fällt das Kartenmaterial jedoch aktuell nicht ganz so berauschend aus. So zeigen sich etwa Defizite bei Auflösung und Detailreichtum. Aber immerhin: Auch mit den OpenSeaMap-Karten lässt sich vorzüglich navigieren. Und im Gegensatz zu den WSV-Karten deckt OpenSeaMap einen deutlich größeren Bereich ab – die schon erwähnte Spree-Oder-Wasserstraße verzeichnet das Projekt beispielsweise vollständig.

Leinen los!

Nach dem Start von OpenCPN achten Sie sinnvollerweise auf mehrere Dinge: Zunächst sollte am unteren Rand des OpenCPN-Fensters die aktuelle GPS-Position erscheinen – dann funktioniert schon einmal die Kommunikation zwischen OpenCPN und Gpsd wie erwartet. Sobald OpenCPN eine GPS-Peilung erhält, stellt es im Kartenteil des Fensters ein kleines Boot an den entsprechenden Koordinaten dar. Ab jetzt ist das Navigationssystem tatsächlich einsatzbereit, einer Testfahrt steht nichts mehr im Wege.

Das Eigenbau-Navi bietet einen weiteren Vorteil, der auf den ersten Blick kaum auffällt: Neben der Positionsanzeige im unteren Teil des Fensters sehen Sie rechts auch eine Geschwindigkeitsanzeige (Abbildung 3). Die Software berechnet dazu auf Basis der sich verändernden GPS-Koordinaten die Fahrt über Grund, die das Boot aktuell macht. Für Sportbootkapitäne ist diese Information nicht ganz unwichtig: Auf deutschen Binnengewässern gelten wie auf Straßen Geschwindigkeitslimits [10].

Abbildung 3: Live und in Farbe: Im Boot zeigt die Kombination aus GPS und OpenCPN den aktuellen Standort des Bootes und seine Geschwindigkeit in der Statusleiste an.

Abbildung 3: Live und in Farbe: Im Boot zeigt die Kombination aus GPS und OpenCPN den aktuellen Standort des Bootes und seine Geschwindigkeit in der Statusleiste an.

Sportbootkapitänen fällt es oftmals einigermaßen schwer, die tatsächliche Geschwindigkeit festzustellen. Loggen mit Zahnrad am Bug finden sich in vielen Booten, neigen aber besonders im Sommer zu Ausfällen: Bei längeren Liegezeiten verstopfen regelmäßig kleine Muscheln den Zahnradschacht. Nicht zuletzt deswegen erweist sich ein GPS-basierter Tachometer an Bord als ausgesprochen nützlich.

Erweitert

Im Einsatz als Bootsnavi erweist sich der Raspberry Pi als ausgesprochen praktisches Helferlein. Das Setup lässt sich in der hier vorgestellten Variante aber durchaus noch sinnvoll erweitern: Dank OpenCPN eignet sich der RasPi auch als Quelle für NMEA 0183-Signale. Eventuell vorhandene zusätzliche Bordelektronik bekommt dadurch beispielsweise die Möglichkeit, die GPS-Daten aus dem Raspberry Pi zu nutzen. Im OpenCPN-Forum berichten Hobbyskipper von ihren erfolgreichen Versuchen, den Mini-Computer als Quelle für automatische Lenksysteme zu verwenden.

Über Protokoll-Gateways zwischen NMEA 0183 und NMEA 2000 lässt sich der RasPi mit einem schon vorhandenen NMEA-2000-Netzwerk verbinden. Dadurch erhalten auch alle NMEA-2000-fähigen Geräte Zugriff auf die GPS-Daten von OpenCPN, etwa Funkgeräte. Jedes aktuelle Funkgerät besitzt eine Distress-Taste, die es der Crew ermöglicht, bei Unfällen schnell einen Alarm an alle anderen Schiffe in Reichweite zu senden. Zur Warnmeldung gehört auch die Position des aussendenden Schiffs. Nur wenige Funkgeräte bieten allerdings einen eigenen GPS-Empfänger – die GPS-Daten von OpenCPN lösen dieses Problem.

Um den Raspberry Pi mit OpenCPN in das NMEA-2000-Netz zu integrieren, benötigt er eine entsprechende Protokollbrücke und einen Protokollkonverter (Abbildung 4). Actisense bietet dafür den NGT-1-USB [11] und den NGW-1 [12] an. Ganz billig ist das allerdings nicht: Jede der Komponenten schlägt mit rund 150 Euro zu Buche. Diese Investition lohnt sich also nur für Hobbyskipper, die die RasPi-Funktionalität von OpenCPN ausgiebig an Bord nutzen möchten.

Abbildung 4: Das Actisense NGT-1-USB ermöglicht es, die OpenCPN-RPi-Kombi zum Mitglied eines NMEA-2000-Netzwerks zu machen. (Bild: Actisense.com)

Abbildung 4: Das Actisense NGT-1-USB ermöglicht es, die OpenCPN-RPi-Kombi zum Mitglied eines NMEA-2000-Netzwerks zu machen. (Bild: Actisense.com)

Fazit

Einmal mehr zeigt der Raspberry Pi, dass er sich bestens als Erweiterung der Technik auf Sportbooten eignet. Fernseher, GPS-Modul, Raspberry Pi und Tastatur schlagen zusammen mit rund 350 Euro zu Buche; dafür wäre mit viel Glück gerade ein günstiger Kartenplotter zu bekommen. Die RasPi-basierte Lösung bietet jedoch, anders als ein kommerzieller Plotter, auch die Möglichkeit, als zentrale Steuerkomponente an Bord zu arbeiten und obendrein NMEA-2000-Geräte direkt mit Daten zu versorgen. 

Über den Autor

Martin Gerhard Loschwitz arbeitet als Cloud Architect bei SysEleven in Berlin. Er beschäftigt sich dort bevorzugt mit den Themen Distributed Storage, Software Defined Networking und OpenStack. Falls er nicht auf Berliner Gewässern schippert, spielt er in seiner Freizeit gern Bowling.

Glossar

NMEA

Das Kürzel steht für National Marine Electronics Association. Es existieren zwei Varianten des Protokolls: Der ältere Standard NMEA 0183 stammt aus dem Jahr 1983; das neuere NMEA 2000 basiert auf dem CAN-Bus, wie er sich auch in vielen Kraftfahrzeugen findet. Die Idee hinter CAN: Alle angeschlossenen Geräte haben Zugriff auf die Datenquellen der anderen Devices. NMEA 2000 beschreibt das Protokoll, über das sie dazu via CAN-Bus kommunizieren.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland