Freitag, 2. April 2021

Peripherieprobleme mit dem neuen Kartenplotter

Da hatte ich hier so lapidar davon gesprochen, dass nur noch die Peripherie angeschlossen werden muss. Nun, dieser Beitrag würde nicht existieren wenn es einfach so funktionieren würde. Der alte Plotter läuft auf der Basis eines Raspberry Pi 3B+ und der neue Plotter verwendet das Compute-Modul CM3. Beide Prozessoren sind vergleichbar, das Compute-Modul ist nur etwas langsamer getaktet. Also hatte ich keine Probleme erwartet.

Ein Großteil der Peripherie hängt an einem USB-Hub (CSL - USB Hub 3.0, 7 Ports) mit eigener 12V / 3A Spannungsversorgung, damit die Spannungsversorgung des Raspberry Pi nicht überlastet wird. Extern angeschlossen sind folgende USB-Geräte:

  • Tastatur mit Trackball
  • Serielle Schnittstelle(NMEA0183) für Funkgerät
  • Serielle Schnittstelle(NMEA0183) für Pinnenpilot
  • Serielle Schnittstelle(NMEA0183) für Tochteranzeige Windmesser
  • WLAN Adapter mit externem Antennenanschluss (Dootoper WiFi Adapter, 802.11 ac/n/g/b/a)
  • Windmesser (Arduino Nano)
  • DVB-T Stick, ein SDR zum Empfang von AIS

Also habe ich einfach den Hub an eine USB-Buchse des neuen Plotters angeschlossen und dachte, das war's. Leider Fehlanzeige. Die Tastatur wurde gar nicht erkannt (power cycle am Port) und beim DVB-T Stick und dem WLAN-Adapter blinkten die LEDs am Hub (leider schweigt die Hub-Beschreibung über die Bedeutung des Blinkens). Der WLAN-Adapter funktioniert und der DVB-T Stick funktioniert nur teilweise. Im neuen Plotter hatte ich am internen USB-Port noch einen Bluetooth-Stick (LogiLink BT0015) angeschlossen, über den ich mittels Bluetooth-Tastatur den Plotter wenigstens bedienen konnte. Der Plotter lief relativ instabil und "fror" zwischendurch einfach ein (war nicht bedienbar). CPU-Überlast bzw. -Überhitzung konnte ich ausschließen und ohne DVB-T Stick wurde es deutlich besser. Ich vermute daher den Flaschenhals auf dem USB-Bus, vielleicht mag der interne USB-Hub des Plotters die gesamte Peripherie nicht. Jetzt habe ich mich erst einmal entschlossen, den alten Plotter parallel weiter zu betreiben.

Der neue Plotter mit hellem Display ist vom Cockpit aus einsehbar und erhält erst einmal eine Minimalausstattung (WLAN-Stick, GPS-Maus, oeSENC-Dongle). Mit dem oeSENC-Dongle lassen sich die lizenzierten Karten anzeigen. Eigentlich sollte der Plotter in der Karte auch AIS-Daten anderer Schiffe anzeigen und über gesetzte Wegpunkte den Pinnenpiloten ansteuern. Die Winddaten wären auch nett gewesen, sind aber nicht unbedingt notwendig.

Auf beiden Plottern läuft eine Signal K Instanz von denen sich die Kartenanzeige (OpenCPN) jeweils die Daten holt. Warum also nicht beide Plotter vernetzen und auf den entfernten Signal K Server des alten Plotters auch zugreifen? Der alte Plotter diente mir in der Vergangenheit bereits als Access-Point (interner WLAN-Adapter des Pi), der war also bereits eingerichtet und der neue Plotter benötigte nur noch das Kennwort für das Bord-WLAN.

Nun hatte ich aber ein Zugriffsproblem. Beide Plotter sind im Boot an die Peripherie angeschlossen und können für Tests nicht einfach mit ins warme Haus genommen werden. Die Temperaturen in der Scheune und im Boot liegen aber derzeit im einstelligen Bereich, da ist konzentriertes Arbeiten schwierig. Die Dieselheizung läuft zwar wieder, der Geräuschpegel stört mich aber auf Dauer. Deshalb greife ich via VNC auf die Plotter zu und kann im warmen Büro am großen Bildschirm arbeiten. An den neuen Plotter (hinter dem Access-Point) komme ich von außerhalb des alten Plotters nicht heran, was auch so gewollt ist. In einem Hafen-WLAN sollte auch niemand auf meine lokalen Geräte zugreifen dürfen. Hier benötige ich aber einen Zugang und deshalb muss ich noch die Routing-Tabelle des alten Plotters erweitern.

sudo iptables -t nat -A PREROUTING -p tcp -i wlan0 \
    --dport 55900 -j DNAT --to-destination 10.10.10.102:5900
sudo iptables -t nat -A POSTROUTING -p tcp \
    --dport 5900 -j MASQUERADE

Damit wird der VNC-Port 5900 des neuen Plotters (IP-Adr. 10.10.10.102) auf dem Router über den Port 55900 abgebildet und ich kann die weitere Detailkonfiguration in Ruhe aus dem Büro vornehmen.

Neuer Plotter via VNC und Winddaten vom alten Plotter

So, das war heute viel Text ohne Bilder aber ich bin zufrieden mit dieser Lösung. Der Nachteil ist ein erhöhter Stromverbrauch durch zwei Plotter. Das Konzept mit einem Server für die Peripherie gefällt mir aber und wenn es trägt, wird aus dem Server mittelfristig ein Raspberry Pi ohne Bildschirm.

Keine Kommentare:

Kommentar veröffentlichen