Bordcomputer, die Zweite…

Im zweiten Beitrag werde ich unserem Raspberry seine Position mitteilen. Klingt simpel, war es leider nicht.

Ursprünglich wollte ich ein gebrauchtes Garmin GPS III benutzen um über die NMEA 0183 Schnittstelle die Position auszulesen. Nach einiger Fummelarbeit mit alten Netzteilen, lief das GPS auch zuverlässig. Naiverweise dachte ich, dass ich mit der seriellen Schnittstelle des Pi einfach das Protokoll auslesen könnte. Leider erhielt ich nur Kauderwelsch. Okay die serielle Schnittstelle kann mal Macken haben, also auf die Schnelle einen USB Adapter auf RS232 Standard bestellt und wieder angeschlossen. Das Ergebnis blieb leider dasselbe. Nach tagelanger Frickelei (umstellen der Baudrate und und und) gab ich dieses Unterfangen frustriert auf.

Was nun? Sollten wir den Raspberry Pi ohne GPS betreiben? Sprich nur Musik und Filme? Kein Kartenplotter, keine Geschwindigkeitsanzeige! Einen Versuch wollte ich noch starten und besorgte mir eine günstige Platine mit GPS Empfänger, die die Daten auch im NMEA Standard ausgibt. Ich entschied mich gegen eine geläufige GPS USB-Maus, da diese 1. teurer sind und 2. ohne das Raspberry ein Auslesen des Signals unmöglich wäre (z.B. für das Funkgerät). Den Anschluss der Platine und die Einbindung ins System beschreibe ich im Folgenden für potentielle Nachahmer ein wenig präziser.

Der GPS Empfänger hat vier Ausgänge (VCC, GND, TxD, RxD), wovon drei jetzt mit dem USB Serial Adapter verbunden werden müssen. VCC ist die Plusleitung und GND die Masse. TxD steht für Transmit Data und sollte mit der Receive (RxD) Buchse des Adapters verbunden werden. Mehr ist nicht zu machen.

Jetzt müssen wir noch die Ansteuerung unserer Schnittstelle im Pi herausfinden. Dafür können wir uns mit sudo dmesg in der Konsole alle Systemnachrichten anzeigen lassen. Irgendwo taucht der USB Serial Adapter auf und auch der Alias mit dem er angesprochen werden kann. Bei mir war es /dev/ttyUSB0. Zuerst sollten wir die Baudrate checken. Dafür können wir mit dem Befehl sudo stty -a -F /dev/ttyUSB0 alle Informationen zu unserer Schnittstelle auslesen. Stimmt die Baudrate mit der vom GPS Empfänger überein, ist alles Gut. Andererseits können wir mit stty auch die Baudrate auf die geforderte Einstellung setzen. Als nächstes sollten wir überprüfen, ob die Schnittstelle auch echte NMEA Sequenzen empfängt. Mit cat /dev/ttyUSB0 können wir die empfangenen Daten anzeigen lassen. Passen die soweit, können wir damit fortfahren, die GPS Daten für andere Programme sichtbar zu machen.

Dafür bietet sich ein Hintergrunddienst (Daemon) an, der permanent die serielle Schnittstelle ausliest und die Daten von anderen Programmen angefordert werden können. Am weitesten verbreitet ist der GPS Daemon gpsd. Das Einpflegen der Position in OpenCPN und das Zugreifen von selbstgeschriebenen Programmen mittels Pythonbibliotheken ist damit im Nu erledigt. Mit sudo apt-get install gpsd gpsd-clients ist der Daemon fix installiert. Um die korrekte Schnittstelle zuzuweisen, muss noch die Konfiguartionsdatei mit sudo nano /etc/default/gpsd geändert werden. Im unteren Bild sieht man meine Einstellungen. Nach einem Neustart kann man mit dem Hilfsprogramm cgps die korrekte Funktionsweise testen. Jetzt sollte man die eigene Position angezeigt bekommen.

Zum Schluss binden wir den Empfänger noch in OpenCPN ein, was mithilfe des Daemons kein Problem mehr sein sollte. Unter Options->Connections->Add Connection eine Network Verbindung mit GPSD und der Adresse localhost erstellen. Schon hat auch OpenCPN die erforderlichen Daten und zeigt die aktuelle Bootsposition an. Nützlich ist hier auch das Dashboard Plugin, welches zusätzlich noch die Satelliten anzeigt (siehe Bilder).

Alle Grundanforderungen an unseren Bordcomputer sind nun erfüllt, fehlt noch der nahezu unsichtbare Einbau in Streuner. Allerdings finde ich Gefallen an dem kleinen Einplatinencomputer und habe eine Idee die Funktionen noch zu erweitern.

Aber diese Idee ist einen eigenen Post wert…

Bordcomputer, die Erste…

Ursprünglich wollten wir als einzige Entertainment Quelle ein Autoradio benutzen. Auf dem Wasser sollten wir uns entspannen und höchstens unser Lieblingslied hören.

