Although I love NMEA 2000 there is a role for (some) continued NMEA 0183 use. Since last week I run a Digital Yacht AIS receiver at home and upload the resulting AIS data to the internet. I'm station 727 at Marine Traffic and I also contribute the data to AISHUB.
This is where nmea0183-serial and iptee come in. These are new Linux and OS X programs available at my website as part of the packetlogger download (hey, maybe I should rename that!)
The nmea0183-serial program reads data from a serial port at 38,400 baud and sends it to stdout. The iptee program reads lines from stdin and sends it to any number of TCP or UDP servers. To make sure it does not block one service when another is unavailable it drops messages when a service is not available.
I use this as follows:
nmea0183-serial -r /dev/ttyUSB0 | iptee -u data.aishub.net 2112 -u 18.104.22.168 5321 | tee /volume1/ais/ais.log
In the above example I feed the data to AIShub.net and Marine traffic via two UDP channels, and I log the data on disk as well. For display reasons the code was split over multiple lines; it was originally a single line.