Hardwarebasis für AVnav und OpenPlotter

Vorab ein paar wichtige Hinweise die sie unbedingt beachten sollten.

Raspberry Pi

Als Hardwarebasis für AVnav und OpenPlotter dient hauptsächlich der Raspberry Pi. Er ist ein Kleinstrechner im Scheckkarten-Format. Es gibt ihn in mehreren Varianten, wobei wir uns hier ausschließlich auf den Raspberry Pi 4B konzentrieren. Von den älteren Modellen ist lediglich der Raspberry Pi 3B noch interessant. Ältere Modelle sollten nicht mehr verwendet werden.

Abb. Raspberry Pi 4B (Raspberry Fondation) 5…7W

CPU und Speicher

  • Raspberry Pi 4B, 4GB, Quad Core 1.3GHz
  • SD-Card bis 32GB (Linux mit Serveranwendung und Zusatzprogrammen)

Schnittstellen

Der Raspi 4B dient als zentrale Recheneinheit und stellt eine Vielzahl an Schnittstellen zur Außenwelt zur Verfügung:

  • SD-Card-Schacht (für Betriebssystem und Anwendungen)
  • RJ45 Ethernet 1GBit/s
  • 2x USB 2.0
  • 2x USB 3.0
  • WiFi 802.11 bgn 2.4GHz / 5 GHz
  • Bluetooth 4.1
  • 2x HDMI
  • 1x Audioausgang
  • 1x Kameraanschluss (über Flachbandkabel)
  • 1x Displayanschluss (über Flachbandkabel)
  • 40-pol. GPIO-Header (für Hardwareerweiterungen und Sensoren)

Durch die 4 Prozessoren und mit 4 oder 8 GB RAM ist der Raspi ausreichend schnell für Serveranwendungen und besitzt genug Leistungsreserven. Zudem verbraucht der Raspi je nach Auslastung zwischen 5…7W an elektrischer Leistung und ist damit sehr genügsam. Der Prozessor kann passiv gekühlt werden und ist damit geräuschlos. Versorgt wird der Raspi mit 5V über ein USB-C Kabel mit entsprechendem Netzteil. Für den Bootsbetrieb eignen sich spezielle DC/DC-Wandler die die 12V in 5V umwandeln. Man sollte darauf achten, dass das Netzteil ausreichend Strom von ca. 3,5A liefern kann, da in kurzzeitigen Lastspitzen einiges an Strom abverlangt wird.

Hardwarebasis-Erweiterungen für den Raspberry Pi

Als Hardwarebasis-Erweiterungen können verschiedene Komponenten verwendet werden, die dem Raspberry Pi weitere Funktionalität hinzufügen. Dazu zählen Ports für verschiedene Marine-Bussysteme als auch Bussysteme für Sensor-Erweiterungen. Ja nach Anforderung kann man zwischen verschiedenen Hardware-Erweiterungen wählen und damit unterschiedliche Aufgabenstellungen realisieren. Die nachfolgende Tabelle zeigt sinnvolle Hardwarekombinationen auf denen AVnav oder OpenPlotter genutzt werden können.

Rechnersystem Erweiterung NMEA2000-Port NMEA0183-Port I2C-Port 1Wire-Port Stromversorgung Dokumentation
Bemerkung

Waveshare Mini Base Board (C) für Raspberry PI CM4 Modul

ohne

1x
1x
5V-Betzteil USB-C
Alternative zum Raspberry Pi 4B, SSD M.2 Card, Echtzeituhr on Bord, Anschlüsse anders platziert

Raspberry Pi 4B

ohne 1x 1x 5V-Netzteil Gut nutzbar als Einstiegslösung mit USB-Erweiterungen

Raspberry Pi 4B

Wavershare RS485 CAN

1x 1x RS485 1x 1x 5V-Netzteil Kostengünstige Minimallösung für NMEA2000 und NMEA0183

Raspberry Pi 4B

Waveshare RS485 CAN B

1x 2x RS485 1x 1x 12V-Eingang Versorgung auch über NMEA2000 möglich

NMEA2000 und NMEA0183-Ports isoliert

Kann um ein weiteres Modul erweitert werden

Raspberry Pi 4B

 

Waveshare 2x CAN

2x

1x
1x
5V-Netzteil
Verwendbar für zwei getrennte NMEA2000-Busse

Zweiter Bus auch für Motordaten J1939 verwendbar

2x isoliere CAN-Ausgänge

Raspberry Pi 4B

PiCAN-M

1x 1x RS422 1x 1x 12V-Eingang Versorgung auch über NMEA2000 möglich

NMEA2000 über M12 Anschluss

Unterstützt nur RS422

I2C mit 3.3V Pegeln

Passiges Gehäuse erhältlich

Raspberry Pi 4B

 

