n2k
Read and write structured NMEA 2000 CAN messages using Go.
github.com/open-ships/n2k | pkg.go.dev/github.com/open-ships/n2k
Features
- Typed PGN’s for vessel, engine, navigation, electrical, environmental, AIS, and system data
- Read and write to live NMEA 2000 networks
- SocketCAN, USB-CAN, and replay sources supported
- Automatic ISO 11783 address claiming for transmitting devices
- Fast-packet and transport-protocol handling for multi-frame messages
- CEL-based filtering for PGN metadata and decoded message fields
- Iterator, Scanner, and Client APIs for different integration styles
- Replay testing for deterministic development without hardware
- Sniffer CLI for inspecting decoded network traffic as JSON