Vorab ein paar wichtige Hinweise die sie unbedingt beachten sollten.
Inhaltsverzeichnis
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 |
1x | 1x RS485 | 1x | 1x | 5V-Netzteil | Kostengünstige Minimallösung für NMEA2000 und NMEA0183 | ||
Raspberry Pi 4B |
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
|
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 |
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
|
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 |
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
|
|
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 |
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 |
2-Kanal AIS-Empfänger | ||
12V-Stromversorgung mit USV-Funktion | StromPi 3 hat Probleme mit Raspi 4B wegen zu hohem Stromverbrauch
Verursacht AIS-Empfangsstörungen beim Montessier HAT |
|
AIS- und GPS-Empfänger mit 9-Achs-Sensor | ||
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:
RS485:
|
1200…115200 Baud | Praktischer universeller Konverter mit Schraubanschlüssen für abgesetzte Montage |
USB-RS422/RS485 Konverter |
RS422:
RS485:
|
1200…115200 Baud |
Praktische Schraubanschlüsse |
RS422:
RS485:
|
1200…115200 Baud |
Blockiert am Raspi benachbarte USB-Ports | |
RS485 |
RS485:
|
1200…115200 Baud |
Nur RS485 für einfache Anwendungen |
RS232 |
RS232:
|
1200…115200 Baud |
RTS, DTR, DCD, RI, DSR and CTS nicht bei allen Adaptern belegt |
Actisense NGT-1 |
NMEA2000 (CAN):
|
250000 Bit/s | Eingeschränkte Datenkonvertierung des NMEA2000-Gateways zwischen NMEA2000 und NMEA0183 |
M5Stack Atom CAN BUS Kit |
NMEA2000 (CAN):
|
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)