-
Notifications
You must be signed in to change notification settings - Fork 19
Raspbian Lite: ADS B receiver
Most of this guide also works on other Debian / Ubuntu systems:
-
Most feeds will work on any architecture
-
FA / FR24 feed will only run on a Raspberry Pi (there are ways around this but this guide doesn't cover that)
-
If you're not using Raspbian but have installed Debian / Ubuntu, start with point 2 to install the decoder
-
If you don't have the required hardware yet have a look at this shopping list: https://github.com/wiedehopf/adsb-wiki/wiki/adsb-receiver-shopping-list
-
If you have questions see if anyone will answer on this discord: https://discord.gg/DxU4VG37JS
-
If you would rather use docker than shell scripts: https://sdr-enthusiasts.gitbook.io/ads-b/ / https://discord.gg/sTf9uYF
-
If you would like a Raspberri pi image that has everything preinstalled, check out https://adsb.im/home
This guide also works with other Raspbian images, but there is really no need for a graphical interface.
Use the Raspberry Pi Imager to overwrite the sd-card with Raspbian Lite:
- https://www.raspberrypi.com/documentation/computers/getting-started.html#using-raspberry-pi-imager
- Place the sd-card in your sd-card reader (probably needs the included micro-sd-card to sd-card adapter)
- Configure WiFi if you want to use that
- Add a user account / password
- Enable SSH
- Start the imaging process using the RPi imager or another image writing tool
Sd-card is ready, get the pi up and running:
- Place the sd-card in the RPi, power up the system and wait 5 minutes
- Find the IP address of the pi (https://www.raspberrypi.com/documentation/computers/remote-access.html#introduction-to-remote-access)
- Connect using an SSH client and log in with user pi and password raspberry, see the following two links depending on your operating system:
- https://www.raspberrypi.com/documentation/computers/remote-access.html#secure-shell-from-windows-10
- https://www.raspberrypi.com/documentation/computers/remote-access.html#secure-shell-from-linux-or-mac-os
All logs you need should be available via journalctl and are stored in memory / lost on reboot. So to reduce disk writes to the sd-card it's advisable to remove rsyslog as it's not really needed:
sudo apt remove rsyslog -y
If your system is using a lot of memory, swap can also cause a lot of disk writes. To prevent that, you can use swap on zram: https://github.com/wiedehopf/adsb-wiki/wiki/zram-swap
- The imaging part, booting the system and connecting via SSH is up to you in this case
- Most stuff mentioned here should work similar
- Feeding sites besides adsbexchange using a laptop is more complicated and can't be described here
- graphs1090 and all the other utilities maintained by wiedehopf should work on all Debian based Linux systems
- if you run a non Debian based Linux, some stuff probably won't work, the scripts for installing readsb and feeding adsbexchange should work on CentOS as well
-
https://github.com/wiedehopf/adsb-scripts/wiki/Automatic-installation-for-readsb
-
somewhat manual instead of script: https://github.com/wiedehopf/adsb-wiki/wiki/Building-readsb-from-source
-
ISSUES? Try a reboot and try again if it's not working. (there can be permission issue with the SDR when librtlsdr was installed the first time on the system)
-
for rtl-sdr v4 it's necessary to install a special driver package as described in section "Alternative Debian Package Installation Method": https://www.rtl-sdr.com/V4/
- For the local map and the graphs to have all functions it's important to set the location as described in whichever decoder you're using
- After the automatic install of readsb you can use:
sudo readsb-set-location 50.12344 10.23429
After installing the decoder of your choice, run airspy-conf: https://github.com/wiedehopf/airspy-conf#airspy-conf
If you need to enable the bias-t on the rtl-sdr v3 SDR, try this: https://github.com/wiedehopf/adsb-wiki/wiki/RTL-Bias-Tee
- requires decoder readsb or dump1090-fa
- automatically installed with the readsb install script linked above
- check out this cool feature of tar1090: https://github.com/wiedehopf/tar1090#heywhatsthatcom-range-outline
https://github.com/wiedehopf/tar1090#tar1090
4. Feed sites of your choice using tar1090 / readsb global interface developed mostly by the author of this howto (recommended :) )
- https://globe.adsb.lol/ https://github.com/adsblol/feed#bare-metal-install (don't do the docker stuff unless you're into that)
- https://globe.airplanes.live/
- https://globe.adsb.fi/
- For a more comprehensive list of sites you can feed (and an image form alternative to this guide: https://adsb.im/home)
Should get you MLAT results on your local map if there are ModeS aircraft without ADS-B in your area and the coverage is sufficient.
If you don't want to optimize gain manually, install this and it will slowly get to the right setting: https://github.com/wiedehopf/adsb-scripts/wiki/Automatic-gain-optimization-for-readsb-and-dump1090-fa
https://github.com/wiedehopf/graphs1090#graphs1090
When asked, specify a network Beast receiver IP 127.0.0.1 port 30005 (beast protocol). Specifying DVB-T will interfere with the decoder you already installed.
In case one of the feed clients (RB24, FR24) screws with your decoder, use the Automatic install script for the decoder again, it usually fixes your configuration for you.
The planefinder feed client usually doesn't interfere, same as always: don't install an extra dump1090, you already have a decoder.
The steps below may look redundant, they are NOT. (there are issues with removing config files and them being not installed) Execute all of them!
wget -O /tmp/piaware-repo.deb https://flightaware.com/adsb/piaware/files/packages/pool/piaware/f/flightaware-apt-repository/flightaware-apt-repository_1.2_all.deb
sudo apt purge -y piaware-repository &>/dev/null
sudo rm -f /etc/apt/sources.list.d/piaware-*.list
sudo dpkg -i /tmp/piaware-repo.deb
sudo apt update
sudo apt install -y piaware
Once you are receiving aircraft on your local map for a couple of minutes, you can link it to your account if you're into that: https://flightaware.com/adsb/piaware/claim
If this does not work, use this URL and replace the feeder-id with the one from journalctl -u piaware
https://flightaware.com/adsb/piaware/claim/98395c99-xxxxxxxxx16e
See also: https://flightaware.com/adsb/piaware/install
If you're keen on keeping your stats, you'll have to use the feeder-id from the stats page you want to keep and configure piaware to use that id: https://discussions.flightaware.com/t/for-beginners-how-to-get-back-existing-station-number-in-a-fresh-install/30981/
Note that anything but armhf is not supported by flightaware. (Unsupported: aarch64, x86_64 (amd64) .....)
For a dual 1090 / 978 system add this stuff: https://github.com/wiedehopf/adsb-wiki/wiki/Dual-1090-978-setup
- I'd recommend installing / updating fr24 like this without using their debian package:
- (fr24feed package autoupdate has broken receivers on multiple occasions in the past, my install script only uses the binary from them and removes the autoupdater and scripting that is not necessary if you run a standalone decoder)
- FR24 MLAT doesn't work on the raspberry pi, they recommend disabling it
sudo bash -c "$(wget -O - https://github.com/wiedehopf/adsb-scripts/raw/master/fr24-nopackage.sh)"
Note that anything but armhf is not supported by fr24. (Unsupported: aarch64, x86_64 (amd64) .....)
- Configuration using this command (not necessary when updating):
sudo fr24feed --signup; sudo systemctl restart fr24feed
- Choose settings as follows (if not mentioned, it's up to you to decide)
Would you like to use autoconfig $:
no
Step 1.3 - Would you like to participate in MLAT calculations? (yes/no)$:
no
Step 4.1 - Receiver selection:
Enter your receiver type (1-7)$:
4 (ModeS Beast ... yes really, no it doesn't matter what receiver you're actually running, this means a beast protocol connection to readsb, the decoder at the top of this guide)
Step 4.2 - Please select connection type:
Enter your connection type (1-2)$:
1 (Network ... yes really, it will connect to the decoder at the top of this guide using local loopback)
Step 4.3A - Please enter your receiver's IP address/hostname (127.0.0.1 is correct for everyone, means same computer)
127.0.0.1
Step 4.3B - Please enter your receiver's data port number
30005
Step 5.1 - Would you like to enable RAW data feed on port 30334 (yes/no)$:
no
Step 5.2 - Would you like to enable Basestation data feed on port 30003 (yes/no)$:
no
Step 6 - Please select desired logfile mode:
0
-
If your tar1090 / dump1090-fa map is no longer working, you've done the configuration wrong, the easiest way to fix this is run one of the automatic scripts further up on this page to install readsb / dump1090-fa, they will fix up the configuration.
-
Check status / logs:
sudo fr24feed-status
sudo journalctl -u fr24feed --no-pager
- Disabling / removing fr24feed:
sudo systemctl disable --now fr24feed
If you're gonna install any other feed clients, NEVER select DVB-T / USB / SDR input. Your SDR is already being used by readsb, the decoder, it can't be used by some other software at the same time. Instead configure a 'network mode' or 'network input' and point them at 127.0.0.1:30005 (host 127.0.0.1 is the address for the current computer, 30005 is the port for the beast protocol, if the feed client needs AVR use port 30002 instead).
In case anything stops working, just rerun the install for the readsb decoder, i've designed the install script to fix common configuration errors with other feed clients.
echo 'server.modules += ("mod_alias")' | sudo tee /etc/lighttpd/external.conf
sudo systemctl restart lighttpd
sudo tee /etc/sysctl.d/08-disable-ipv6.conf <<EOF
# disable IPv6
#
net.ipv6.conf.all.disable_ipv6 = 1
EOF
sudo reboot