PiCAN2

1x

 1x  1x 5V-Netzteil
Günstige Alternative zu PiCAN-M, wenn nur NMEA2000 benötigt wird

NMEA2000 über DB9 oder Schraubsnschlüsse

Raspberry Pi 4B

Marine Control Server

1x 6x RS485 1x 1x 12V-Eingang Versorgung auch über NMEA2000 möglich

Shutdown-Schaltung für Power Off

I2C mit 5V Pegeln

Passiges Gehäuse erhältlich

Analog- und Digital-Erweiterungen über I2C erhältlich

Raspberry Pi 4B

 

Marine Control Server 2

 

1x
4x RS485
1x
1x
12V-Eingang
Versorgung auch über NMEA2000 möglich

Shutdown-Schaltung für Power Off

I2C mit 5V Pegeln

Passiges Gehäuse erhältlich

Analog- und Digital-Erweiterungen über I2C erhältlich

Raspberry Pi 4B

McArthur

1x
4xRS485
1x
1x
12V-Eingang
1x SeaTalk (RX)
Versorgung auch über NMEA2000 und SeaTalk möglich

Shutdown-Schaltung für Power Off

 

Nützliche Raspi-Erweiterungen

Neben den oben aufgeführten Erweiterungen für den Raspberry gibt es noch weitere nützliche Erweiterungen die man hinzufügen kann.

Erweiterung Funktion Bemerkung

dAISY HAT

2-Kanal AIS-Empfänger

StromPi 3/4 HAT

12V-Stromversorgung mit USV-Funktion StromPi 3 hat Probleme mit Raspi 4B wegen zu hohem Stromverbrauch

Verursacht AIS-Empfangsstörungen beim Montessier HAT

Montessier 2.0 HAT

AIS- und GPS-Empfänger mit 9-Achs-Sensor

Argon Fun HAT

Geregelter Lüfter

Bussysteme

Die im Boot vorhandenen Bussysteme können auf verschiedene Arten angebunden werden:

  • USB für Bussysteme
  • USB für Geräte
    • GPS-Dongle für Positionsdaten NMEA0183
    • DVBT-Stick für TV, Radio, AIS
    • dAISy, Bootstraffic via AIS NMEA0183
    • Memory-Stick als Kartenspeicher und für Backups
    • USB-Dongle als Kopierschutz für O-Charts Karten
    • USB-WiFi-Stick für zweites Wireless LAN
  • Ethernet
    • TCP/UDP Port NMEA0183, SeaSmart (NMEA2000)
  • WiFi
    • TCP/UDP Port NMEA0183, SeaSmart (NMEA2000)
  • GPIO-Connector
    • Marine Control Server MCS (1x NMEA2000, 6x NMEA0183)

USB-Hardware-Erweiterungen

Die einfachste Art der Anbindung an Bussysteme wäre über USB, das mit günstigen USB-RS485/422-Konverter für NMEA0183 realisiert werden kann. Im Internet gibt es verschiedenste Versionen dieser Wandler. Man sollte darauf achten, Konverter zu kaufen die von Linux unterstützt werden, die z.B. mit Chips von FTDI, HC340 oder PL2303 bestückt sind.  Es gibt sogenannte Kombi-Konverter die sowohl RS422 als auch RS485 unterstützen. Es sind aber auch Konverter zu finden die nur RS485 unterstützen. Mit einem Kombi-Adapter hat man die beste Wahl und kann später entscheiden wie man den Konverter benutzen möchte und trifft auf weniger Verbindungsprobleme durch falsche Signalanpassung.

Auch NMEA2000 lässt sich über USB an den Raspi anbinden. Entweder über das Actisense Gateway NGT1 oder über die Open Source / Open Hardware M5Stack Atom CAN BUS Kit. Das Projekt NMEA2000 Gateway mit M5Stack Atom beschreibt wie man durch aufspielen einer Gateway-Firmware ähnliche Funktionalitäten realisieren kann wie  beim Actisense Gateway NGT1.

Nachfolgend sind einige Beispiele für nützliche USB-Hardware-Erweiterungen aufgeführt.

Erweiterung Funktionalität Datenrate Bemerkungen

USB-RS422/RS485 Konverter

RS422:

  • T+, T-, R+, R-, GND

RS485:

  • A, B, GND
1200…115200 Baud Praktischer universeller Konverter mit Schraubanschlüssen für abgesetzte Montage

USB-RS422/RS485 Konverter

RS422:

  • T+, T-, R+, R-, GND

RS485:

  • A, B, GND
1200…115200 Baud
Praktische Schraubanschlüsse
RS422:

  • T+, T-, R+, R-, GND

RS485:

  • A, B, GND
1200…115200 Baud
Blockiert am Raspi benachbarte USB-Ports

