Mijn systeem is niets bijzonders, standaard Ubuntu met een 40pin GPIO dus die moet gebruikt worden. Verder een Canable Pro Canbus adapter (volgens brambo bij voorkeur uit de US maar ook via Ebay en Ali voor lagere transportkosten te verkrijgen.
Standaard setup:
Bestaand NMEA0183 => input via een RS232-USB adapter (vergeet de isolatie niet).
Invoeren in SignalK via Connections in SignalK
Input Type NMEA0183 / Serial port tty*** (verschilt) / baud rate afhankelijk apparaat.
Wie een USB-GPS gebruikt, zie hierboven.
Wie een Miniplex gebruikt, zie hierboven.
Wie een Roosmux gebruikt, je verzint het niet, zie hierboven.
Bestaand NMEA2000 => input via een Canbus-adapter (Vergeet de isolatie niet).
Canbus adapter standaard via slcand een device aanmaken, bijv canbus0
met ifconfig dit device binden aan het systeem
slcand -o -c -s5 /dev/ttyACM0 canable0
ifconfig canable0 up
(met Candlelight kun je de stap met slcand omzeilen en werkt e.e.a. sneller)
Invoeren in SignalK via Connections in SignalK
Input Type NMEA2000 / Interface canable0 (=naam hierboven) / NMEA source Canboat (canboat)
Met een Actisense dus dezelfde route, maar hier moet je dan actisense NGT-1 (canboat) invullen.
De I2C sensors voor de hobbyist (we hebben immers een GPIO).
Via openplotter sensor configureren. (Bijvoorbeeld een BMP280 druk+temperatuur, hiervoor kies je een BME280 waarbij je een extra label hangt aan de temperatuur en de label voor de hygrometer kun je verwijderentenzij je echt een BME280 hebt.)
De I2C data wordt standaard niet geexporteerd. Hiervoor gebruikt OpenPlotter openplotter-i2c, deze configureert de data voor export op udp, poort 51000. Na het starten het py-script openplotter-i2c-read is de data voor SignalK beschikbaar.
In SignalK: Input Type SignalK / Source UDP / Port 51000
De IMU kan aangesloten worden op de I2C bus. De data hiervan is niet (direct) beschikbaar via openplotter-i2c, hiervoor gebruik je openplotter-pypilot, ook als je de IMU alleen gebruikt voor compass, heel en pitch (voorliggende koers/mag HDG, helling en "het stampen"). Openplotter configureert deze standaard op UDP poort 20220. Voor pypilot wordt de data beschikbaar gesteld door het pypilot_boatimu script (het pypilot-script). Openplotter start opeenplotter-pypilot-read om de data beschikbaar te maken voor SignalK.
In SignalK: Input Type SignalK / Source UDP / Port 20220
Zijn we er nu?
Nee, nu de uitvoer.
Enkele interessante plugins:
- Convert Signal to NMEA0183
- Convert Signal to NMEA2000
- NMEA2000 Switching
De NMEA0183 is zoals de naam zegt voor export van SignalK naar de NMA0183-MUX. Voor OpenCPN 5.0.0 is dit nog steeds de route voor uitvoer van data naar KPlex, waarna KPlex als invoer kan dienen voor OpenCPN of andere gebruikers die een multiplexer nodig hebben. KPlex wordt standaard geconfigureerd op UDP port 10110.
De NMEA2000 is voor export van data naar de N2k bus, dus eindelijk jouw IMU data als compass beschikbaar.
Valkuil: voor N2k heeft SignalK een PGN nodig. Daarvoor gebruik je NMEA2000 Switching (Maretron Compatibility). Mischien niet de enige methode maar wel een noodzakelijke stap.
Zo, een hele lap tekst.
Bij gebruik van Openplotter is normaal dat je de scripts start, alles instelt en het werkt. Op mijn systeem (Ubuntu met OpenPlotter packages) werkt dat helaas net niet.