ADS-B Receiver Selbstbau

Installation


Es gibt verschiedene Möglichkeiten, die ADS-B-Signale auszulesen. Ich stelle euch die Variante vor, die ich gegangen bin. Natürlich gibt es ebenso gute Alternativen, allerdings bin ich der Meinung, dass dies mitunter die angenehmste Variante ist.

Raspberry-Image besorgen

Um nicht alle Programme manuell installieren zu müssen, besorgen wir uns ein Image auf flightaware.com. Das Betriebssystem, welches dann auf eurem Raspberry läuft, heißt PiAware und basiert auf Raspbian.

Hier ist der Link zu PiAware.

(Alternativ gibt es auch ein fertiges Image von flightradar24.com. Dieses Betriebssystem nennt sich Pi24 und basiert ebenfalls auf Raspbian.)

Folgt den Anweisungen auf den jeweiligen Websites. Sobald ihr das Image auf eine SD-Karte gebracht habt, könnt ihr euren eigenen Pi in Betrieb nehmen. Schließt ihn ans Netzwerk an, verbindet ihn mit einem Monitor und einer Tastatur, steckt euren Empfänger mit verbundener Antenne hinein und startet ihn. Je nach Betriebssystem werdet ihr durch ein kleines Setup geleitet oder auch nicht. Folgt weiter den Anleitungen auf der jeweiligen Website, bis ihr euren Raspberry mit Flightaware oder Flightradar24 verbunden habt.

Eurer Raspberry ist nun ein "Feeder", da er die Websites mit den Radardaten eures Pis füttert. Habt ihr euch für PiAware entschieden, können wir nun bereits ein bisschen auf Entdeckungstour gehen. (Mit Pi24 sollte es auch funktionieren.) Gebt die IP-Adresse eures Raspberrys in den Webbrowser ein und schaut euch den Port 8080 an.

http://192.168.xxx.xxx:8080/
Empfangene Flugzeuge mit Piaware und Dachantenne

Nun seht ihr bereits alle Flugzeuge, die im Erfassungsbereich liegen. Seid nicht traurig, wenn die Reichweite zunächst sehr gering ist. Der Ort, an dem die Antenne steht, ist maßgebend!

Ach so ganz nebenbei erhaltet ihr bei den meisten Diensten, denen ihr eure Radardaten zur Verfügung stellt, eine kostenlose Premium-Mitgliedschaft. Jeder Dienst bietet andere Vorteile, sodass es nicht schadet, seine Daten an mehrere Dienste gleichzeitig zu senden. Dazu später mehr!

SSH aktivieren

Der erste Schritt ist getan! Um nun den Pi auch fernsteuern zu können (damit der Monitor und die Tastatur entfernt werden können) muss SSH aktiviert werden. Dies ist nämlich standardmäßig ausgeschaltet. Zuvor solltet ihr euer Passwort ändern. Dies macht ihr mit folgendem Befehl. Das Standardpasswort und der Standarduser lauten:

user: pi
password: flightaware
pi@piaware:~ # passwd

Um SSH einzurichten, muss im boot-Verzeichnis eine Datei erstellt werden. Gebt folgende Zeilen in die Konsole ein. Bei Piaware müsst ihr dazu erst auf die Konsolenansicht umschalten mit Alt+F2.

pi@piaware:~ # cd /boot/ pi@piaware:~ # sudo nano ssh

Nun speichern mit Strg+O, Enter, Strg+X und die Datei ist angelegt. Nach einem Neustart könnt ihr euch per SSH mit beispielsweile dem Dienst "Putty" von einem anderen PC im Heimnetz aus mit dem Pi verbinden. Wenn ihr auch von extern Einstellungen am Pi vornehmen wollt, muss eine Portweiterleitung am Router für den Port 22 eingerichtet werden. Außerdem bietet sich dann eine DNS an, sofern ihr keine statische externe IP-Adresse besitzt. Richtet aber die Portweiterleitung nur ein, wenn dies wirklich notwendig ist. Offene Ports birgen immer ein Sicherheitsrisiko, weshalb wir vorhin auch das Standardpasswort geändert haben.

Virtual Radar Server installieren

Piaware bietet schon ein tolles Interface, um die getrackten Flugzeuge zu beobachten. Weitaus besser ist aber der Virtual Radar Server. Hier habt ihr die Möglichkeit, mehrere Empfänger zu vereinen, Daten von Freunden anzeigen zu lassen und eure Daten an Andere gezielt zu verschicken. Außerdem ist die Karte mit ihren Informationen detaillierter und man erfährt wesentlich mehr über die Flüge. Damit die Software vom VRS läuft, muss zuerst Mono installiert werden. Das dauert eine kleine Weile. Im Anschluss ladet ihr euch die Pakete von VRS herunter und entpackt sie im Ordner /opt/virtualradar/.

pi@piaware:~ # apt-get install mono-complete
pi@piaware:~ # sudo su
root@piaware:~ # cd /opt
root@piaware:~ # mkdir virtualradar
root@piaware:~ # cd virtualradar/
root@piaware:~ # wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz
root@piaware:~ # wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.WebAdminPlugin.tar.gz
root@piaware:~ # wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.LanguagePack.tar.gz
root@piaware:~ # tar xvf VirtualRadar.tar.gz
root@piaware:~ # tar xvf VirtualRadar.WebAdminPlugin.tar.gz
root@piaware:~ # tar xvf VirtualRadar.LanguagePack.tar.gz

