PupAIS: An NMEA string parser and vessel plotter

The acronym AIS stands for Automated Identification System. This is an international marine navigation transponder system, which is compulsory for larger ships. (See this wikipedia article for details.) There is already a number of sophisticated AIS receivers and plotters in the market, many of which are suitable for leisure yachts. But as I already had most of the hardware needed aboard my 27' sailing yacht Cypris -- including VHF, GPS and a 9" Asus Eee PC with modest power requirements running directly on 12 volts -- I wrote this Python application primarily so that I could monitor (and possibly hail) approaching ships while sailing in fog, darkness, or poor visibility in general.

This is an overview of our system: