How to Feed AIS

Share the boats, barges and towboats your AIS receiver hears with ArkSignal. They appear on River Traffic, on its map and as a layer on the other maps. If you already run an AIS receiver (AIS-catcher or rtl_ais), it takes one small extra program.
The Short Version

Run the ArkSignal bridge next to your AIS receiver:

python3 ais_bridge.py https://feed.arksignal.allisononline.org/ais/push/YOUR-KEY

The bridge is one small file you download from https://feed.arksignal.allisononline.org/static/ais_bridge.py. Your key is the end of the private upload address on your station's card: My Account > My AIS Stations. Then point your receiver at the bridge: AIS-catcher -u 127.0.0.1 10110.

First create an account and add the station: that gives you the upload address. Everything a receiver hears is public radio data that vessels broadcast on purpose.

How It Works

AIS (Automatic Identification System) is a radio beacon on 161.975 and 162.025 MHz. Every commercial vessel, including every towboat on the river, must send it, and so do many pleasure boats. A message says who the vessel is (a nine-digit MMSI number and a name), where it is, how fast and which way, and, every few minutes, what it is, how big and where it is going.

Your receiver decodes those messages into text sentences that begin !AIVDM. The bridge collects them and sends them over https to an address on this site that only you know. The site decodes them, keeps each vessel's newest position and details and a short trail of where it has been, and shows them to everyone.

What you hearWhat it adds
Towboats, barges, cargo shipsThe working river traffic. A good antenna near the Arkansas, White or Mississippi river will hear them for many miles.
Pleasure craftMany send a smaller Class B signal. The site shows them as pleasure craft; an administrator setting can hide that kind.

The site keeps vessels heard in the area it covers (29.5,-96.5,38.5,-86.5: south, west, north, east) and ignores the rest.

What You Need
  • A receiver: an RTL-SDR style USB dongle, ideally one with a low-noise amplifier and an AIS filter (a few dollars more and a clear improvement). One dongle listens to both AIS channels.
  • An antenna for 162 MHz mounted as high as you can with a clear view of the water: a marine VHF whip or a ground-plane antenna. Height and a clear path matter more than anything else.
  • Coax cable between them, as short as practical (loss is large at VHF).
  • A small always-on computer (a Raspberry Pi or any Linux or Windows machine) running AIS-catcher or rtl_ais, and Python 3 for the bridge.
  • A network connection that can reach feed.arksignal.allisononline.org over https.
Hardware
ItemOptions and Notes
ReceiverRTL-SDR Blog V4 or any RTL-SDR dongle. Set a gain high enough to hear far boats but low enough not to overload near ones (AIS-catcher can choose it automatically).
AntennaA marine VHF antenna (like a 3 dBd fiberglass whip), or a quarter-wave ground plane cut for 162 MHz (about 46 cm). Mount it outdoors and vertical.
Filter and amplifierA 162 MHz band-pass filter and a low-noise amplifier at the antenna, if you live near a strong FM or paging transmitter.
ComputerA Raspberry Pi 3 or newer is plenty.
Hardware Setup
  1. Mount the antenna outdoors, vertical, as high as you can, with a view of the river or lake. Keep it away from metal and other antennas.
  2. Connect the receiver with the shortest coax you can, then plug it into the computer.
  3. Check the dongle is seen (on Linux, rtl_test).
Software Setup

1. Add a station and get its upload address

Open My Account > My AIS Stations, choose Add a Station and name it. Its card shows the private Upload Address.

2. Run your AIS receiver and send its sentences to the bridge

With AIS-catcher (send to UDP port 10110 on this computer):

AIS-catcher -d:0 -u 127.0.0.1 10110

With rtl_ais:

rtl_ais -h 127.0.0.1 -P 10110

3. Download and run the bridge

curl -O https://feed.arksignal.allisononline.org/static/ais_bridge.py
python3 ais_bridge.py https://feed.arksignal.allisononline.org/ais/push/YOUR-KEY

It prints a line each time it sends a batch. The listening port can be changed with ARK_LISTEN_PORT and how often it sends with ARK_BATCH_SECONDS.

4. Keep it running

On Linux a systemd service starts the bridge at boot. Save this as /etc/systemd/system/arksignal-ais.service and run sudo systemctl enable --now arksignal-ais:

[Unit]
Description=ArkSignal AIS bridge
After=network-online.target

[Service]
User=pi
ExecStart=/usr/bin/python3 /home/pi/ais_bridge.py https://feed.arksignal.allisononline.org/ais/push/YOUR-KEY
Restart=always

[Install]
WantedBy=multi-user.target

5. Test it

Without a receiver you can still check the address works: curl --data-binary '!AIVDM,1,1,,B,177KQJ5000G?tO`K>RA1wUbN0TKH,0*5C' https://feed.arksignal.allisononline.org/ais/push/YOUR-KEY answers {"ok": true ...} (a sample position from far outside the area is counted but not kept). With a receiver running, vessels appear on River Traffic within a minute or two. Am I Feeding? shows each of your stations and when it last reported.

After You Are Feeding
  • Vessels you hear show on River Traffic and its map, and on the Marine Traffic layer of the other maps.
  • Each vessel keeps a trail for 72 hours and its details until it has not been heard for a while.
  • Your station's name appears on a vessel's page as the last station that heard it unless you turn that off on the station's card.
Ports and Firewall

The bridge only makes outgoing https connections (port 443) to feed.arksignal.allisononline.org. Nothing needs to be opened on your router. The UDP port 10110 is used only on your own computer, between your receiver and the bridge.

Troubleshooting
What you seeWhat to do
404 unknown_addressThe upload address is wrong, or you made a new one (the old one stops working). Copy it again from your station's card. An administrator may also have switched the station off.
The bridge sends but nothing showsVessels outside the area this site covers are ignored. Check the sample command above. A fresh station can also take a minute or two for the first vessel.
The bridge hears nothingCheck that your receiver software is sending UDP to 127.0.0.1 port 10110, and that the dongle is not used by another program.
Very few vesselsAntenna height and a clear view of the water matter most. Try a better antenna position, a filter and amplifier, or a different gain.
Your Data and Privacy
  • AIS is broadcast openly so that ships can see each other. The site shows only what vessels broadcast; an owner can ask for a vessel to be hidden (Contact).
  • Your station has no map position on the site: only its name and the place you typed, and only if you leave the name on.
  • The upload address is a secret. If it leaks, make a new one on your station's card.
More Help