I am currently upgrading my boat CanBus system and I need to add some more sensors to the backbone, mainly an engine control system and a satellite sms modem.
As most of marine equipment uses NMEA2000 standard, my autopilot (built with Raspberry Pi) code only interprets NMEA2000 messages coming from the GPS, NAV unit, compass, wind sensor, etc. However, I could not find NMEA2000 compatible satellite modems.
I now have three viable alternatives:
- Use only off the shelf NMEA2000 compatible parts, which are generally expensive, power consuming and cannot be customised;
- Build a N2k adapter using a uC to perform the given task(s) and send/receive N2k messages;
- Rely to generic CAN controllers too and implement a double standard CanBus (N2k and general can frames).
NMEA2k is a closed standard and I am using reverse-engineered C++ libraries, so switching to an open source protocol such as Signal K could also be possible; I'm just concerned about the additional converters from N2k to Signal K needed for the aforementioned sensors already installed and the increased power requirements.