Decoding AIS

So I guess most people’s first question will be “Whats AIS?”

Basically boats and ships send out their position and speed using AIS (Automatic Identification System) and other ships receive the message and are able to plot the positions of ships around them on their chart plotter or computer. Its a little bit more than that so if you want to know more about it have a read of this wikipedia article.

You can easily decode these signals yourself if you are in range, and if you are a radio Amateur then you probably already have the equipment you need. A radio capable of receiving on 161.975 or 162.025MHz and a PC. Connect the radio to the PC download and run some software and you should see the signals decoded right away if you want to use the soundcard as source then something like AISMon there is also software that accepts NMEA data from a serial or USB input.

I had a play with this and also signed up to send data up to the Marine Traffic website. It worked OK but it meant I had to leave my PC running and have my radio on all the time.

So I thought I would have a go at setting up a Raspberry Pi to do it using and AIS receiver with a USB output. And it was much simpler than I thought it might be.

  1. Connect the AIS to the power
  2. Plug the USB cable into the Raspberry Pi
  3. Download the ARM compatible version of AIS Dispatcher
  4. Copy the the downloaded executable file to your raspberry pi (add to path if need be)
  5. Run it using the following command (substitute <PORT> with the port number Marine Traffic provided you with, and USB0 with the usb port number that the receiver is plugged in to)

sudo aisdispatcher -r -d /dev/ttyUSB0 -s 38400 -H 5.9.207.224:<PORT>

Thats it. As well as feeding data to Marine Traffic it could be used to plot the ships on a map if don’t have an internet connection.

You can get an AIS reciver from all good marine electronics providers. I got mine from Knight Marine Electronics in Deacons Boatyard.

One Reply to “Decoding AIS”

Leave a Reply

Your email address will not be published. Required fields are marked *