Installation of Signal K server can consists of the following steps:
- Install the tools and libraries required to run the Signal K server (the dependencies)
- Install a Signal K Server to process the Signal K data
- Run the Setup script.
Important: If you are updating a Signal K server installation, especially if upgrading an installed version <= 1.40.0, please check here first.
Raspberry Pi OS is installed on the device.
For instructions on how to install the operating system can be found here..
Note: It is also possible to perform a "headless install" using Raspberry Pi OS Lite
since the GUI for Signal K is browser based.
Once the OS installation has been completed, you are ready to commence.
-
Log in to the RPi Desktop and open a terminal.
-
Update the list of install packages.
sudo apt update
-
Install NodeJS 18 and npm.
-
Ensure that we're using the latest version of npm.
sudo npm install -g npm@latest
Use the following command to check the versions of NodeJS and npm installed.
node -v && npm -v
Ensure the reported versions are equal to or greater than
v18.15.0, 9.5.0
respectively. -
Install a Bonjour (mDNS) service for Linux called Avahi, which allows Apps and other network devices to Discover the Signal K server.
sudo apt install libnss-mdns avahi-utils libavahi-compat-libdnssd-dev
sudo npm install -g signalk-server
You can test that installation was successful by starting the server using some sample data.
signalk-server --sample-nmea0183-data
You should see the terminal output "signalk-server running at 0.0.0.0:3000" as shown below...
signalk-server --sample-nmea0183-data
Using sample data from /usr/lib/node_modules/signalk-server/samples/plaka.log
signalk-server running at 0.0.0.0:3000
The Signal K Node Server is now reading and publishing sample NMEA0183 data from the specified file.
Using a Web browser enter the following URL: http://127.0.0.1:3000/signalk
which should display the following information indicating the server is up and running.
{
"endpoints":{
"v1":{
"version":"2.0.0",
"signalk-http":"http://127.0.0.1:3000/signalk/v1/api/",
"signalk-ws":"ws://127.0.0.1:3000/signalk/v1/stream",
"signalk-tcp":"tcp://127.0.0.1:3858"
}
},
"server":{
"id":"signalk-server-node",
"version":"2.0.0"
}
}
Now that you have Signal K server installed, you will want to generate a settings file for your vessel and configure your RPi to start the server automatically. To do this run the setup script by entering the following command and follow the prompts.
sudo signalk-server-setup
You can re-run this command at any time in the future to change the settings.
Note: The setup script will enable security which will require you to Login`` from the Admin UI. Clicking
Login` for the first time will prompt you to create a user and password.
Signal K server will now be started automatically when your RPi boots up.
If you want to temporarily stop the Signal K server, you can do so by entering the following commands:
sudo systemctl stop signalk.service
sudo systemctl stop signalk.socket
To start Signal K server again enter the following commands:
sudo systemctl start signalk.service
sudo systemctl start signalk.socket
To stop Signal K server from starting automatically enter the following commands:
sudo systemctl disable signalk.service
sudo systemctl disable signalk.socket
You are ready to now configure your installation and connect data from devices on your boat.