Feeding Airnav Radar

If you wish to feed AirNav Radar, follow the steps below.

Airnav Radar is a flight tracking company that displays aircraft & flight information in real-time on a map. Airnav Radar offers flight data such as latitude and longitude positions, origins and destinations, flight numbers, aircraft types, altitudes, headings and speeds. Based in Tampa, Florida, with a R&D center in Europe, Airnav Radar’s business operations include providing related data to aviation service providers worldwide.

rbfeeder is a Airnav Radar's client program to transmit ADS-B and Mode S data to Airnav Radar.

In exchange for your data, Airnav Radar will give you a Business Plan. If this is something of interest, you may wish to feed your data to them.

The docker image ghcr.io/sdr-enthusiasts/docker-airnavradar contains rbfeeder and all of its required prerequisites and libraries. This needs to run in conjunction with ultrafeeder (or another Beast provider).

Getting a Sharing Key

Already running rbfeeder?

If you're not a first time user and are migrating from another installation, you can retrieve your sharing key using either of the following methods:

  • SSH onto your existing receiver and run the command rbfeeder --showkey --no-start

  • SSH onto your existing receiver and run the command grep key= /etc/rbfeeder.ini

New to rbfeeder?

You'll need a sharing key. To get one, you can temporarily run the container, to allow it to communicate with the Airnav Radar servers generate a new sharing key.

Inside your application directory (/opt/adsb), run the following commands:

source ./.env
timeout 60 docker run \
    --rm \
    -it \
    --network adsb_default \
    -e BEASTHOST=ultrafeeder \
    -e LAT=${FEEDER_LAT} \
    -e LONG=${FEEDER_LONG} \
    -e ALT=${FEEDER_ALT_M} \
    ghcr.io/sdr-enthusiasts/docker-airnavradar:latest

The command will run the container for one minute, which should be ample time for the container to connect to Airnav Radar receive a sharing key.

For example:

In the output above, see the line:

As you can see from the output above, the sharing key given to us from Airnav Radar is g45643ab345af3c5d5g923a99ffc0de9.

If the script doesn't output the sharing key, it can be found by using the following command:

Command output:

Claiming Your Receiver

  1. Create an account or sign in

  2. Claim your receiver by visiting https://www.airnavradar.com/raspberry-pi/claim and following the instructions

Update .env file with sharing key

Inside your application directory (/opt/adsb), edit the .env file using your favourite text editor. Beginners may find the editor nano easy to use:

This file holds all of the commonly used variables (such as our latitude, longitude and altitude). We're going to add our rbfeeder sharing key to this file. Add the following line to the file:

  • Replace YOURSHARINGKEY with the sharing key that was generated in the previous step.

For example:

Deploying rbfeeder

Create rbfeeder container

Open the docker-compose.yml file that was created when deploying ultrafeeder.

Append the following lines to the end of the file (inside the services: section):

If you are in the USA and are also running the dump978 container with a second SDR, add the following additional lines to the environment: section:

To explain what's going on in this addition:

  • We're creating a container called rbfeeder, from the image ghcr.io/sdr-enthusiasts/docker-airnavradar:latest.

  • We're passing several environment variables to the container:

    • BEASTHOST=ultrafeeder to inform the feeder to get its ADSB data from the container ultrafeeder over our private adsbnet network.

    • MLATRESULTS variables to push MLAT results back to ultrafeeder.

    • LAT will use the FEEDER_LAT variable from your .env file.

    • LONG will use the FEEDER_LONG variable from your .env file.

    • ALT will use the FEEDER_ALT_M variable from your .env file.

    • TZ will use the FEEDER_TZ variable from your .env file.

    • SHARING_KEY will use the AIRNAVRADAR_SHARING_KEY variable from your .env file.

  • For people running dump978:

    • UAT_RECEIVER_HOST=dump978 specifies the host to pull UAT data from; in this instance our dump978 container.

  • We're using tmpfs for volumes that have regular I/O. Any files stored in a tmpfs mount are temporarily stored outside the container's writable layer. This helps to reduce:

    • The size of the container, by not writing changes to the underlying container; and

    • SD Card or SSD wear

Refresh running containers

Once the file has been updated, issue the command docker compose up -d in the application directory to apply the changes and bring up the rbfeeder container. You should see the following output:

We can view the logs for the environment with the command docker compose logs, or continually "tail" them with docker compose logs -f. At this stage, the logs will be fairly unexciting and look like this:

We can see our container running with the command docker ps.

Once running, you can visit the Airnav Radar website, and go to "Account" > "Stations" and click your station to see your live data.

Advanced

If you want to look at more options and examples for the rbfeeder container, you can find the repository here

Last updated

Was this helpful?