NMEA0183 multiplexer (and tools), written in python (python3).
Comes with a lib that make it easy to connect to NMEA0183 servers and to send NMEA sentences.
Reading/Filtering NMEA sentences is also possible.
"/bin" contains:
A "multiplexer" can be used to connect several NMEA0183 clients.
A "joiner" connects a mutiplexer (or any NMEA server) to another multiplexer or server (one way).
A "pipe" connects a mutiplexer (or any NMEA server) to another multiplexer or server (bi-directional).
A "console" can be plugged-in on the multiplexer to monitor live NMEA0183 traffic.
"/lib" contains:
nmea0183.py: encoding/decoding/filtering library
nmeaSender.py: NMEA0183 message sending (to server) library
nmeaTranceiver.py: asyncio based lib to create intelligent NMEA clients
geoCalc.py: geographiclib based lib to do geographic calculations + convert Deg/Minute/Sec/Hemi format to NMEA format (decimal degrees)
aisMsg.py: lib to encode/decode AIS messages, based on ITU-R M.1371-5 Annex 8 (2014)
[...]
"/tools" contains:
boat.py: a simple test boat that receives RMBs and sends RMCs
dpt.py: a simple depth transducer that sends DPT
PetitBaigneur.py: a fake Cargo ship that sends it's AIS position
MOB.py: a MOB AIS signal
[...]
Also included: tools to decode GRIB files, polars, etc.