Bei der aktuellen Version von Mono gibt es Kommunikationsprobleme mit VRS. Um Abhilfe zu schaffen, ladet euch diese Konfigurationsdatei herunter und entpackt sie ebenfalls im entsprechenden Ordner.

root@piaware:~ # wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.exe.config.tar.gz
root@piaware:~ # tar xvf VirtualRadar.exe.config.tar.gz

Nun müssen wir den root-Modus verlassen, den wir mit sudo su aus Bequemlichkeit aktiviert haben. Tut ihr dies nicht, startet VRS mit dem falschen Benutzer und legt weitere Ordner im falschen Verzeichnis an! Im Anschluss starten wir zum ersten Mal VRS. Hierbei geben wir gleich Username und Password für den Administratoraccount für VRS an. Theoretisch könnt ihr die gleichen Zugangsdaten wie für den Pi nehmen. Ihr werdet eine Fehlermeldung bekommen, dass VRS nicht auf Port 8080 starten kann, da er bereits verwendet wird. Klar, da liegt ja auch schon das Radar von Piaware drauf. Das Problem können wir aber lösen!

root@piaware:~ # exit pi@piaware:~ # mono VirtualRadar.exe -nogui -createAdmin:username -password:password

Es wird eine Konfigurationsdatei im Ordner ~/.local/share/VirtualRadar/ erstellt. Dieser Ordner existiert aber erst, wenn ihr VirtualRadar.exe wenigstens einmal geöffnet habt. Führt folgenden Code aus:

pi@piaware:~ # nano /home/pi/.local/share/VirtualRadar/InstallerConfiguration.xml

Die Datei sollte folgenden Code enthalten. Für den Port 8080 müsst ihr eine Alternative einsetzen, z.B. 8081.

<?xml version="1.0" encoding="utf-8" ?>  <InstallerSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">   <WebServerPort>8081</WebServerPort>  </InstallerSettings>

Nun wieder speichern mit Strg+O, Enter, Strg+X und nochmal den Server starten. Es dürfte nun keine Fehlermeldung erscheinen:

pi@piaware:~ # mono VirtualRadar.exe -nogui

Um weiterzumachen, beendet den VRS mit Q. Damit der VRS auch automatisch nach einem Reboot startet, erstellen wir einen Crontab-Eintrag, zuvor aber ein ausführbares Starterscript:

pi@piaware:~ # sudo nano /opt/virtualradar/vrs.sh

mit folgendem Inhalt:

#!/bin/sh mono /opt/virtualradar/VirtualRadar.exe -nogui

Wieder speichern und ausführbar machen:

pi@piaware:~ # sudo chmod +x /opt/virtualradar/vrs.sh
pi@piaware:~ # crontab -e

Wenn ihr gefragt werdet, welchen Edit ihr verwenden wollt, wählt die Nummer mit dem Editor "nano" und fügt folgende zwei Zeilen am Ende der Datei hinzu:

@reboot /opt/virtualradar/vrs.sh @midnight shutdown -r now

Die zweite Zeile sorgt für einen täglichen Neustart. Das soll verhindern, dass sich Komponenten mit der Zeit aufhängen und dafür sorgen, dass wenn ein Programm abstürzt, es nach maximal 24h wieder gestartet wird. Nun ein Neustart des Raspberrys und dann sollte auch VRS automatisch auf Port 8081 laufen.

pi@piaware:~ # sudo reboot

Der Virtual Radar Server ist erreichbar unter folgenden Addressen, wobei die zweite der Admin-Bereich ist.

192.168.xxx.xxx:8081/VirtualRadar/ 192.168.xxx.xxx:8081/VirtualRadar/WebAdmin/Index.html
Oberfläche vom Virtual Radar Server

In der Standard-Konfiguration ist der WebAdmin-Zugang nur aus dem Heimnetz möglich. Das ist auch gut so, aus Sicherheitsgründen. Wenn es euch stört, könnt ihr unter "Optionen" im Admin-Bereich diese Einstellung ändern. Nun viel Spaß beim Beobachten! Weitere Konfigurationen erkläre ich auf der nächsten Seite!

Weitere Feeder hinzufügen

Zuvor sagte ich ja bereits, dass Dienste wie FR24 und FA auf die Feederdaten angewiesen sind. Als Belohnung gibt es einen Premium-Zugang. Den müsstet ihr bei Flightaware bereits haben, wenn ihr das Setup ganz am Anfang ordnungsgemäß durchgeführt habt. Nun zeige ich euch noch zwei Codes, mit denen ihr eure Daten (1) Flightradar24, (2) RadarBox24 und (3) ADS-B Exchange anbieten könnt. Tippt den Code ein und führt das Setup durch. Für die Dienste, insbesondere (3) findet ihr eine detaillierte Anleitung unten in den weiterführenden Links.

sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)" sudo bash -c "$(wget -O - http://apt.rb24.com/inst_rbfeeder.sh)"


Quellen:
Virtual Rader Server auf Raspberry Pi (Björns Techblog)
Probleme mit Mono 4 und Virtual Radar Server

Weiterführende Links:
Flightaware Forum
flightradar24.com Build Your Own
flightaware.com Piaware Build
radarbox24.com Sharing Data
ADS-B Exchange How To Feed