Skip to content

Step 7 OpenCPN Pypilot Plugin

marcobergman edited this page Mar 12, 2021 · 9 revisions

This is my favourite interface. It is slick and snappy. I am a keen OpenCPN user and use quite a few of the plugins. To install the pypilot plugin:

  • Start Raspberry→Openplotter→OpenCPN
  • In the toolbar, click the first icon that looks like a gear wheel. For future reference, this is the ‘Options’ menu.
  • Click the ‘Plugins’ tab
  • In the lower left hit ‘Update Plugin Catalog: Master’. This takes a few seconds; make sure your ethernet cable is in.
  • Scroll down to pypilot and click it; click Install, then check Enable and click Ok.
  • The toolbar now has a new icon on it that looks like a sailboat. This is the pypilot plugin. Click it.
  • Click the second button in the lower area. It says Config but you won’t see that because the window is too small and you cannot enlarge it manually. Click it anyway and select 127.0.0.1 for ‘host’ and click OK.
  • At this point, the plugin should connect and become alive. The pypilot button will turn from grey to red, and to green if you engage it. There are a few small differences with the openplotter user interface:
    • If the Arduino is not present, it says ‘no motor controller’, instead of ‘None’. If it is present, it says ‘idle’ or ‘OK’ instead of ‘Arduino’.
    • The gains are now under a button, there is no scope, but there is a statistics screen.
    • Instead of a rudder slider, you now have the familiar left and right buttons:

  • At the time of writing, it does not work immediately. A quick check reveals the cause: the pypilot software version that is installed by openplotter is old (v0.16), and still listens on the old internal port signalk/21311, instead of the new one pypilotServer/23322; to which port the spanking new OpenCPN plugin is trying to connect to.
  • If you cannot wait, the following commands will get you the latest version of pypilot (v0.24), from source, from github.
cd
sudo apt-get install python-gps python-serial libpython-dev python-numpy python-scipy swig
git clone https://github.com/pypilot/pypilot
git clone --depth 1 https://github.com/pypilot/pypilot_data
cp -rv pypilot_data/* pypilot
cd pypilot
python setup.py build
sudo python setup.py install
  • Note that the versions of pypilot mentioned here are different from the versions that are in the openplotter settings screen (from where you installed pypilot). The openplotter tooling has its own versioning scheme, that is unrelated to the pypilot versioning scheme. There is no way to determine the version of pypilot in the user interfaces. The way I check it, is by looking in the pypilot script:
pi@openplotter:~ $ which pypilot
/usr/local/bin/pypilot
pi@openplotter:~ $ cat /usr/local/bin/pypilot
#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'pypilot==0.24','console_scripts','pypilot'

Step 8: Looking under the hood >>>

Clone this wiki locally