@talmnes/signalk-ais700-to-nmea2000
v0.1.1
Published
SignalK plugin that emits NMEA2000 GPS PGNs (129025/129026/129029/127250) so chartplotters see own-vessel position when the only N2K GPS source is a Garmin AIS 700 (which only emits PGN 129039 AIS Class B Position).
Maintainers
Readme
signalk-ais700-to-nmea2000
SignalK Node Server plugin that emits NMEA2000 GPS PGNs to the bus, so chartplotters and other N2K devices see own-vessel position even when the only physical N2K GPS source is a Garmin AIS 700 (which emits PGN 129039 AIS Class B Position but not 129025/129029).
Designed to run on a Cerbo GX with Venus OS Large alongside SignalK, using the existing n2k-on-ve.can-socket provider to write back to the boat's NMEA2000 network.
What it does
Subscribes to SignalK self paths and re-emits to the N2K bus via nmea2000JsonOut:
| PGN | Name | Default rate | Default | |---|---|---|---| | 129025 | Position, Rapid Update | 5 Hz | enabled | | 129026 | COG & SOG, Rapid Update | 4 Hz | enabled | | 129029 | GNSS Position Data | 1 Hz | enabled | | 127250 | Vessel Heading | 1 Hz | disabled |
Each PGN is independently toggleable and rate-configurable in the plugin admin UI.
Configuration
sourceFilter— substring matched against$sourceof incoming SignalK values. Leave blank to accept any source except this plugin itself. Set to e.g.n2k-on-ve.can-socket.0to pin it to the Garmin AIS 700's AIS-derived position source.- Per-PGN
enabled+rateHz.
Requirements
- SignalK Node Server (e.g. via Venus OS Large)
- A SignalK provider that converts
nmea2000JsonOut→ N2K bus frames (n2k-on-ve.can-socketon Cerbo, or the canboatjs N2K provider elsewhere) - Node ≥ 18
Install
Will be published to npm with the signalk-node-server-plugin keyword so it shows up in the SignalK Appstore. Until then:
cd ~/.signalk/node_modules
git clone https://github.com/thomahawk72/signalk-ais700-to-nmea2000.git
# restart signalk server, enable the plugin in the admin UILicense
MIT
