[TUT] ADS-B Ultrafeeder in Portainer - Flugdaten empfangen und senden an Flightradar24, FlightAware, Plane Finder etc

  • Quellenangaben und Verlinkungen zu Texten, Bildmaterialien und Codepassagen, welche in meinem Tutorial verwendet werden
    github.com/orgs/sdr-enthusiasts/repositories?type=all

    Insbesondere:
    github.com/sdr-enthusiasts/docker-adsb-ultrafeeder
    github.com/sdr-enthusiasts/docker-flightradar24
    github.com/sdr-enthusiasts/docker-piaware
    github.com/sdr-enthusiasts/docker-planefinder
    github.com/sdr-enthusiasts/docker-opensky-network
    etc.

    Ein bisschen ChatGPT zum Debuggen :)

    Screenshots habe ich selbst angefertigt und jeweils die Quellen angegeben wo es nötig ist.
    Ich bestätige, dass mein Tutorial keine Urheberrechte verletzt und bin mir bewusst, für meine Inhalte selbst verantwortlich zu sein.
    Ja


    Vorgeschichte:

    Bisher nutze ich fürs "Füttern" von Flightradar24, FlightAware etc. einen Raspberry Pi 3B+ mit ADS-B Antenne, die hinter einem Wohnungsfenster Richtung Osten steht. Der Empfang ist meiner Meinung nach ganz okay für das kleine Setup, aber ich bekomme wenn's gut läuft eben nicht ganz den halben östlichen Himmel. Um das ein bisschen zu boosten wollte ich noch einen zweiten Raspberry in Richtung Westen aufstellen und hatte mir schon einen zweiten ADS-B USB-Stick und eine zweite Antenne besorgt und war kurz davor noch einen RPi zu besorgen.

    Da nun aber noch ein UGREEN NAS hier eingezogen ist, hat es sich angeboten, dieses stattdessen für den Job zu nutzen und mir die Kosten für einen Raspberry zu sparen.


    Einkaufsliste:

    Alles was man hardware-mäßig braucht ist z.B. folgenden USB-Stick, den ich gerne nutze:


    (Bildquelle: AliExpress, siehe Link)

    Dazu noch eine kleine Antenne wie diese von Amazon:
    https://www.amazon.de/dp/B07ZH5FJBW


    (Bildquelle: Amazon, siehe Link)

    Diese Kombination benutze ich schon seit Ewigkeiten ohne Probleme.
    Wer ein Komplettset bei Amazon kaufen möchte, bei dem aber noch Zeugs unnötig übrigbleibt, kann auch zu folgendem greifen. Mit 56€ aber nicht billig nur für den einen Zweck:
    https://www.amazon.de/dp/B01GDN1T4S


    (Bildquelle: Amazon, siehe Link)

    Hat man also die Hardware beisammen, wird die Antenne an den USB-Stick geschraubt und dieser in einen USB-Port des UGREEN NAS gesteckt.

    Der Rest passiert in der SSH-Konsole und in Portainer, sowie auf diversen Webseiten wo ihr euch API-Keys besorgt für die jeweiligen Dienste.

    Falls ihr Portainer noch nicht installiert habt, geht es erst mal hier weiter: [TUT] Portainer - Installationsanleitung


    DVB-T? Nein, danke! ADS-B? Ja, bitte!

    Wenn ihr den USB-Stick das erste mal ins NAS steckt, wird dieser vom System als DVB-T Stick erkannt und reserviert, bevor Docker ihn sich schnappen kann um ADS-B Flugdaten zu empfangen statt Fernsehsignalen. Lösung: Den DVB-T Part auf eine Blackliste setzen:

    sudo nano /etc/modprobe.d/rtl-sdr-blacklist.conf

    In die .conf-Datei kommt folgendes rein:

    Code
    blacklist dvb_usb_rtl28xxu
    blacklist rtl2832
    blacklist rtl2830

    Und das NAS nochmal rebooten!


    In Portainer:

    In Portainer fügen wir einen neuen Stack hinzu:


    Der Webeditor öffnet sich und wir geben dem Stack z.B. den Namen: adsb-ultrafeeder


    Im Textfeld des Webeditors fügen wir folgendes YML ein (Wenn euch Flightradar24 reicht, könnt ihr die anderen Zeilen zu FlightAware, Plane Finder und Opensky Network natürlich weglassen):

    Einige Werte müsst ihr noch anpassen und ersetzen:

    {LATITUDE}, {LONGITUDE} und {ALTITUDE_METER} ist der Standort eurer Antenne, also Breitengrad, Längengrad und Höhe in Metern.
    Diesen könnt ihr z.B. bequem hier ermitteln: https://www.freemaptools.com/elevation-finder.htm

    {FLIGHTRADAR24KEY}, {PIAWARE_UID}, {PLANEFINDER_SHARECODE}, {OPENSKY_USERNAME} und {OPENSKY_SERIAL} sind die Keys/Schlüssel, mit denen ihr euch bei den jeweiligen Diensten identifiziert.

    Wie man beispielsweise an einen Flightradar24 Sharing Key oder eine PiAware Feeder ID kommt, habe ich in Post #2 beschrieben:

    Mavvy
    14. Mai 2025 um 23:37


    Mögliche Probleme:

    Wenn ihr nun versucht den Stack zu deployen kann es gut sein, dass Github euch den Download nicht erlaubt, da ihr nicht eingeloggt seid. Eine mögliche Lösung beschreibe ich nachfolgend, mit der ihr die nötigen Images in der SSH-Konsole ziehen könnt.

    Ihr braucht einen GitHub Account und ein Personal Access Token.

    Loggt euch in euer GitHub ein und geht auf folgende Seite:

    Build software better, together
    GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
    github.com

    Dort erstellt ihr ein klassisches Token ...

    ... und wählt dabei read:packages:

    Ihr erhaltet eine 40-stellige Zeichenkette, die ihr euch rauskopieren und merken müsst, wir nennen sie mal {PAT}.

    Falls noch nicht geschehen, sollte in eurem UGREEN NAS der Personal Folder für euren Benutzer aktiviert sein, damit er ein Verzeichnis /home/username hat.

    Euren GitHub Token könnt ihr dann wie folgt absichern:

    echo "{PAT}" | docker login ghcr.io -u {USERNAME} --password-stdin

    {PAT} ersetzt ihr natürlich mit eurem Token und {USERNAME} ist euer GitHub Benutzername.

    Falls der User den docker-Befehl nicht ausführen darf, ggf. noch folgendes vorher ausführen:

    sudo usermod -aG docker $USER

    Images manuell herunterladen:

    Falls die Images/Container also beim Deployen des Stacks nicht heruntergeladen werden konnten, sollte es jetzt in der SSH-Konsole klappen. Ihr braucht natürlich nur die Images herunterladen, die ihr auch nutzt, also mindestens die ersten beiden Zeilen, wenn ihr nur Flightradar24 nutzen wollt.

    Code
    sudo docker pull ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder:latest
    sudo docker pull ghcr.io/sdr-enthusiasts/docker-flightradar24:latest
    sudo docker pull ghcr.io/sdr-enthusiasts/docker-piaware:latest
    sudo docker pull ghcr.io/sdr-enthusiasts/docker-planefinder:latest
    sudo docker pull ghcr.io/sdr-enthusiasts/docker-opensky-network:latest

    Danach nochmal den Stack deployen und es sollte hoffentlich erfolgreich durchlaufen.


    Flugdaten empfangen:

    Wenn alle Dienste gestartet sind könnt ihr im Browser prüfen, ob euer Setup schon Flugdaten empfängt.
    Dazu könnt ihr folgendes aufrufen: http://<IP_eures_NAS>:8080/ und solltet eine Kartenansicht mit Flugzeugen sehen, deren ADS-B Signale von eurer Antenne empfangen werden!


    Nach ein paar Minuten sollten diese Daten auch in den Webdiensten erscheinen, die ihr im Stack Deploy angegeben habt, also Flightradar24, Flightaware etc. Ob es erfolgreich läuft seht ihr auf deren Status-Seiten:

    Live Flight Tracker - Real-Time Flight Tracker Map | Flightradar24
    The world’s most popular flight tracker. Track planes in real-time on our flight tracker map and get up-to-date flight status &amp; airport information.
    www.flightradar24.com

    https://www.flightaware.com/adsb/stats/user/<flightaware_username>
    https://planefinder.net/account/receivers
    https://opensky-network.org/my-opensky/sensors/view-sensors


    Logs:

    Sollte das nicht der Fall sein, könnt ihr im Stack das jeweilige Logfile anschauen und das Problem gegebenenfalls selbst fixen oder mal berichten wo es hakt.


    Wozu das Ganze?

    Also zum einen erhält man durch das Füttern der Dienste einen kostenlosen Business/Premium/Pro-Account mit mehr Features, ein solcher Account würde Unternehmen locker einige Hundert bis Tausende € im Jahr kosten :) Wer flugbegeistert ist, wird sich sicher über einen größeren Funktionsumfang freuen. Die Features auf den jeweiligen Seiten aufzulisten würde zu lange dauern :)

    Und zum anderen Freude am Basteln/Spielen mit dem neuen NAS.

    Ich bin auf euer Feedback und Erfolge oder Misserfolge mit meinem Tutorial gespannt.

    6 Mal editiert, zuletzt von Mavvy (15. Mai 2025 um 00:14)

  • Dieses Thema enthält einen weiteren Beitrag, der nur für registrierte Benutzer sichtbar ist.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!