ADSB.im
Simple to use ADSB Feeder Images
(not
just) for common Single Board Computers
Connecting other community projects to an adsb.im feeder
An advanced guide
Introduction
This guide covers an area that is outside of an adsb.im feeders's intended use and is of more advanced scope. This is for someone that is already using an adsb.im feeder and wants to get data off their adsb.im feeder instance into other docker containers and community projects.
This also allows you to push data into tar1090
/readsb
that you wouldn't want to feed
for example the great acars2pos
project. This will require another pc (running linux) or SBC (small
single board computer) as although possible this guide won't be going through modifying an
adsb.im feeder to add additional docker containers to the existing Raspberry Pi. Keeping them
separated avoids resource constraints on your main adsb instance, port conflicts, messing up your feeder etc.
tar1090
/readsb
setup
Here's a brief description of some of the projects you might want to setup.
- Acars2pos - Parses location data from various types of acars messages and feeds them to a readsb instance. (Do not feed these to feeders, the data is usually out of date, and while its cool for personal purposes feeders don't want the data!).
- PlaneFence - Allows you to see what planes
fly over your house (
planefence
) and see interesting planes that your antenna receives (planealert
) - Prometheus/Grafana/Influx
- stores all your data from readsb into a database for alterative dashboards to the ones provided by
tar1090
.
Step 1: Create docker compose file for tar1090
/readsb
We will be using wiedehopf's readsb
port containerized inside of docker. More info here. All steps below will be on your
second pc/SBC not your adsb.im feeder.
Install docker compose if you don't have it already installed. Lots of guides online, we won't go through the steps here.
Create an adsbprojects.yml
file using nano in terminal or your favorite gui text editor to copy
and paste the
example below as a starting point. Make sure to set your Timezone, latitude and longitude, and antenna
height (readsb_alt) in the docker compose yml. Also set the IP address of your adsb.im feeder.
Place the file in /home/username_here/Documents
or wherever you would like to store it.
services:
tar1090:
image: ghcr.io/sdr-enthusiasts/docker-tar1090:latest
tty: true
container_name: tar1090
restart: unless-stopped
environment:
- TZ=${FEEDER_TZ}
- LAT=${FEEDER_LAT}
- LONG=${FEEDER_LON}
- READSB_ALT=${FEEDER_ALTM}
- READSB_NET_ENABLE=true
- READSB_NET_ONLY=true
- READSB_NET_CONNECTOR=${ADSB_IM_IP},30005,beast_in;${ADSB_IM_IP},31005,beast_in
- READSB_NET_SBS_OUTPUT_PORT=30003
- READSB_EXTRA_ARGS=--net-beast-reduce-interval 2 --net-sbs-reduce
- READSB_MAX_RANGE=500
- READSB_FORWARD_MLAT_SBS=true
- READSB_RX_LOCATION_ACCURACY=2
- READSB_NET_SBS_INPUT_PORT=32006
- READSB_STATS_RANGE=true
- TAR1090_ENABLE_AC_DB=true
- TAR1090_ENABLE_ACTUALRANGE=true
volumes:
- /opt/adsb-extra/tar1090/globe_history:/var/globe_history
- /opt/adsb-extra/tar1090/timelapse1090:/var/timelapse1090
- /opt/adsb-extra/tar1090/graphs1090:/var/lib/collectd
- /proc/diskstats:/proc/diskstats:ro
# - /run/airspy_adsb:/run/airspy_adsb
ports:
- 8078:80
- 30003:30003
tmpfs:
- /run:exec,size=64M
- /var/log
volumes:
readsbpb_rrd:
readsbpb_autogain:
We'll briefly go through the options we have configured beyond normal tar1090
setup and why.
Feel free to
remove the ones for the projects you don't use.
READSB_NET_CONNECTOR
- This configures your connection from the adsb.im feeder intotar1090
. In this example we are using beast in ports to connect to both ADS-B and MLAT feeds. This also includes the default output frommlathub
running on the adsb.im feeder.READSB_NET_ENABLE
- Turns on networking fortar1090
.READSB_EXTRA_ARGS
- Reduces amount of traffic retrieved fom each plane from the adsb.im feeder for beast to every 2 seconds. Also reduces sbs traffic output which I am using forplanefence
. You can adjust as needed.READSB_NET_ONLY
- Turns off looking for sdr's. Since the SDRs are connected to our adsb.im feeder we don't wanttar1090
searching for them or grabbing other sdr's that might be in use on the system.READSB_MAX_RANGE
- I set this foracars2pos
. You might use a different value depending on how far away planes you are receiving are via ADS-B oracars2pos
.READSB_FORWARD_MLAT_SBS
- I use this switch to forward MLAT data toplanefence
. You can turn this off if you don't useplanefence
.READSB_NET_SBS_OUTPUT_PORT
- This sets the port we expose toplanefence
. Notice that we also have port30003
exposed in the ports section of our config. You can remove this if you aren't usingplanefence
.READSB_NET_SBS_INPUT_PORT
- This pulls locations from acars2pos into tar1090.
docker-compose -f adsbprojects.yml up -d
from the folder where the
adsbprojects.yml
is located.
8078
of your
tar1090
machine for example like this 192.168.1.25:8078
to bring up tar1090
and you should see your map just like on an adsb.im feeder.