npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

stingray-signalk

v0.0.10

Published

this plugin exposes data via bluethoth to garmin devices like quatix 7X Solar check appstore for Stingray

Downloads

422

Readme

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: [email protected].