Dieses hehre Ziel vereitelte die plötzliche Schenkung eines fast neuen kleinen Samsung Flachbildschirms. Die Verlockung war einfach zu groß. Somit wurde kurzerhand umgeplant und wir überlegten uns, als Ansteuerung für den Fernseher wäre ein Minicomputer ideal. Seit Jahren liebäugele ich mit dem Raspberry Pi, allerdings fehlte mir die Anwendung, bis jetzt. Aber was sollte unser Bordcomputer überhaupt können?

  • Musik abspielen (Autoradio wurde gestrichen)
  • Filme schauen (jaja, aber abends gemütlich Filme schauen kann auch mal schön sein ;))
  • GPS Signal empfangen und einfache Seekarten darstellen
  • Wetterdaten empfangen

Um dies in die Tat umzusetzen, schafften wir uns das neueste Raspberry Modell (3 B+) an, der von einer Tastatur/Touchpad Kombination gesteuert wird (Logitech K400+). Um so einen Rechner vernünftig einrichten zu können, sollte man rudimentäre Linux Kenntnisse haben oder willens sein sie zu erwerben. Zum Glück hatte ich schon oft genug mit Unix Systemen gearbeitet, sodass ich direkt starten konnte. Als Betriebssystem wählte ich Raspbian, eine Debian Distribution für den Raspberry. Musik spiele ich mit Rhythmbox und VLC ab und für die Film Wiedergabe hat sich der integrierte omxplayer bewährt. Die Filme laufen flüssig und ohne Probleme. Als Speichererweiterung hatte ich noch eine 32GB micro SD Karte im Schrank rumfliegen, sowie diverse USB Sticks. Für den Kartenplotter nutze ich OpenCPN, was wohl der bekannste OpenSource Plotter ist. Als Karten fügte ich die OpenSeaMap ein, sowie die offiziellen Vektorkarten der Niederlande. Um Gribfiles lesen zu können, hat mich nach einiger Recherche das Programm zygrib überzeugt.

Um das System zu komplementieren, muss noch das GPS Signal zum Raspberry gelangen. Dafür erstanden wir einen gebrauchten Garmin GPS III. Über die NMEA 0183 Schnittstelle und dem Programm gpsd werde ich versuchen, unsere aktuelle Position im Plotter anzuzeigen. Dafür fehlen mir allerdings noch ein paar Bauteile.

Zwischenfazit: Der Raspberry hat uns überzeugt. Für unter 100€ bekommt man einen einfachen Bordcomputer der auch als Entertainment Center dienen kann. Allerdings gibt es auch ein paar Kritikpunkte. Zahlungspflichtige Streamingdienste wie Amazon und Netflix sind sehr schwierig zu integrieren. Netflix habe ich nach einiger Bastelei ans laufen bekommen, Amazon leider nicht. Jetzt fehlt nur noch das GPS Signal und die Grundkonfiguration steht 🙂 Geplant ist alles so unauffällig wie möglich in unseren Streuner zu integrieren, aber dazu später mehr.

 

Überführung & erste Inspektion

Letzten Freitag war es endlich soweit. Wir konnten unseren (!) Streuner in Steinhude abholen. Anfänglich war die Fahrt noch etwas ungewohnt aber nach 5 Stunden kamen wir sicher aber erschöpft an. Leider waren wir den kompletten nächsten Tag unterwegs und konnten erst am Ostersonntag Streuner genauer in Augenschein nehmen. Man fühlte sich beim Erkunden des Bootes an die kindliche Ostersuche erinnert. Ständig gab es neue Stauräume und Besonderheiten zu entdecken. Auch unsere Neffen eroberten das Boot im Nu und erforschten jeden Hohlraum. An Mitsegler für zukünftige Törns wird es uns wohl nicht mangeln und es kam die Erkenntnis, dass wir wohl noch einige Kinderschwimmwesten kaufen werden.

Am Ostermontag wurde Streuner zu seinem vorläufigen Platz in einer Halle gefahren. Nun können die Arbeiten beginnen, sodass wir in einem Jahr hoffentlich auf dem Wasser sind.

Vorfreude…

Nachdem Ende letzten Jahres der Entschluss gereift ist, uns ein eigenes Boot anzuschaffen, begann die Suche. Zuerst definierten wir das Anforderungsprofil an unseren Neuzugang. Anfängertauglich, mit Schlafmöglichkeit, trailerbar und das Wichtigste, erschwinglich sollte er sein. Nach einigem hin und her verliebten wir uns in eine Neptun 22 mit Dinette Ausführung von 1976.

An Karfreitag ist es nun soweit und wir werden unser erstes eigenes Boot abholen können. Alle Vorbereitungen sind soweit getroffen: Führerschein erweitert, Auto getauscht und die Ummeldung des Trailers bei der Bonner Behörde ist abgeschlossen.