<!-- title: 让帆船自己开的，是台树莓派 -->

前几轮我们把终端、厨房、机架和菜地都翻了个遍，这一期干脆下水。从帆船自动舵、船载数据总线，到海缸里的树莓派管家，本期 7 个仓库恰好能串成一条完整的「水上数据链」：传感器出数 → 协议解析 → 数据中枢 → 海图、仪表、自动舵各取所需——这是一套任何人都能照着搭的船用电子系统，总价不到商用品的一个零头。老规矩：Star 数为量级速记，精确值以 GitHub 页面实时为准。

---

### 1. [pypilot](https://github.com/pypilot/pypilot) ｜Star 千级｜长期活跃

**一句话定位：跑在树莓派上的开源帆船自动舵，把动辄数千美元的船用自动驾驶仪，变成一块主控板加一颗 IMU。**

商船上有舵机随动系统，休闲帆船上的自动舵（autopilot）一直是 Raymarine、Garmin、B&G 三家的地盘，整套舵机+控制头+罗经的公开报价轻松破千甚至数千美元，老船换装更是一笔糊涂账。pypilot 的思路是：舵角驱动用开源电机驱动板，姿态感知用 IMU，控制逻辑全部跑在树莓派上——从 Zero 到 4 代都能当主控。

核心拆解：软件层面它做了三件难事——海浪环境下的航向滤波、PID 舵量调节的自适应、以及与风角相关的节能操舵（wind mode，顺着侧风走比顶着浪省电得多）。它对外讲 NMEA 0183，能吃罗经和风速仪的数据，也能接入 OpenCPN 直接沿航线自动开船；作者 Sean D'Epagnier 本身就是 OpenCPN 的核心插件作者，两个项目咬合得很深。驱动板和 IMU 传感帽官方开源硬件设计，也有成品套件出售——这本身就是一条「开源软件 + 硬件套件」的成熟生意。

上手难度：⭐⭐⭐⭐（要动舵机线路，建议先在码头试）

适用人群：远航玩家、二手船改装党、船舶电子爱好者。二次开发方向：游艇租赁公司的低成本自动驾驶改装服务，或把它塞进无人水面艇（USV）做科研平台。

### 2. [Signal K](https://github.com/signalk/signalk) ｜Star 千级｜长期活跃

**一句话定位：船上的「数据水厂」，把 NMEA 0183/2000 这些年代久远的船电协议，统一酿成一份 JSON。**

船上设备的现状是：GPS、测深仪、风速仪、发动机、电池各说各话，NMEA 0183 是上世纪的串口协议，NMEA 2000 是 CAN 总线，彼此还不好直接互通。Signal K 定义了一套开放的海上数据模型（名字里的 K 就是 knot，节），配套一个 Node.js 服务器：上游接入各种物理总线，下游用 WebSocket/REST/MQTT 把水深、航向、油量、水温这些状态以统一 JSON 推给任何设备。

核心拆解：服务器自带 Web 界面和插件市场，插件生态是它真正的护城河——数据转换、报警规则、自动舵对接、历史数据存储各有社区插件，手机平板连上船内 Wi-Fi 就能看实时数据。它不替你做界面，它只保证「水」干净：这正是它能当底座的原因。

上手难度：⭐⭐⭐（会装 Docker 就能跑）

适用人群：船电改装技师、船队管理开发者。商业方向极清晰：游艇制造商的船联网网关、渔船船队监控 SaaS 的数据层，都可以直接在它上面盖楼。

### 3. [OpenCPN](https://github.com/OpenCPN/OpenCPN) ｜Star 数千级｜长期活跃

**一句话定位：全球休闲航海的事实标准开源海图机，一套软件替代数万元的专用 chartplotter 硬件。**

商用的海图显示器贵得理直气壮，而 OpenCPN 用 C++ 写了一套跨平台（Linux/Windows/macOS/ARM）的海图领航软件：矢量 ENC 海图与光栅海图都吃，航线规划、锚位报警、AIS 目标叠加一应俱全。它是这条数据链上用户量最大的一环，背后有基金会运营，插件仓库里有气象传真、气候路线、雷达叠加等上百个插件。

核心拆解：亮点在于它把「专业领航」拆成了普通硬件能扛的负载——树莓派接船载屏幕就是一台海图机，笔记本就是备用领航台。它也是 pypilot 的最佳拍档：OpenCPN 规划航线，插件把舵令喂给 pypilot，一整套「自动开船」的软件栈就齐了。

上手难度：⭐⭐（装好海图就能用，精通靠航海知识）

适用人群：所有船主、皮划艇和垂钓玩家。商业方向：面向船厂的预装定制、付费插件开发、海图数据服务整合。

### 4. [canboat](https://github.com/canboat/canboat) ｜Star 千级｜持续维护

**一句话定位：NMEA 2000 的「密码本」，一行 C 代码一根筋，专干把 CAN 总线报文翻译成人话这件事。**

NMEA 2000 设备在总线上说的是一堆带 PGN 编号的二进制帧，没有手册就是天书。canboat 提供了完整的 PGN 数据库和 `analyzer` 命令行工具，把原始帧解码成可读的 JSON；配套的串口工具能直读常见 USB 网关。Signal K 服务器早期就是靠它当解析后端（后来有了 JS 移植版），各类船联网网关项目里也频繁出现它的影子——它属于那种「你没用过，但你用过的东西都用过它」的仓库。

核心拆解：代码干净克制，数据库文件（JSON 格式的 PGN 定义）本身就有独立价值，做协议研究、写自己的网关固件都拿它当基准参考。

上手难度：⭐⭐⭐⭐（要有 CAN 总线硬件和耐心）

适用人群：船舶电子工程师、嵌入式开发者。商业方向：船联网硬件网关的固件底座，OEM 二次开发首选。

