Skip to content
mpvader edited this page May 4, 2020 · 17 revisions

(draft)

1. Introduction

1.1 Why have Signal K on your GX Device?

By adding Signal K, the GX device becomes a data hub for all marine electronics on your yacht. For example audio, boat speed and wind data, and more. The Signal K is the interface between all those devices and protocols on one side, and mobile Apps on phones, tablets and the alikes on the other. Note that SignalK itself is not a visualisation tool, its purpose is purely to gather all the data and make it available for web- phone-, and tablet-apps for the visualisation.

Also, there are SignalK plugins to forward the data to influxdb & Grafana.

Popular Apps compatible with Signal K:

  • WilhelmSK: WilhelmSK is a highly customizable boat instrument display available for iPhone, iPad, Apple Watch and AppleTV.
  • ...

1.2 Instruments compatible with Signal K

  • All Victron products that can be connected to a GX device
  • NMEA0183 and NMEA2000 GPS data, AIS data, Wind Temperature and other environmental data, tbd
  • Engine data available on NMEA2000 and SAE 1939
  • Fusion Stereo

And many more.

1.3 What is Signal K ?

Signalk-server is a software application that, in the context of this manual, runs on your GX Device and interface to all Victron protocols and more. It uses plugins, and there is a large community of enthusiasts around it, making it one of the most flexible and complete pieces of software that understands the plethora of protocols of all different manufacturers that make marine electronics.

For more information on Signal K, read the Signal K website. And our blog post of a while ago.

Note that Signal K is not a Victron project. At Victron, we a great fans of sailing, open source as well as community driven projects. And Signal K is a perfect example of such project. And when running on a GX Device its a perfect marriage.

Signal K - the data format

Strictly speaking, Signal K is not software but a data format. And Signalk-server is the name of the software.

This section explains the rationale behind the data format.

Signal K is a modern and open data format for marine use. Its goal is to

  • create a shared data model for marine related data
  • make marine related data easy to access, handle and build applications on

The shared data model allows you to handle the data in a uniform way independent of how the data is produced. In practice this means that you can refer to your battery voltage with electrical/batteries/1/voltage and not care where data came from: Victron BMV, NMEA 2000 bus or some other voltage sensor.

Easy access means that you can use modern standards like HTTP, WebSockets and JSON that are in widespread. There is a wealth of knowledge and skilled people are easy to find, with no special marine related knowledge needed to get started.

In Venus OS it brings all the data available in the GX system, including NMEA 2000 data, to a single data model and programming interface.

1.3 Considerations on type of SignalK install

The type of install described in this document, running Venus OS including SignalK, has these advantages: TODO elaborate. Doing this was born out of a wish to make SignalK more mainstream, less of a rapsberrypi / hobbieists/tinkerers product.

The other common type of SignalK install, installed on a RaspberryPi running Raspbian, has the advantages of more flexibility, and ease of installing extra components such as Grafana or Influx. The disadvantage is that you are basically setting up a Linux computer yourself, which you’ll also have to maintain yourself. Whereas the Venus OS type is more of a complete product; no need to bother about keeping individual components up to date and worrying about their compatibility.

There is no one right way for everyone to do this; the best solution will depend on the requirement.

For raspberrypi owners, note that its very easy to try both methods and change between them: simply have two sdcards.

2. Where to find support?

TODO: word this in proper english.

You're best bet is the SignalK Slack, or the Modifications space on https://community.victronenergy.com.

Whatever you do, don't contact normal Victron support for any help on SignalK. Its based on community support, not official support.

3. Requirements & SignalK details

3.1 Hardware requirements

A Venus GX, Cerbo GX, or one of the support RaspberryPi models. SignalK is not available for any other GX devices. It will be available for the soon coming new product, Cerbo GX.

3.2 SignalK details

Currently used Signalk-node version is 1.18.0. Installed plugins are:

  • Node-red plugin, v2.8.0, contains Node-red version ???. Note that we’ll remove the node-res plugin from the list of pre-installed ones soon. It can always be installed again manually. Looking for venus with just node-red? Ie no Signalk, then see here.
  • Victron Venus Plugin, v1.10.0

4. First install

4.1 Installing on a Venus GX

  • Step 1. Disable auto updates. See Settings -> Firmware -> Online updates in Remote Console.
  • Step 2. Download below .swu file, see chapter 5, and install it using the offline install method.

TODO: Add note on what to do on a Venus GX of serial number xyz or earlier, because partition are is too small. Answer is here: https://github.com/SignalK/signalk-server-node/issues/517

4.2 Installing on a RaspberryPi

To install Venus OS + Signalk on an sdcard for a rasperrypi; follow these instructions; but then using below file instead of the one mentioned in the instructions:

Once completed, disable automatic updates, to prevent the SignalK image to be replaced by a normal one; which don't have SignalK.

5. Updating to a new version

To update to a newer version, download the latest available .swu file for your device (Venus GX, raspberrypi), and install it using the offline install method.

Note for the raspberrypis that it is not necessary, nor recommended to reinstall a full image on an sdcard. Doing so will also remove all configuration and stored data.

Latest available files:

6. First usage & configuring

6.1 Opening the dashboard

Open a web browser, and go to the SignalK Dashboard by navigating to http://192.168.178.122:3000 (replace the ip address by the ip of your GX Device).

Further documentation about that is ... (some link to singalk-node documentation?)

6.2 Configuring serial connections

Use this to, for example, configure a USB-connected NMEA0183 connection in SignalK. To do so, go to the dashboard (http://0.0.0.0:3000), and there to Server -> Connections.

Make sure to not add a connecting using any of the built-in serial ports (/dev/ttyO0, /dev/ttyO2, /dev/ttyO4, /dev/ttyO5). These are the VE.Bus- and VE.Direct ports on the Venus GX, and it is not necessary to configure them in SignalK. Data from any devices there connected is already available in SignalK, by means of the "Victron Venus Plugin"; see Dashboard -> Server -> Plugin Config.

Note that once configured in SignalK, for example a USB-serial port, that port is no longer normally available in Venus OS. For example, when plugging in a USB-GPS; and then adding a connection for its corresponding tty in the SignalK, makes for that GPS to be no longer be recognised and available in Venus OS.

6.3 Configuring can-bus connections

For the Venus GX, SignalK comes pre-configured with a NMEA2000 listener for the VE.Can ports, its named "n2k-on-ve.can-socket", and uses the canboatjs.

Note that, to keep that operational, that port must be configured as a 250kbit VE.Can & NMEA2000 port in the Remote Console.

6.4 Installing more Signalk Plugins or Webapps

TODO: explain & warn about data partition size & space (since thats where plugins are installed by signalk on Venus OS). FIlling up the datapartition can corrupt Venus OS. More information about data partition on Venus OS here: https://github.com/victronenergy/venus/wiki/data-partition

7. FAQ

7.1 How to best handle & install a GPS

You want the data available in SignalK and in Venus OS, so that it gets to VRM. And preferably a quality GPS.

USB GPS Dongle

Plugging it into the GX Device will make it be recognised automatically; within Venus OS itself as well as in SignalK, using the victron venus plugin. No need to configure anything.

NMEA2000 GPS Data

Connect it to the GX Device on the canbus port. Consider using our VE.Can to NMEA2000 cable to go from Micro-C to RJ-45.

Venus OS itself is unfortunately not yet able to pickup GPS data from the canbus.

But SignalK will pick it up.

There is no way (yet) to share it from within SignalK to Venus OS; and therefor it also will not be available to use on the VRM Portal.

Part of a NMEA0183 network

Tbd.

Clone this wiki locally