stingray-signalk

0.0.10 • Public • Published

Stingray-SignalK Plugin

Overview

The stingray-signalk plugin is designed to provide real-time navigation and environmental data from the SignalK server directly to a Garmin watch app. By capturing critical marine data—such as wind speed, GPS location, and depth—this plugin enables users to view essential vessel metrics on their Garmin watch, making key information accessible and actionable right from their wrist.

Garmin watch PLUGIN out now!

Note: This plugin requires a compatible Garmin watch to display the data. The accompanying Garmin watch app is availabel on connect iq Stingray

Preview of the Application watchface:

Stingray

Key Functionalities

  1. Sensor Data Capture and Delivery

    • Wind Speed and Direction: Measures apparent wind speed and angle for navigation and sail adjustments.
    • GPS Location: Tracks real-time GPS position to support route planning.
    • Course Over Ground (COG) and Speed Over Ground (SOG): Monitors vessel heading and speed relative to the ground, helping to maintain course.
    • Water Depth: Measures water depth below the vessel for safe navigation in shallow areas.
    • Waypoint Bearing and ETA: Displays the bearing and estimated time of arrival (ETA) to the next waypoint, enhancing route management.
  2. Seamless SignalK Integration

    • Unified Data Display: The plugin gathers all relevant data from the SignalK server and makes it available to the Garmin watch app, providing a centralized view of the vessel’s current status directly on your wrist.
    • Historical Data Logging: Logs data over time, allowing users to review trends and make data-driven decisions.
  3. Real-Time Monitoring on Garmin Watch

    • Immediate Response: Real-time insights on the Garmin watch enable quick reactions to changes in wind, speed, course, or depth.
    • Custom Alerts: Configurable thresholds for specific metrics (e.g., shallow water alert) trigger notifications, providing situational awareness.

Installation

Use Appstore within signalk is always the best way how to install such plugins. Search for stingray-signalk. After installation you need to grant bluetooth permission: sudo setcap cap_net_raw+eip $(eval readlink -f `which node`) If you like to do it manualy follow this steps:

  1. Copy Plugin Files: Copy the plugin files to the SignalK plugin directory on your server.

    • This directory is typically located at ~/.signalk/node_modules/.
  2. Install Dependencies (if required):

    cd ~/.signalk/node_modules/stingray-signalk
    npm install
    
  3. Enable the Plugin: Open the SignalK user interface under Settings > Plugin Config and enable stingray-signalk.

Configuration

After installation, the plugin requires that each Garmin watch connecting to the app be explicitly enabled to receive data. Here’s how it works:

  1. Device Authorization: When a Garmin watch attempts to connect, it will appear in the plugin’s configuration view, listed by its MAC address.
  2. Enabling Devices: The plugin administrator must manually enable each device by selecting the corresponding MAC address and clicking the Enable button. Only enabled devices are authorized to receive data from the SignalK server.
  3. Unauthorized Devices: Devices that are not enabled will be unable to receive any data, ensuring controlled access to the SignalK data stream.

Troubleshooting

  1. Check Logs: Any errors or important events will be logged in the SignalK log, viewable with the command above.

  2. Restart Server: If issues occur, restarting the SignalK server may help:

    sudo systemctl restart signalk
    
  3. Compatibility Check: Ensure you are using the latest versions of SignalK and Node.js for best compatibility.

  4. All seams good, but still not working: Check the log for the following:

    Dec 07 16:05:56 Bleno warning: adapter state unauthorized, please run as root or with sudo
    Dec 07 16:05:56 or see README for information on running without root/sudo:
    Dec 07 16:05:56 https://github.com/abandonware/bleno#running-on-linux
    

    This means signalk has no permission to access bluetooth hardware. this has to be granted with the following command on bash:

    sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)
    

Contributing

Contributions to improve this plugin are welcome! Please submit an issue or pull request on the GitHub repository to report bugs or suggest new features.

License

This plugin is licensed under the Apache-2.0 License and may be used, modified, and distributed under the terms of this license.

Contact

For questions or support, please contact Jens Straube: jens@straube.it.

Package Sidebar

Install

npm i stingray-signalk

Weekly Downloads

9

Version

0.0.10

License

Apache2.0

Unpacked Size

284 kB

Total Files

9

Last publish

Collaborators

  • straubej