@signalk/signalk-autopilot
v1.5.0
Published
Plugin that controls an autopilot
Downloads
204
Readme
signalk-autopilot
signalk-autopilot
is composed of 2 modules:
- A graphical interface that emulates a Raymarine remote control
To be able to acknowledge pilot related alarms through the GUI you need to install thesignalk-alarm-silencer
plugin. - A back-end API described below.
This currently only supports Raymarine NMEA 2000 and Raymarine Seatalk 1 Autopilots, but I'll be adding support for other autopilots as needed.
For Seatalk 1 Autopilots to work, a device that can translate Seatalk datagrams back and forth within an NMEA0183 sentence is required. They may be purchased from Digital Yacht, Shipmodul (Miniplex 3) or gadgetpool. For an example guide, see TinyNMEA-USB.md
Also, signalk-to-nmea0183 plugin with APB (for route control) and MWV (for wind steer) should be enabled.
Current State
The current state of the autopilot can be found at the following paths:
- steering.autopilot.target.headingMagnetic
- steering.autopilot.target.windAngleApparent
- steering.autopilot.state (standby, wind, route, or auto)
API
All messages to plugin are done using PUT requests. These can be done via HTTP or over WebSockets.
Detailed info on PUT and Request/Response
Http:
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/target/headingMagnetic
{
"value": 88,
}
WebSockets:
{
"context": "vessels.self",
"requestId": "184743-434373-348483",
"put": {
"path": "steering.autopilot.target.headingMagnetic",
"value": 88
}
}
Advance Waypoint
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/actions/advanceWaypoint
{
"value": 1,
}
Set Autopilot State
The value
can be auto
, wind
, route
, or standby
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/state
{
"value": "auto",
}
Change Target Heading or Wind Angle
The value
is in degrees and is the amount to change. So when in auto
at a heading of 180, a value of -10
will change the target heading would be changed to 170
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/actions/adjustHeading
{
"value": -10,
}
Tack to port or starboard
The value
is port
or starboard
.
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/actions/tack
{
"value": "port",
}
Target Heading
The value
is the heading in degrees.
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/target/headingMagnetic
{
"value": 80,
}
Target Wind Angle
The value
is the wind angle in radians.
PUT http://localhost:3000/signalk/v1/api/vessels/self/steering/autopilot/target/windAngleApparent
{
"value": 1.52,
}