Signal K is the hub to receive data, from different devices in different data formats, and send it on to different equipment, or databases, in different formats. Most common for standard marine equipment are the old NMEA 0183 and the newer NMEA 2000 protocol which is also handled.
Besides the SK "hub" function developers have created plugins for different purposes. This is due to that SK is open-source ! Sharing is caring !
So why mention OC when this post concerns SK ?
There is a good SK installation instruction but will do a compact one here, where ju start with a RPi update
Via ssh/terminal install Node.js(V18) and NPM
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash
sudo apt install nodejs && sudo npm install -g npm@latest
and check the install with
Install the SK server with
sudo npm install -g signalk-server
(There could be some warnings but it's OK)
Test the server with a sample logfile
signalk-server --sample-nmea0183-data
In a WEB browser check with, (If You are using another Hostname, change)
http://raspberrypi:3000/
and the SK dashboard will show. In the upper left corner click on "Webapps => @signalk/freeboard-sk", (FSK) and a world map will open with a boat symbol in the south of Finland. Zoom in and watch the boat approaching Österby.
sudo signalk-server-setup
The charts that are displayed are online charts and if you use the application offline you can download offline charts.
Migrate a Signal K server
This method was used to migrate a SK server, Raspberry pi, from Bullseye, Node 16 to Bookworm Node 20. On the source SK server update the server and all plugins. The following objects are needed on the target SK server
$HOME/.signalk/package.json
, file$HOME/.signalk/settings.json
, file$HOME/.signalk/plugin-config-data
, directory
Create a target server installing Signal K, logon and then remove/rename
$HOME/.signalk/node_modules
(Will disable the installed plugins)$HOME/.signalk/settings.json
(SK server settings)$HOME/.signalk/package.json
(Node.js metadata)
Restore the files settings.json
and package.json
, from the source server, to target server in folder $HOME/.signalk/
In $HOME/.signalk/
run npm install
which will install all the plugins listed in package.json
Remove/rename $HOME/.signalk/plugin-config-data (Plugin settings)
Restore the plugin-config-data folder, from the source server, to target server in folder $HOME/.signalk/
Restart the SK target server and check the result.
A nice way to copy data from one server to another is using command scp which demands that ssh is activated on both SK servers. So for example use below command copying the folder plugin-config-data.
pi@source:~/.signalk $ scp -r plugin-config-data pi@target.local:
Enjoy !
No comments:
Post a Comment
Feel free to leave a comment ! ... but due to a lot of spam comments I have to moderate them. Will reply ASAP !