Bereits seit einigen Jahren setze ich einen DVB-T Stick zum Empfang von ADS-B Daten an einem Raspberry Pi ein. Damals habe ich erklärt, wie man die Linux Software dump1090 dafür verwendet. Der seit dem von mir verwendete Fork auf GitHub von MalcolmRobb wird allerdings seit Jahren nicht mehr weiterentwickelt. Nach einiger Recherche bin ich auf den Fork dump1090-mutability gestoßen, welcher sich von MalcolmRobbs ableitet. “It adds new functionality and is designed to be built as a Debian/Raspbian package.”
Tatsächlich lässt sich dieses Tool sehr einfach installieren, was ich nachfolgend gerne erläutern möchte. Die erweiterten Funktionlitäten sind z.B: die Logging-Möglichkeiten, mit denen sich Statistiken erzeugen lassen. Hierüber wird es einen extra Blogpost geben.
Installation
Ich habe diese Variante von dump1090 nicht auf dem bereits vorhandenen Raspberry Pi installiert, sondern gleich komplett neu formatiert um auch das aktuellste Raspbian am laufen zu haben. Die Installation von dump1090-mutability war dann tatsächlich sehr einfach indem nur die bereits auf GitHub gelisteten Befehle ausgeführt werden mussten: (Das jeweils aktuelle Downloadpaket findet man hier: https://github.com/mutability/dump1090/releases.)
1 2 3 4 |
wget https://github.com/mutability/mutability-repo/releases/download/v0.1.1/mutability-repo_0.1.1_armhf.deb sudo dpkg -i mutability-repo_0.1.1_armhf.deb sudo apt-get update && sudo apt-get install dump1090-mutability |
Die Frage nach “Start dump1090 automatically …” wurde natürlich mit Yes beantwortet. Um darüberhinaus alle Optionen anpassen zu können habe ich den folgenden Befehl abgesetzt, welcher in einer Art Menü durch alle Parameter lotst:
1 |
sudo dpkg-reconfigure dump1090-mutability |
Die meisten Optionen kann man auf den Default Einstellungen lassen. Ich habe lediglich folgende Sachen angepasst:
- Latitude: <entsprechend der Position>
- Longitude: <dito>
- Port for internal webserver: 8080
- Interface address to bind to (blank for all interfaces): <leer>
Sprich: Der Webserver soll auf Port 8080 lauschen und außerdem sollen Verbindungen von überall (also aus dem lokalen Netz bzw. dem Internet, insofern ein Port-Forwarding am Router eingerichtet ist) möglich sein. (Man kann auch ohne diesen dpkg-reconfigure Befehl manuell die Konfigurationsdatei anschauen oder editieren: sudo nano /etc/default/dump1090-mutability.)
Google ist dein Freund …
Leider lief das Programm zwar direkt, allerdings wurde nichts empfangen. Ein Blick in die Logdatei offenbarte folgendes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
pi@jw-pi02-darm:~ $ cat /var/log/dump1090-mutability.log Mon Apr 17 16:05:35 2017 CEST dump1090-mutability v1.14 starting up. Found 1 device(s): 0: 4▒ᶰá▒, ▒▒, SN: ▒▒Ҷ|ȡ▒ (currently selected) usb_open error -3 Please fix the device permissions, e.g. by installing the udev rules file rtl-sdr.rules Error opening the RTLSDR device: Permission denied Mon Apr 17 16:15:28 2017 CEST dump1090-mutability v1.14 starting up. Found 1 device(s): 0: 4▒▒▒▒▒, ▒▒, SN: ▒k▒▒ (currently selected) usb_open error -3 Please fix the device permissions, e.g. by installing the udev rules file rtl-sdr.rules Error opening the RTLSDR device: Permission denied Mon Apr 17 16:17:48 2017 CEST dump1090-mutability v1.14 starting up. Found 1 device(s): 0: 4_▒▒▒, ▒▒, SN: ▒+ֶ▒▒▒ (currently selected) usb_open error -3 Please fix the device permissions, e.g. by installing the udev rules file rtl-sdr.rules Error opening the RTLSDR device: Permission denied Mon Apr 17 16:18:19 2017 CEST dump1090-mutability v1.14 starting up. Found 1 device(s): 0: 4oݶ▒▒, ▒m, SN: ▒;ζ▒▒▒▒ (currently selected) usb_open error -3 Please fix the device permissions, e.g. by installing the udev rules file rtl-sdr.rules Error opening the RTLSDR device: Permission denied |
Also irgendetwas mit den permissions bzw. den udev rules. Aha. Google hat da wie immer geholfen und mich zu diesem Blogpost gebracht. Folgendermaßen konnte ich demnach das Problem lösen. Per lsusb habe ich die Device ID herausgefunden:
1 2 3 4 5 6 |
pi@jw-pi02-darm:/etc/udev/rules.d $ lsusb Bus 001 Device 005: ID 413c:2003 Dell Computer Corp. Keyboard Bus 001 Device 004: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
In meinem Fall also 0bda:2832. Danach diese Datei erstellt und das System neugestartet:
1 2 3 4 5 |
sudo nano /etc/udev/rules.d/rtl-sdr.rules SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", MODE:="0666" sudo reboot |
Nach dem Neustart sah das Log schon besser aus:
1 2 3 4 5 6 7 8 |
pi@jw-pi02-darm:~ $ cat /var/log/dump1090-mutability.log Mon Apr 17 16:26:03 2017 CEST dump1090-mutability v1.14 starting up. Found 1 device(s): 0: Realtek, RTL2832U, SN: 00001000 (currently selected) Found Rafael Micro R820T tuner Max available gain is: 49.60 dB Setting gain to: 49.60 dB Gain reported by device: 49.60 dB |
Außerdem konnten die eingehenden Verbindung jetzt auch Daten bekommen. Per netstat sieht man die geöffneten Ports sowie bereits vorhandene Verbindungen:
1 2 3 4 5 6 7 8 9 10 |
pi@jw-pi02-darm:~ $ sudo netstat -taupe | grep dump tcp 0 0 *:10001 *:* LISTEN dump1090 8474 387/dump1090-mutabi tcp 0 0 *:30001 *:* LISTEN dump1090 8470 387/dump1090-mutabi tcp 0 0 *:30002 *:* LISTEN dump1090 8469 387/dump1090-mutabi tcp 0 0 *:30003 *:* LISTEN dump1090 8473 387/dump1090-mutabi tcp 0 0 *:30004 *:* LISTEN dump1090 8472 387/dump1090-mutabi tcp 0 0 *:30005 *:* LISTEN dump1090 8471 387/dump1090-mutabi tcp 0 11582 jw-pi02-darm.frit:30005 dslb-178-004-016-0:9820 ESTABLISHED dump1090 32485 387/dump1090-mutabi tcp 0 69675 jw-pi02-darm.frit:30005 178.162.211.200:39432 ESTABLISHED dump1090 38702 387/dump1090-mutabi tcp 32 20006 jw-pi02-darm.frit:30005 s17445908.onlineh:38671 ESTABLISHED dump1090 89052 387/dump1090-mutabi |
Installation des Webservers
Möchte man den Pi nicht nur als Empfänger für ADS-B Daten (als externe Station via Port 30005 o.ä.), sondern auch autark als Webserver betreiben, muss man noch den folgenden Befehl ausführen, welcher lighttpd installiert und entsprechend konfiguriert:
[UPDATE: Ich habe die Schose jetzt noch mal auf einem anderen Pi installiert. Dort lief der Webserver bereits ohne dass ich ihn mit den beiden folgenden Befehlen installiert hatte. Warum auch immer. Scheint wohl ein in dump1090-mutability eingebauter Server zu sein.]
1 |
sudo apt-get install lighttpd && sudo lighty-enable-mod dump1090 |
Deutlich erhöhter Load-Average
Interessanter Fakt meines (in die Jahre gekommenen) Raspberry Pi 1 B bzgl. des Load-Average, also der Durchschnitts-Last ist wie folgt: Von lässigen 0.3 zu quasi überstrapazierten 1.2! Bei der reinen CPU stieg es von ca. 32 % zu 65 %, also ebenfalls deutlich. (Die Differenz lässt sich wie gewohnt durch Lese-/Schreibzugriffe auf die SD-Karte, IO und Co. erklären.)
Ich kann allerdings nicht genau sagen, ob das eher a) an dem FlightAware Pro Stick liegt, welcher den Empfangsbereich deutlich vergrößerte (siehe vorheriger Post) oder b) an dump1090-mutability, welches erweiterte Techniken bzgl. der Fehlererkennung usw. verwendet oder c) an dem Statisik Modul dump1090-tools, welches alle 5 Minuten eine ganze Reihe schöner rrdtool Grafiken erzeugt (siehe nachfolgendem Blogpost). In jedem Fall ist mein alter Pi mit 900 MHz (Übertaktung) bei einem Core jetzt tatsächlich mal überlastet. Egal. ;)
[UPDATE: Da mir bei meinem Pi 1 B nun auch noch die SD-Karte flöten gegangen ist, habe ich ihn kurzerhand durch einen aktuellen Pi 3 B ausgetauscht. Jetzt also vier Kerne bei 1,2 GHz. Sehr gut. Die Load Average liegt jetzt wieder bei gemächlichen 0.3.]Ich freue mich mal wieder über dieses Projekt, welches ohne viele Fehler weiterhin fleißig interessante Daten empfängt. Viel Spaß euch ebenso!
Featured image: “Miniatur Wunderland: Flughafen – Lufthansa A380” by Kevin Hackert is licensed under CC BY-NC 2.0.
Schöner Beitrag, habe den dump1090-mutability clon auch seit Monaten laufen. Gruß aus EDDV …
Danke für das Update, werde aber an meinem laufenden Setting mit dem Raspberry Pi 1 nichts drehen.
Was ich heute morgen gefunden habe: https://www.raspberrypi.org/blog/plane-spotting/ Allerdings hab ich keine Alexa, mache gerade die ersten (erfolglosen) Versuche mit dem Google Assistent.
jprochazka/adsb-receiver automatisiert alle genannten Schritte und verbesserte die graphischer Weboberfläche sogar noch. Leider können auch dort noch keine Informationen zur Flugroute und Fotos zum Flugzeug angezeigt werden. Hoffentlich tut sich da bald noch was in der Open-Source-Landschaft.
Heute noch was gefunden, wie man dump1090 per Docker auf den Pi bekommt: https://blog.alexellis.io/track-flights-with-rpi/
Hallo,
ich habe lighttpd und dump1090-mutability installiert wie beschrieben.
Auf http://luftraum.südliches.nrw lässt sich das Ergebnis betrachten. Mein Problem ist, dass keine Flugzeuge angezeigt werden. Mein Konto auf Flightaware zeigt aber, dass Daten übermittelt werden.
Könntet Ihr mir bitte helfen? Ich weiß nicht, was da nicht stimmt.
Hey Florian,
puh, ich fürchte ich kann dir da nicht so ad hoc weiterhelfen. Bist du sicher, dass Flightaware von dir Daten bekommt? Wenn ja, dann könnte es irgendwie an dem lokalen http Server liegen. Sorry, weiter weiß ich so ohne Details auch nicht.
Johannes
Hallo,
ich bin noch recht neu mit dem Raspberry Pi unterwegs. Versuche gerade nach o.g. Anleitung auf einem Raspberry Pi 3 B mit Raspbian Stretch “dump1090-mutability” zu installieren.
Das gelingt mir leider nicht weil vermutlich der Link zu “https://github.com/mutability/mutability-repo/releases/download/v0.1.1/mutability-repo_0.1.1_armhf.deb” nicht mehr funktioniert.
Einen passenden Link konnte ich leider nicht finden.
Gibt es für mich eine Lösung?
Gruß Heinz
Hallo Heinz,
jeder hat mal klein angefangen. In der Tat geht der Link nicht mehr. Es wäre aber auch gar nicht die aktuelle Version gewesen.
Bei GitHub kannst du dich relativ einfach durch die Profile klicken. Wenn du also auf die Startseite von dem Kerl “mutability” gehst (https://github.com/mutability/), dann kannst du sehen, welche Projekte er hat. Du brauchst das dump1090 Projekt (https://github.com/mutability/dump1090). Dort scrollst du runter zur Projektbeschreibung, in der sich ein Absatz “Manual installation” befindet. Dort findest du den Link zu den Paketen.
Es *könnte* sein, dass sich die Installationsroutine etwas geändert hat. Evtl. braucht du noch vorher ein anderes “librtlsdr0” Paket. Zumindest redet er bei den Installationsanweisungen davon. Das müsstest du dann vorher ebenfalls per “sudo dpkg -i” installieren.
Viel Erfolg,
Johannes
Hallo und herzlichen Dank für die Infos.
Ich konnte “librtlsdr0” und “dump1090-mutability (1.14)” mit Link auf 1.14 installieren wobei allerdings scheinbar Version 1.15 installiert wurde. Aber egal, es läuft erst mal.
Mit einem auf einem Windows PC installierten “Virtual Radar Server” kann ich über Port 30005 auf den Raspberry Pi zugreifen und die Darstellung zeigt mir bis zu 100 Flugzeuge. Soweit sieht das also recht gut aus.
Dann habe ich noch Punkt 8 aus der Anleitung “Dump1090 ADS-B Stats” installiert. Aber das läuft nur teilweise. Diagramme welche den Raspberry betreffen (CPU-Last, Memory, ect) funktionieren. Diagramme welche den DVB-T Stick betreffen bleiben leer.
Ich habe dann noch etwas geforscht und bin an der zerschossenen Ausgabe hängen geblieben die oben in der Anleitung mit “cat /var/log/dump1090-mutability.log” generiert wurde. Die sieht bei mir genau so daneben aus. “lsusb” sagt mir aber dass ich einen RTL2838 und keinen RTL2832 habe. Beim Kauf stand aber eindeutig RTL2832 dabei. Wahrscheinlich funktioniert auch deshalb der Patch mit “sudo nano /etc/udev/rules.d/rtl-sdr.rules” nicht. Auch nicht wenn ich im Patch 2838 statt 2832 eintrage. Auch ein Windows PC sagt mir dass ein RTL2838 im Stick verbaut ist.
Soweit diese kurze Rückmeldung.
Wahrscheinlich mache ich die ganze Installation wieder “platt” und gehe es wieder von vorne an. Ich will einen Versuch mit dem [url=https://github.com/flightaware]FlightAware[/url] Paket machen und dann auch noch den “Virtual Radar Server” mit auf den Raspberry Pi packen. Vielleicht funktioniert diese Version dann auch sauber mit dem “Dump1090 ADS-B Stats” Paket.
Viele Grüße
Heinz
Es gibt auch einen sogenannten Feeder, der die Daten aus dump1090-mutab zu FlightAware holt, siehe http://blog.wenzlaff.de/?p=6835
Zitat von https://osmocom.org/projects/sdr/wiki/rtl-sdr: “Note: Many devices with EEPROM have 0x2838 as PID and RTL2838 as product name, but in fact all of them have an RTL2832U inside.
Realtek never released a chip marked as RTL2838 so far.”
Ich würde also mal versuchen, das Paket librtlsdr0 mit apt zu installieren :)
Vergiss den letzten Satz, manchmal ist der Kopf langsamer als die Finger …
Hallo,
ich kann nicht über das I-Net über Port 8080 auf die grafische Webseite zugreifen.
lighttpd ist installiert und entsprechend konfiguriert.
Können Sie mir bitte helfen?
Übrigens, ein klasse Blog den ich gerne lese
Hallo Michael,
der Zugriff innerhalb deines Netzwerks zu Hause funktioniert? Also du siehst Flugzeuge? Das ist schon mal gut.
An dieser Stelle endet dann tatsächlich dieser Blogpost hier. Du brauchst dafür nun einen DynDNS-Account (o.ä.) sowie ein Port-Forwarding auf deinem Router zu Hause. Beides kannst du relativ einfach Googeln, da es viele Anleitungen hierfür gibt. Viel Erfolg!
Johannes
Hallo Johannes,
ich hab es versucht nachzubauen, aber irgendwie ist der Wurm drin.
pi@halva:~ $ lsusb
Bus 001 Device 005: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Der Cat sagt dann:
pi@halva:~ $ cat /var/log/dump1090-mutability.log
Mon Jun 4 17:32:31 2018 CEST dump1090-mutability v1.14 starting up.
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001 (currently selected)
Detached kernel driver
Found Rafael Micro R820T tuner
Max available gain is: 49.60 dB
Setting gain to: 49.60 dB
Gain reported by device: 49.60 dB
Error opening the listening port 30002 (Raw TCP output): bind: Cannot assign requested address
Hast du eine Idee, was schief gelaufen sein kann? Oder hab ich nur Tomaten auf den Augen?
Viele Grüße
Elmar
Hallo Johannes,
es war mein Fehler. Ne Nacht schlafen, hat mich zu der Erkenntnis gebracht, dass ein “sudo /etc/init.d/dump1090-mutability force-reload” Abhilfe schaffen könnte.
Irgendwie hatte er die aktualisierte Konfig-Datei noch nicht geschluckt.
Viele Grüße
Elmar
;D
Hallo Johannes,
super Projekt!
Ich habe seit einer knappen Woche auf meinem Raspberry Pi3 ein Pi24-Image von Flightradar24 mit dem FR24-Feeder, der die Daten an Flightradar24 übermittelt.
Kann ich auf dem gleichen Raspberry Pi nun auch den dump1090-mutability installieren und diesen dann von einem Win7-Rechner mit VRS anzapfen oder verträgt sich das nicht mit dem FR24-Feeder?
Lg Daniel
Hi Daniel,
das kommt drauf an. Ich kenne den FR24-Feeder nicht. Vermutlich nimmt er das Dongle am USB Interface für sich in Anspruch. Du müsstest also gucken, ob du dump1090 so aufrufen kannst, dass du auf einen von FR24 geöffneten Port zugreifst?
Alternativ genau andersherum: Schließe den FR24-Feeder, starte dump1090 (welches per Default ja einige Ports öffnet damit andere Services darauf zugreifen können) und schaue nach, mit welchen Optionen du FR24 aufrufen kannst, damit dieser nicht das USB Interface anzapft, sondern eine andere lokale Applikation, eben dump1090. Auf einem Windows PC hatte ich das vor Jahren genau so gemacht: https://weberblog.net/10-e-flightradar24-stick-ads-b-via-dvb-t/
Unter Linux musst du das natürlich anders bauen, aber das technische Prinzip ist das gleiche.
Viel Erfolg! Und ansonsten weiter googeln! Es gibt bestimmt einige Anleitungen, die das gleichzeitig machen.
Hallo Johannes,
ich habe mir ebenfalls mit etwas Frickeln dump1090-mutability v1.14 installiert. Das scheint die neueste Version zu sein. Das läuft auch alles, bis auf einen eigenartigen Fehler. Auf github ist zwar zu lesen, dass wegen des Google-API-Keys jetzt auf OSM umgestellt wurde, leider stimmt das (zumindest bei mir) nicht. dump1090-mutability startet mit google-maps und zeigt natürlich den Fehler in den Tiles.
Wo genau kann ich auf OSM umstellen? bzw. gibt es einen Thread, wo das Vorgehen beschrieben ist?
Viele Grüße
Christian
Hey Christian,
puh, so aus dem Stehgreif weiß ich das auch nicht. Da müsstest du mal in den Threads bei GitHub nachfragen. Dort bekommst du dann (eventuell) direkt Antworten.
Zumindest bei meinem dump1090 kannst du oben links das Kartenmateriel auswählen. In der Tat startet meiner auch mit GoogleMaps, aber ich kann dann dort auch OpenStreetMap auswählen.
Cu,
Johannes
Danke Johannes,
es hat sich zwischenzeitlich alles aufgeklärt. Ich habe eine Anleitung gefunden, mit deren Hilfe ich die github-Quelle v1.15~dev selbst compilieren konnte. Seitem läuft das Paket einwandfrei unter Debian Stretch auf meinem raspi 3b.
Vielen Dank!
Christian
Hi.
wie schafft man es über 200 Flugzeuge zu sehen ?? Ich komme mit selbst gebauter Spider und RG59 Kabel nur auf um die 100 Flugzeuge, Antenne hat fast freie Sicht am Mast der SAT Antenne. Spielt es eine Rolle ob man 50 Ohm Koax Kabel oder 75 Ohm benutzt ? Sollte doch eigentlich vernachlässigbar sein. Habe 5 m Kabel zum Raspberry Pi 3+, aktuellste dump-mutability mit planefinder und anderen Feedern. Benutze einen Noelec Stick
Nun gut. RG59 ist halt nicht das allerbeste auf der Frequenz. Dann gibt es noch LNA+Filter die du hineinschalten kannst. Ich meine mich zu erinnern, dass ich manchmal am Gain etwas verstellen musste (?) damit mehr Flugzeuge reinkamen.
Hallo,
ich hatte mir in der Bucht von Verkäufer “stanislavpalo130” eine “Antenne ADS-B kollinear tolles gewinnen 1090 MHz Flightbox Fiberglas Radome” besorgt. Leider finde ich genau dieses Modell bei ihm aktuell nicht wieder.
Diese Antenne ist über 3m “RG 8U-5” (50 Ohm) Kabel und “UG 21B” Stecker von Reichelt plus einem N auf SMA Adapter an einen “FlightAware Pro Stick Plus USB ADS-B / Mode S Empfänger (inkl. 1090MHz Filter)” (der blaue) angeschlossen.
Betrieben wird das Ganze an einem “Raspberry Pi 3 B”.
Gain habe ich auf 49.6 eingestellt.
Die Antenne ist bei mir auf dem Dach eines Wohnhauses mit relativ guter Rundumsicht montiert. Der Raspberry hängt unter dem Dach.
Tagsüber (um die Mittagszeit) sehe ich mit dieser Kombi eigentlich immer ca. 200 Flugzeuge (Spitze bis 250). Nachts (2:00 – 4:00 Uhr) geht es dann auch mal bis auf 10 Flugzeuge runter.
Standort: Saarland, zwischen den Flughäfen Luxemburg, Saarbrücken und Metz.
Zu keinem dieser Flughäfen “sehe” ich aber bis auf den Boden sondern immer erst ab ca. 1000m aufwärts.