我目前正在升级我的船 CanBus 系统,我需要在主干上添加更多传感器,主要是发动机控制系统和卫星短信调制解调器。
由于大多数船舶设备使用 NMEA2000 标准,我的自动驾驶仪(使用 Raspberry Pi 构建)代码仅解释来自 GPS、NAV 单元、指南针、风传感器等的 NMEA2000 消息。但是,我找不到 NMEA2000 兼容的卫星调制解调器。
我现在有三个可行的选择:
- 仅使用现成的 NMEA2000 兼容部件,这些部件通常价格昂贵、耗电且无法定制;
- 使用 uC 构建 N2k 适配器以执行给定任务并发送/接收 N2k 消息;
- 也依赖通用 CAN 控制器并实现双标准 CanBus(N2k 和通用 CAN 帧)。
NMEA2k 是一个封闭标准,我使用的是逆向工程 C++ 库,因此也可以切换到 Signal K 等开源协议;我只是担心已经安装的上述传感器所需的从 N2k 到 Signal K 的额外转换器以及增加的功率要求。