RS485

RS485:

  • A, B
1200…115200 Baud
Nur RS485 für einfache Anwendungen

RS232

RS232:

  • TX, RX, GND
1200…115200 Baud
RTS, DTR, DCD, RI, DSR and CTS nicht bei allen Adaptern belegt

Actisense NGT-1

NMEA2000 (CAN):

  • H, L, 12V, GND
250000 Bit/s Eingeschränkte Datenkonvertierung des NMEA2000-Gateways zwischen NMEA2000 und NMEA0183

M5Stack Atom CAN BUS Kit

NMEA2000 (CAN):

  • H, L GND
250000 Bit/s Open Source NMEA2000-Gateway

USB-GPS-Stick

NMEA0183 via RS232 9600 Baud
Leistungsstarker GPS-Empfänger

USB-GPS-Maus

NMEA0183 via RS232 9600 Baud
Abgesetzter GPS-Empfänger für Innenmontage

USB-GPS-Empfänger

NMEA0183 via RS232 9600 Baud
Abgesetzter GPS-Empfänger für Außenmontage

USB-DVBT-Stick

SDR-Empfänger 150 kHz…1 GHz Geeignet für AIS- und Radio-Empfang

USB-AIS-Empfänger

NMEA0183 via RS232
A (161.975 MHz) und B (162.025 MHz)
38400 Baud
Leistungsfähiger AIS-Empfänger mit NMEA0183-Ausgang

USB-WiFI-Dongle

WiFi 2.4 GHz 802bgn 150 MBit/s Nutzbar für zweites WiFi-Netzwerk am Raspi

USB-Mini-Speicher 64 GB

Speicher-Stick 64 GB 130 MB/s Nutzbar für Seekarten und Backups

O-Charts-Dongle

Kopierschutz für O-Charts-Seekarten
  Nutzbar unter AVnav und OpenCPN
Übertragbarer Kopierschutz-Dongle für verschiedene Anwendungen und Betriebssysteme

 

Falls bereits Systeme existieren, die über Ethernet Busdaten übertragen können, so lassen sich diese über TCP oder UDP Sockets per LAN-Kabel oder über WiFi anbinden. Das wären z.B. folgende Open Source WiFi-Sensoren für NMEA0183:

Ähnliche Open Source Projekte gibt es auch für NMEA2000:

Sensoren und Bussysteme am GPIO-Port

Typische Marine-Sensoren werden über die oben beschriebenen Busse angebunden. Wer spezielle Sensorik einbinden möchte, kann die Sensoren über Pins am GPIO-Connector (40-pol. Pinleiste) anschließen. Der GPIO Port besitzt viele Steckkontakte an denen auch einige andere Bussysteme herausgeführt werden, die im Bootsbereich typischer Weise nicht verwendet werden.

Abb. GPIO Port

Diese Busse sind für elektronische Schaltungen gedacht, um ICs und Sensoren an Mikrocontroller anzubinden. Mit ihnen können keine all zu großen Längen (max. 1..2 m) überbrückt werden. Werden geschirmte Leitungen verwendet, so können auch größere Längen überbrückt werden. Die elektronischen Bussysteme sind im Gegensatz zu den Boots-Bussystemen nicht fehlertolerant und arbeiten meistens nur mit kleinen Signalpegeln und sind entsprechend empfindlich auf Störungen. Nachfolgend ist eine Auflistung der Bussysteme mit möglichen Sensoren zu finden.

  • I2C (Buslänge 1…2 m)
    • BME280 (Temperatur, Luftfeuchte, Luftdruck)
    • BMP280 (Temperatur, Luftdruck)
    • HTU21 ((Temperatur, Luftfeuchte)
    • MPU9250 (Gyrometer, Beschleunigungssensor, Magnetometer)
    • MPU9255 (Gyrometer, Beschleunigungssensor, Magnetometer)
    • Zusatzdisplays (Text- und Punktmatrix-Displays)
  • SPI (Buslänge 0,5 m)
    • MCP2515 CAN Bus Controller für NMEA2000
  • 1Wire (Buslänge bis zu 10 m)
    • DS18B20 (Temperatur)
  • Seriell (Buslänge bis zu 10 m)
    • StromPi USV-Status

An dieser Stelle muss aber erwähnt werden, dass der GPIO-Port recht empfindlich ist und wenn man den Port falsch beschaltet, der Raspi dabei auch sterben kann. Wer irgendwelche Sensoren an den GPIO-Port anschließen möchte, sollte sich vorher genau informieren wie man das machen muss. Eine hilfreiche Webseite dazu bietet das Elektronik-Kompendium und die Dokumentation von OpenPlotter.

Abb. Beschaltungsbeispiel für den 1Wire-Bus mit 3 Temperatursensoren (OpenPlotter)