Blog
Recent Posts
Comprehensive Guide to OpenPlotter and Signal K
Posted by
onOpenPlotter is an open-source marine navigation and data integration platform designed for use with Raspberry Pi. It provides a powerful toolkit for sailors, researchers, and DIY enthusiasts who want to collect, process, and visualize data from various maritime sources. A core component of OpenPlotter is Signal K, an open data format and server for marine applications that allows vessels to share and interpret data across different systems seamlessly.
This report explores OpenPlotter and Signal K, detailing their functions, installation, configuration, and applications in marine navigation and automation.
1. Understanding OpenPlotter
1.1 What is OpenPlotter?
OpenPlotter is an open-source software package for Raspberry Pi, developed to assist with marine navigation, data logging, and automation. It integrates multiple tools and applications, allowing boat owners and researchers to monitor their vessel’s electrical, mechanical, and environmental systems.
1.2 Key Features of OpenPlotter
-
Real-time Data Processing: Supports multiple marine data sources, including NMEA 0183, NMEA 2000, and various sensor inputs.
-
Chartplotter Integration: Compatible with OpenCPN, an open-source chartplotter and navigation software.
-
Signal K Support: Provides seamless integration with Signal K for modern data handling and sharing.
-
Automation Capabilities: Enables automation using Node-RED, Python scripting, and MQTT for remote monitoring.
-
Wireless Connectivity: Allows remote access via Wi-Fi, Bluetooth, and LTE connections.
-
Customizable Dashboards: Enables users to visualize data through interactive dashboards.
-
Data Logging & Analytics: Records voyage data for analysis and troubleshooting.
2. Understanding Signal K
2.1 What is Signal K?
Signal K is a modern, open-data standard designed for maritime use. It allows data sharing between different marine devices, applications, and online services. Unlike older standards such as NMEA 0183, which primarily uses serial communication, Signal K is designed for networked environments, making it easier to integrate modern technology.
2.2 Key Features of Signal K
-
JSON-Based Data Format: Uses JSON for easy parsing and integration with web applications.
-
Real-Time Data Streaming: Provides live updates from sensors and onboard systems.
-
Remote Access & Web Interface: Enables monitoring and control from any device with a browser.
-
Extensible Plugins: Supports a wide range of plugins for automation and customization.
-
Compatible with Multiple Protocols: Integrates with NMEA 0183, NMEA 2000, MQTT, and more.
3. Implementing OpenPlotter and Signal K
3.1 Hardware Requirements
To set up OpenPlotter and Signal K, you need:
-
Raspberry Pi 4 or 5 (Recommended for better performance)
-
MicroSD Card (32GB or larger, Class 10)
-
Power Supply (5V, 3A or higher)
-
GPS Module (for position tracking, optional)
-
PiCAN-M HAT (for NMEA 2000 and CAN bus integration, optional)
-
USB to Serial Adapter (for NMEA 0183 devices, if needed)
-
Marine Sensors (Wind, Depth, Speed, etc.)
-
Wi-Fi / LTE Module (for remote connectivity, optional)
3.2 Software Installation
Step 1: Install Raspberry Pi OS
-
Download the latest Raspberry Pi OS (64-bit recommended) from the official Raspberry Pi website.
-
Flash the OS onto the MicroSD card using Raspberry Pi Imager or Balena Etcher.
-
Insert the MicroSD card into the Raspberry Pi and power it up.
-
Update the system:
sudo apt update && sudo apt upgrade -y
Step 2: Install OpenPlotter
-
Add the OpenPlotter repository:
echo 'deb http://repo.openplotter.cloud buster main' | sudo tee /etc/apt/sources.list.d/openplotter.list
-
Update package lists:
sudo apt update
-
Install OpenPlotter:
sudo apt install openplotter-settings
-
Launch OpenPlotter from the Raspberry Pi menu and follow the setup wizard.
Step 3: Install Signal K
-
Install Node.js:
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs
-
Install Signal K:
sudo npm install -g signalk-server
-
Start the Signal K server:
signalk-server --sample
-
Open the Signal K web interface at
http://raspberrypi.local:3000
.
3.3 Connecting OpenPlotter and Signal K to NMEA Networks
-
NMEA 0183: Connect via USB-to-Serial adapters and configure in OpenPlotter.
-
NMEA 2000: Use a PiCAN-M HAT and configure CAN bus settings.
-
Wi-Fi Data Sharing: Enable TCP/UDP servers to share data over Wi-Fi.
4. Expanding OpenPlotter and Signal K
4.1 Adding GPS and AIS
-
GPS: Connect via USB or GPIO UART.
-
AIS: Use a dedicated AIS receiver or integrate with a VHF radio.
4.2 Enabling Remote Monitoring
-
Use MQTT to stream data to cloud-based dashboards.
-
Configure InfluxDB and Grafana for data visualization.
4.3 Automating Alerts and Actions
-
Use Node-RED to trigger alerts based on sensor data.
-
Set up email or SMS alerts for specific conditions.
5. Troubleshooting & Maintenance
-
Check Logs:
journalctl -u signalk -f
-
Restart Services:
sudo systemctl restart signalk
-
Monitor CAN bus traffic:
candump can0
Conclusion
By integrating OpenPlotter and Signal K with a Raspberry Pi, you can create a powerful and customizable marine data hub. This setup enables real-time monitoring, automation, and data sharing, making it an excellent tool for boat owners, researchers, and marine enthusiasts looking to modernize their vessels.
PICAN-M - NMEA 0183 & NMEA 2000 HAT For Raspberry Pi With SMPS
The PiCAN-M (M = Marine) is a Raspberry Pi HAT designed for seamless integration with OpenPlotter and Signal K, enabling advanced marine data processing and automation. It features NMEA 0183 and NMEA 2000 connectivity, allowing boats to collect, share, and analyze crucial navigation and sensor data in real time.
The NMEA 0183 (RS422) port is accessible via a 5-way screw terminal, while the NMEA 2000 port uses a Micro-C connector, ensuring compatibility with standard marine networking equipment.
Additionally, the board is equipped with a 3A SMPS (Switch Mode Power Supply), which powers both the Raspberry Pi and the PiCAN-M HAT directly from an onboard 12V DC power source. This robust power design makes it ideal for marine applications, providing stable and efficient performance for continuous operation on vessels.
With support for OpenPlotter and Signal K, the PiCAN-M serves as a versatile, open-source marine data hub, perfect for boat owners, researchers, and automation enthusiasts seeking real-time monitoring and control of their maritime systems.