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:
- Created 5 years ago
- Reactions:2
- Comments:47 (35 by maintainers)
Hi @MichelleWhy (and hi Stefanie, you’re everywhere ;o) ), you wrote:
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.
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.
An update! The last few days I’ve:
The Short Story
.And built a new version,
v2.30~23-signalk
. For Venus GX; and first time I think, also for Raspberrypis.