neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
CAN Boat은 NMEA 2000·0183 유틸리티로, PGN 디코더와 메시지 읽·쓰기를 지원하며 최종 사용자용이 아닌 탐색 도구입니다
CAN Boat provides NMEA 2000 and NMEA 0183 utilities. It contains a NMEA 2000 PGN decoder and can read and write N2K messages. It is not meant as an end-user tool but as a discovery mechanism for delvi
개발 도구Rust · CGitHub @canboat직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
CAN Boat provides NMEA 2000 and NMEA 0183 utilities. It contains a NMEA 2000 PGN decoder and can read and write N2K messages. It is not meant as an end-user tool but as a discovery mechanism for delving into NMEA 2000 networks.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A small but effective set of command-line utilities to work with CAN networks on BOATs. The most common version of CAN networks on board, and in fact at the moment the only ones that this suite can analyse, is NMEA 2000.
The NMEA 2000 database and implementation is copyrighted by the NMEA (National Marine Electronics Association). Access is restricted to members and parties that pay for it. If they do so they are not able to divulge the content of the database, thus making it impossible for open source developers to get access to it.
For this reason we have reverse engineered the NMEA 2000 database by network observation and assembling data from public sources. Because we reverse engineer rather than license it, we also cover the proprietary PGNs of Navico, B&G, Airmar, Garmin, Raymarine, Furuno, Fusion, Maretron, Victron and others.
If you just want to know how the NMEA 2000 protocol works, with an explanation of all reverse engineered data, please go to the documentation page.
To use the programs included in this project on a live bus you need a supported CAN interface: a marketed-as-such NMEA 2000 gateway, or a plain CAN adapter. The gateways page lists the ones canboat drives.
CANboat ships two implementations. Both are tier 1 — supported, tested and released together — and they are interchangeable for the jobs they both do.
C tools. analyzer and the *-serial gateway drivers are the originals and
stay tier 1. They are small, dependency-light and build with nothing but make
and a C compiler.
analyzer | decode NMEA 2000 into text or JSON |
actisense-serial | Actisense NGT-1 / W2K-1 gateways |
ikonvert-serial | Digital Yacht iKonvert |
socketcan-serial | Linux SocketCAN |
maretron-ipg | Maretron IPG100 |
candump2analyzer, replay, iptee, nmea0183-serial, analyzer-j1939 | converters and helpers |
canboat, the Rust binary. One executable with subcommands. convert and
the gateway support are tier 1 alongside their C counterparts; everything with
no C equivalent is tier 1 as the only implementation.
canboat convert | decode a capture between any supported formats |
canboat interface | bridge a live gateway (NGT-1 / iKonvert / Maretron / Yacht Devices / W2K-1 / PRO-NDC / SocketCAN / CANalyst-II / USB-CAN-A) |
canboat n2kd | multiplex an analyzer-JSON stream to TCP clients |
canboat server | the whole device → analyzer → n2kd pipeline in one process |
canboat tui | interactive terminal browser for a live stream or a capture |
canboat format-message | build a single frame from field values, for any PGN |
canboat replay | pace a capture at its original wall-clock rhythm |
canboat install-shims drops symlinks so the subcommands answer to the old
names (analyzer, n2kd, actisense-serial, …). It never takes a name that
another program already holds, so it is safe to run in a directory that has the
C tools installed — it reports what it left alone.
The remaining C converters, the helper scripts in util/ (PHP, perl and ksh)
and the Python tooling will most likely move to Rust in time; the C n2kd and
n2kd_monitor already have, and were removed in v8.
Each program is described in doc/programs.md and doc/c/programs.md.
| doc/using.md | Worked examples, from decoding a capture to writing to the bus; doc/c/using.md with the C programs |
| doc/programs.md | The canboat binary and each of its subcommands, and which C program does the same |
| doc/c/programs.md | Each C program and helper script, with its options |
| doc/gateways.md | The supported gateways and CAN adapters: --kind and --data-format, what each reads and writes, J1939 and 11-bit, device notes, the NGT-1's driver, the AOS simulator, the CANalyst-II on Windows, the transmit and receive PGN lists and --rx-filter |
| doc/server.md | canboat server: its ports, running it as a service, the device quirks, a capture as a live bus (--replay), performance |
| doc/file-formats.md | The capture formats analyzer and canboat convert read |
| doc/definitions.md | Using the XML and JSON definitions in your own project, and writing a decoder |
| crates/canboat/README.md | The canboat Rust library: quick start and features. The API reference is on , its design in |
The same documents, and the PGN documentation, are on the documentation site.
Pull requests are welcome! See CONTRIBUTING.md for how to write your PR title
(it becomes the release changelog entry), the source/generated lockstep rule, how to add or fix a PGN with
keel edit, and what evidence a database change needs. BUILDING.md has the build and test
instructions.
The definitions are in docs/, as canboat.json and
canboat.xml, with the J1939 and Quick PCS ones next to them.
Pin your copy to a release: semantic versioning warns you of major (x.0.0) and
minor (0.x.0) changes to the definitions. doc/definitions.md
has the rest.
See Changelog.
(The Rust library used to live separately as canboat-rs; it was merged into
this repository in v8 and is the canboat crate.)
Initial snapshot: 7 October 2026, with individual entries updated since. The CANboat version each project uses and when it was last updated can drift. The survey behind this table, with more projects, is in research/downstream-survey-2026-10.md. Maintain one of these, or another project built on CANboat? Open an issue to correct your entry or to be notified of new major and minor releases.
| Project | What it is | Uses CANboat as | CANboat version | Project last updated |
|---|---|---|---|---|
| AvNav | Chart plotter | NMEA 2000 data from the n2kd server | binaries | 2026-10 |
| boatkit n2k | Go NMEA 2000 library | Go types generated from canboat.json at a pinned release | v8.1.0 | 2026-10 |
| CanLab | CAN, J1939 and NMEA 2000 analysis workbench (Python) | PGN table built from canboat.json | v8.2.1 | 2026-09 |
| canboat_vendor | ROS 2 package | builds the CANboat tools | 2026-08 (pre-v8.0.0-beta3) | 2026-08 |
| go-nmea-client | Go NMEA 2000 library | canboat.json loaded at runtime | whichever file is supplied | 2023-07 |
| korri-n2k | NMEA 2000 stack for embedded Rust | code generated from canboat.json | v7.1.0 | 2026-09 |
| maritime-dissector | Wireshark dissectors for maritime protocols | NMEA 2000 dissector generated from canboat.json | latest, at generation time | 2026-03 |
| n2k | Erlang NMEA 2000 library | vendored CANboat definitions | v4.12.0 | 2026-04 |
| nmea2000 |
CANboat and its sibling canboatjs are command-line tools. If you just want to use your NMEA 2000 network, these projects build on them and provide a friendlier experience:
If you find CANboat useful, please consider supporting its development via GitHub Sponsors.
(C) 2009-2026, Kees Verruijt, Harlingen, The Netherlands.
This file is part of CANboat.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
| BUILDING.md | Pre-built binaries; building the C tools and the Rust binary, and testing |
| CONTRIBUTING.md | Pull request titles, adding or fixing a PGN, the evidence a database change needs, the public contract |
| Python NMEA 2000 decoder and encoder |
| vendored canboat.json, synced weekly |
| v8.1.0 |
| 2026-10 |
| nmea2000 Home Assistant integration | NMEA 2000 PGNs as Home Assistant devices and entities | through nmea2000 | v8.1.0 | 2026-10 |
| NMEA2000-Analyzer | Windows GUI | canboat.json downloaded from master at runtime | latest | 2026-07 |
| nmea2000-rs | Rust NMEA 2000 decoder and encoder | code generated from canboat.json at build time | v6.1.3 | 2026-02 |
| open-ships n2k | Go NMEA 2000 library and bus node | Go types, decoders and encoders generated from a vendored canboat.json | v9.0.0 | 2026-10 |
| pgntui | Terminal UI for NMEA 2000 (Python) | vendored canboat.json | v6.2.0 | 2026-06 |
| signalk-server-go | Signal K server in Go | decodes NMEA 2000 with a vendored canboat.xml | v6.2.2 | 2026-09 |
| Smart Boat Innovations integrations | ha-smart2000usb and ha-smart2000esp: NMEA 2000 into Home Assistant over USB-CAN or an ESP32 | decoders generated from canboat.json | v5.0.3 | 2026-04 |