OpenPlotter

From wiki.bastelbude.grade.de
Jump to: navigation, search

https://sailoog.gitbooks.io/openplotter-documentation/en/

Aim

  • fit a cheap and open source ECDIS on board of a sailing vessel
  • yacht has SeaTalkng network (/w Raymarine iTC-5 Converter)

Parts (boat specific)

  • Seatalkng extensions:
    • Spur-Kabel mit 1 offenen Ende 3m Art.-Nr: A06044 EUR 40,-
    • 5-Wege-Verbinder Art.-Nr: A06064 EUR 35,- (alternativ T-Stück Art.-Nr.: A06028 EUR 25,-)
    • Backbone-Kabel 0,40m - A06033 EUR 30,-

Mini-PC

  • Raspberry Pi 3 Model B EUR 35,-
  • 16GB MicroSD Card EUR 10,-
  • SPI USV EUR 25,-
  • Case
  • PiCAN 2 EUR 45,-
  • WLAN (RTL8192CU/CUS chipset) EUR 10,-

Setup Pi:

  • upgrade to openPlotter 0.17.0 beta
  • Preferences > Raspberry Configuration > Interfaces > SSH:enable (Remote-access via WinSCP and Putty)
  • sudo apt-get install tightvncserver (make RDP working)
  • sudo apt-get install can-utils
  • sudo apt-get install mc

Setup Android:

  • RDC from playStore (working)
  • aRDP free from playStore (suits my needs best)

Setup piCAN2:


  • add to /boot/config.txt
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
dtoverlay=spi-bcm2835-overlay
  • add to /etc/network/interfaces (overwritten by /home/pi/.config/openplotter/wifi_server.py!)
#physical can interfaces
allow-hotplug can0
iface can0 can static
bitrate 250000
down /sbin/ip link set $IFACE down
up /sbin/ifconfig $IFACE txqueuelen 10000
  • install canboat
mkdir ~/canboat
cd ~/canboat
sudo apt-get install xsltproc
git clone git://github.com/canboat/canboat
cd canboat
sudo make
sudo make install
sudo apt-get install libconfig-general-perl
  • copy and edit /home/pi/canboat/canboat/config/n2kd to /etc/default/n2kd (is this really needed?)
  • add to /home/pi/.config/openplotter/OP-signalk/openplotter-settings.json (OP ver 0.10.0)
  • add to /home/pi/.openplotter/openplotter-settings.json (OP ver 0.17.0)
{
  "id": "n2k-can0",
  "pipeElements": [
    {
      "type": "providers/execute",
      "options": {
        "command": "candump can0 | candump2analyzer "
      }
    },
    {
      "type": "providers/liner",
      "options": {
        "rawlogging": true,
        "logdir": "logs",
        "discriminator": "2"
      }
    },
    {
      "type": "providers/n2kAnalyzer"
    },
    {
      "type": "providers/n2k-signalk"
    }
  ]
}

configure kplex and signalk

  • 'Signal K Server Plugin Configuration' > activate 'Convert Signal K to NMEA0183'
    • select sentences you are interested in
  • NMEA0183 (this is kplex) > Advanced >
    • add input channel tcp:localhost:10110
    • remove filter at opencpn out channel
[tcp]
name=signalk_in
direction=in
address=localhost
port=10110

[tcp]
name=opencpn
direction=out
mode=server
port=10109

experimental

    {"pipeElements": [
      {"type": "providers/execute", "options": {"command": "candump can0 | candump2analyzer | analyzer -json -si -nv"}},
      {"type": "providers/liner"},
      {"type": "providers/from_json"},
      {"type": "signalk-socketcan-device", "options": {"n2kAddress": 110, "canDevice": "can0"}},
      {"type": "providers/n2k-signalk"}
      ],"id": "n2k-can0"
    }