### 5. [AvNav](https://github.com/wellenvogel/avnav) ｜Star 百级｜持续维护

**一句话定位：把海图机变成一个网页——树莓派挂在船上，全船手机浏览器就是领航台。**

典型小帆船的痛点：驾驶位只有一个，海图机只有一台。AvNav 的方案是在船上的树莓派跑一个服务端，接好 GPS 和 NMEA 数据流，然后向局域网里的任何浏览器推送海图界面——舵手看一份，导航员躺船舱里看另一份，各自独立缩放。

核心拆解：它走「薄终端、厚服务端」路线，支持在线与离线海图、航线管理与到点报警，数据侧能对接 Signal K，还有插件机制扩展数据源。百级 Star 却有相当完整的文档和活跃的社区问答，是小仓库里少见的「文档比 Star 厚」型选手。

上手难度：⭐⭐⭐

适用人群：预算有限的船主、租船玩家（自带树莓派上船）。二开方向：给船宿、帆船训练营做「即插即用导航盒」。

### 6. [Kip](https://github.com/mxtommy/kip) ｜Star 百级｜持续维护

**一句话定位：给 Signal K 数据流配的高级仪表盘，让发动机转速和风速仪长出豪华跑车的观感。**

数据有了，总得有块好看的表。Kip 是一个专门为 Signal K 打造的 Web 仪表盘应用：仪表盘、曲线图、告警通知都是可自由排布的组件，支持多页面布局切换——一页看航行，一页看机舱，一页看电池。

核心拆解：基于 Vue 构建，深度消费 Signal K 的 WebSocket 数据流，组件粒度细到单个数据字段的取值规则都可以定制。它印证了 Signal K 生态的正确打开方式：底座保持克制，界面交给专才。

上手难度：⭐⭐（在 Signal K 的应用商店里点一下就装上）

适用人群：所有搭了 Signal K 的船主。二开方向：把「船舱可视化」打包成游艇精装修方案的一部分。

### 7. [reef-pi](https://github.com/reef-pi/reef-pi) ｜Star 千级｜持续维护

**一句话定位：海水缸的树莓派管家——温控、灯照、自动补水、剂量泵，一个仓库全包。**

海水缸玩家是消费电子界的重灾区：温控器、定时插座、补水泵、钙反滴定，各买一台各带一个 App，机柜里插线板比珊瑚还密。reef-pi 用一块树莓派收编全部：继电器控制设备通断、温度传感器做恒温曲线、光照按日出日落曲线渐变、自动补水（ATO）和剂量泵按计划滴定。

核心拆解：Go 后端 + React 前端，模块化设计——equipment、timer、doser、ato、temperature 各自成块，传感器通过树莓派 GPIO 与常见 USB 传感器接入，文档站有从零开始的装机指南。淡水缸、爬宠箱、水草景甚至发芽箱，逻辑稍微改改都能套用。

上手难度：⭐⭐⭐（接线有风险，先从定时插座玩起）

适用人群：水族玩家、桌面生物爱好者。商业方向：成品化「海缸中控」套件，或向智能农业的育苗柜场景平移。

---

### 本期横向对比

| 仓库 | 链路层级 | Star 量级 | 上手难度 | 适用场景 |
|------|----------|-----------|----------|----------|
| pypilot | 执行层 | 千级 | ⭐⭐⭐⭐ | 帆船自动舵改装 |
| Signal K | 数据层 | 千级 | ⭐⭐⭐ | 船电协议整合 |
| OpenCPN | 应用层 | 数千级 | ⭐⭐ | 海图领航 |
| canboat | 协议层 | 千级 | ⭐⭐⭐⭐ | 网关固件开发 |
| AvNav | 应用层 | 百级 | ⭐⭐⭐ | 手机当海图机 |
| Kip | 应用层 | 百级 | ⭐⭐ | 船载仪表盘 |
| reef-pi | 独立支线 | 千级 | ⭐⭐⭐ | 海缸自动化 |

> 注：Star 数为 2026-09 的量级速记，精确数字以各仓库页面实时显示为准。

### 一条水上数据链是怎么跑起来的

```mermaid
flowchart TD
    SEN["GPS 罗经 风速仪"] --> N2K["NMEA 2000 总线"]
    OLD["老船 NMEA 0183 设备"] --> SK["Signal K 服务器"]
    N2K --> CB["canboat 解析报文"]
    CB --> SK
    SK --> OC["OpenCPN 海图台"]
    SK --> KIP["Kip 仪表盘"]
    SK --> AV["AvNav 网页海图"]
    OC --> PY["pypilot 自动舵"]
    PY --> MOTOR["电机驱动推舵杆"]
```

### 本期之最

**最值得立即尝试：reef-pi。** 不用出海不用买船，一块树莓派加一个周末，鱼缸就能告别七个插线板，收益立竿见影，坏了也不心疼。

**最有商业潜力：Signal K。** 船联网至今没有统一的软件底座，而游艇电子改装是一个客单价极高的存量市场。谁在 Signal K 上做出行业化的船队管理或保险数据服务，谁就拿到了这条赛道的管道费。

**最被低估：canboat。** 它没有界面、没有 Logo 图，却是无数船联网网关的地基。协议解析这种脏活，做一次就是十年的壁垒。

---

## 参考来源

1. [pypilot 项目官网](https://pypilot.org) — 自动舵方案、硬件套件与作者文档
2. [Signal K 官网](https://signalk.org) — 数据模型规范与服务器插件文档
3. [OpenCPN 官网](https://opencpn.org) — 海图软件下载与插件目录
4. [reef-pi 文档站](https://reef-pi.github.io) — 模块说明与树莓派装机指南
5. 各仓库 GitHub 页面（见正文链接）— Star 数、许可证与提交记录

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
