question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Add signalk-server to Venus OS

See original GitHub issue
  • Make nodejs compile & work
  • Add signalk to Venus images
  • Pre-configure N2K connection on Venus GX
  • pre-configure signalk-venus-plugin to be installed & configured to dbus on localhost
  • make default config for Venus GX that runs canboatjs dataprovider on the VE.Can port.
  • test & use this new feature in signalk to call stop-tty.sh for all ttys that are used by signalk. Calling stop-tty.sh makes the rest of the Venus OS leave them alone.
  • double check that the stop-tty.sh is now not a race condition (it will never hit the condition though; starting up node & signalk is eternally more slow than serial-starter bash scripts)
  • consider limiting or reporting the nodejs claimed space on the data partition
  • test

And then nice to haves

  • look into making the plugins work
  • Add Influxdb
  • Add Grafana
  • Add browser on Cerbo + GX Touch 50 😉
  • welcome to add your things here.

The short story:

Status: its ready to be tested; and perhaps its even finished enough to be just used.

How can you use it? See (draft) Venus OS Signalk manual.

Why should I use this to have Signalk? Well; that depends on what you’re looking for. If you want to have all things under control; self install, for example, a raspberrypi, configure it, tweak it, modify it; maintain it; and manually install Signalk as well as keep it all update date -manually-; and either already have- or want to learn linux commandline skills, then go here, do that and forget about Venus OS + Signalk.

If you want to use Signalk as if you’d gone to the store and bought a box that should -more or less- just work; then Venus OS + Signalk is good to consider. Its intention is to be a finished (technical-)consumer type product that doesn’t need any special computer skills; and especially does not require linux skills.

Where the Venus GX comes in is that its like a raspberrypi; but then in a nice box; with nice connectors; wide input power supply (9 to 70 VDC); canbus; and more. Not such a rat’s nest of usb cables like Pi setups.

What about updates? Both Venus OS as well as Signalk keep improving; new versions are released regularly. I’ll be regularly making a new version now of Venus OS + Signalk; which can be installed easily: note that for now; you can only update by USB stick. Using the Firmware update menu will result in installing a normal image: without signalk. Settings; such as configured data providers; will remain in place when doing either update: going back to a normal one; or a newer one that has signalk.

What about support? For support on signalk; use its Slack or mailinglist. For support on Venus OS + SignalK; preferably use the #victron channel in SignalK slack. Whatever you do; don’t use official Victron support channels; they are not setup to help with this.

Are there limitations? Yes, compared to a self-installed signalk there are limitations. Especially when it comes to installing plugins. Installing plugins that need compilation is currently not possible; and also all plugins will be installed on the data partition; which has its limits when it comes to diskspace. The idea is to have all normally used plugins installed by default: so if you think something is missing; please ping me on the #victron channel on Slack.

OK, I’m convinced; where can I get this? See (draft) Venus OS Signalk manual.


The long story:

0. Introduction

See here for what Venus OS is. The idea is to either add SignalK to standard Venus as released by Victron, or otherwise at least be able to make an alternative build of Venus that includes nodejs & SignalK server.

Its current status is that I can build Venus images that include signalk for both the Venus GX hardware (has two canbus ports) and also the raspberrypy image (for rpi2 & 3) builds. There is no way to put it on the CCGX, as its flash memory is too small. For more details, see below.

This project is looking for people that have spare time. See below for how to get up to the current state of the project and start contributing 😄.

I. Context

Getting Victron data into SignalK server is already possible, see the venus-plugin. Its common use now is to run SignalK-server one one machine (a raspberrypi most often), and then connect the Venus running on another machine (a Color Control GX, or Venus GX for example).

This project is about running it all in one piece of kit; removing the need for an additional box.

And also this project is an option to make SignalK available more easy: ie pre-installed and very easily and robustly updateable. Note that other options are also pursued elsewhere, see for example #464. And also the recent Docker work by @tkurki (tbd. is there info or a link to somewhere?).

Note that manually installing SignalK on a Venus device has been done, and is documented here.

II. The work:

1. add nodejs & npm. DONE.

2. add signalk. DONE.

3. disk space. DONE.

Adding nodejs and signalk requires quite some extra space (see somewhere below in the comments for how much). And see this overview for available space on various hardware that can run Venus. In more detail per machine (=hw model):

  • the raspberrypi2 (& 3) build have plenty of space. No issue in adding Nodejs & Signalk to the standard image.
  • venus gx built-in flash has plenty space, but as we produced up to end of 2018, the emmc was partitioned such that there is not enough space on the rootfs. See Venus OS Extended manual for how to upgrade a unit yourself.

Issue Analytics

  • State:open
  • Created 5 years ago
  • Reactions:2
  • Comments:47 (35 by maintainers)

github_iconTop GitHub Comments

1reaction
mpvadercommented, May 15, 2020

Hi @MichelleWhy (and hi Stefanie, you’re everywhere ;o) ), you wrote:

Now I wonder if it works the other way around. GPS connected to NMEA 2000 network, picked up by SignalK and then available in Venus OS - or does it work in one direction only? edit: answer (not possible) found in Signal K Venus OS draft installation guide.

Indeed. But an variant is now working: Venus OS to pick-up the GPS from NMEA2000. And that can then through the integration be picked up by SignalK via the Signalk-VenusOS link.

And (I should know this myself ofcourse, but I dont now) I’d think Venus OS and SignalK can both be configured to work on the same canbus on the GX device, at the same time, and without any issues.

However, I hope you guys keep working on it. Integration with Grafana/InfluxDB. Will definitely install on the Cerbo asap.

Grafana/InfluxDB: yes the holy grail. Maybe sometime. Its yet another framework and language. Probably best to get Openembedded Zeus working first before continuing to try and marry all this IoT stuff with more hardcore things Open embedded.

1reaction
mpvadercommented, Jan 14, 2019

An update! The last few days I’ve:

  • Finally properly fixed the build issue, including cross-compiling. Result is that there are no more hacks & tricks in how signalk + dependencies are being built and installed on the Venus rootsfs. In the branches you can see how its been done.
  • The serial-ports are now properly handled: any serial-port configured to be used by a Signalk dataprovider is not used by the rest of Venus OS.
  • Updated the text in the first post; added chapter The Short Story.

And built a new version, v2.30~23-signalk. For Venus GX; and first time I think, also for Raspberrypis.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Add signalk-server to Venus OS · Issue #517 - GitHub
See here for what Venus OS is. The idea is to either add SignalK to standard Venus as released by Victron, or otherwise...
Read more >
Venus OS Large image: Signal K and Node-RED
Venus OS Large is an extended version of the common software, adding Node-RED and Signal K server. Node-RED offers PLC like programming for ......
Read more >
signalk-venus-plugin - npm
This code is a Signal K Node Server plugin. It reads Victron data from a Venus-device, such as the Color Control GX or...
Read more >
Victron's Venus OS on a Raspberry Pi, install and configuration
Well, the Victron Venus Plugin for Signal K server adds all the data Venus collects to a SignalK instance. Now, you can graph...
Read more >
signalk-venus-plugin : dbus and tcp vonfig - Google Groups
Please, my raspberry pi 3 with venus os 2.60 can't get to gui when adding the open ... to the the ip of...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found