Hey! Sie scheinen aus United States zu kommen, möchten Sie auf die Englisch Webseite wechseln?
Switch to Englisch site
Skip to main content

Bauen Sie ein Gerät zur Beobachtung des Flugverkehrs auf Raspberry Pi-Basis

Featured_0351b2affbe321810ab9332815887a5685dc5551.jpg

Für dieses Projekt kommt ein Raspberry Pi mit extrem kostengünstiger Software Defined Radio (SDR)-Hardware für den Empfang von Nachverfolgungsinformationen der Mode-S-Transponder von bis zu mehrere hundert Kilometer entfernten Flugzeugen zum Einsatz. Das zusätzliche 3,5"-TFT-Display bietet einen praktischen Überblick über die Luftraumaktivitäten.

Hardware

rtl-sdr_73f652804d668b7aadb208b5527add9d7d841f77.jpg

Der winzige SDR-Empfänger auf RTL2832U-Basis (124-5461) wurde für den DVB-T-Empfang entwickelt und ursprünglich auch so vermarktet. Dank des Engagements eines Linux-Kernel-Hackers vor etwa fünf Jahren ist es jedoch möglich, das Gerät zur Gewinnung von Roh-Datenstichproben statt eines demodulierten DVB-Signals zu nutzen. Dadurch können Drahtlossysteme mit Software implementiert werden, was enorme Flexibilität bietet.

Der RTL2832U-Chip wird im Allgemeinen mit einem Tuner-IC kombiniert. Beim USB-Empfänger von Adafruit handelt es sich um einen R820T, der den Empfang von Frequenzen zwischen 24 MHz und 1.850 MHz ermöglicht. Es ist zu beachten, dass die RTL-SDR-Hardware mit 8 Bit ADC-Auflösung und einer effektiven Anzahl von sieben Bits (ENOB) hinsichtlich des Dynamikbereichs nicht mit kostspieligeren SDR-Plattformen mithalten kann. Für viele Anwendungen reicht diese Lösung jedoch aus und bietet ein hervorragendes Preis-Leistungs-Verhältnis.

PiTFT_375485145879b8268208f3dca43ae6752b41585e.jpg

Die für den Empfang und die Dekodierung des Mode-S-Signals verwendete Software ist mit einer auf Google Maps basierenden Web-Schnittstelle und einem lokalen Display ausgestattet, das nicht unbedingt erforderlich ist. Das zusätzliche Adafruit PiTFT 3,5"-Display (124-5487) bietet jedoch einen praktischen Überblick über die Luftraumaktivitäten. Zudem kann die Kombination aus Raspberry Pi, SDR-Empfänger und TFT-Display alternativ als recht praktischer eigenständiger Scanner mit Spektrumvisualisierung konfiguriert werden.

Das TFT-Display wird einfach auf die P1-Stiftleiste des Raspberry Pi gesteckt. Der SDR-Empfänger wird an einen der USB-Anschlüsse angeschlossen.

Raspbian

Für die Raspbian-Installation stehen zwei Optionen zur Verfügung: der Download eines Image von Adafruit, bei dem die Kernel-Unterstützung für das TFT-Display bereits konfiguriert ist, oder die Erstellung eines Raspbian-Standard-Image mit anschließender entsprechender Konfiguration. Ich habe mich für letztere Option entschieden, da ich generell ein offizielles Betriebssystem-Installations-Image bevorzuge und anschließend die erforderlichen Anpassungen selbst vornehmen möchte. Die erste Option erfordert jedoch weniger Schritte und ist weniger fehleranfällig. Adafruit stellt für beide Methoden entsprechende Anleitungen bereit.

Nach der Image-Erstellung auf der Mikro-SD-Karte mit „dd“ wurde der Hostname von der Standardvorgabe „raspberrypi“ auf „planepi“ geändert, um die Lokalisierung im Netzwerk zu erleichtern. Dazu wurden die folgenden Dateien entsprechend geändert:

etc/hostname

etc/hosts

Dabei ist der fehlende Schrägstrich ganz am Anfang zu beachten, da nicht die Dateien unter /etc auf dem Computer geändert werden sollen, mit dem das Image auf der SD-Karte gespeichert wurde. Vielmehr muss der Pfad hinzugefügt werden, unter dem Ihr Computer das Root-Dateisystem auf der SD-Karte gemountet hat.

Wenn Sie das System lieber per Tastatur, Monitor und Maus konfigurieren, ist keine SSH-Aktivierung erforderlich. Wenn Sie jedoch wie ich die Konfiguration über eine SSH-Verbindung bevorzugen, gehen Sie wie folgt vor:

$ sudo touch boot/ssh

Dabei ist „boot“ durch den vollständigen Pfad zu ersetzen, der erforderlich ist, um das Dateisystem auf der SD-Karte zu booten.

Wenn der Raspberry Pi an ein drahtgebundenes Netzwerk angeschlossen werden soll, kann die Mikro-SD-Karte entfernt, in den Raspberry Pi eingesetzt und das Gerät gebootet werden. Wenn jedoch eine drahtlose Netzwerkverbindung genutzt werden soll, sollte auch die folgende Datei bearbeitet werden:

etc/wpa_supplicant/wpa_supplicant.conf

Auch hier handelt es sich nicht um die Konfigurationsdatei unter /etc/wpa_supplicant auf dem Computer, mit dem das Image auf der SD-Karte gespeichert wurde, sondern um die Datei im Verzeichnis etc/wpa_supplicant des Root-Dateisystems der SD-Karte.

Weitere Details zur manuellen Konfiguration drahtloser Netzwerkverbindungen sind in der Raspberry Pi-Dokumentation zu finden.

PiTFT-Einrichtung

PPW_downgradeError_da5408a6d4a391cba026d1437e3db153987e3119.jpg

Da ich mich für das Raspbian-Standard-Image entschieden hatte und die Kernel-Unterstützung für das TFT-Display konfigurieren musste, bin ich entsprechend der von Adafruit bereitgestellten Skriptanleitung für die Selbstinstallation vorgegangen. Die Zeile „sudo apt-get install“ führte jedoch zur oben gezeigten Fehlermeldung, da das Standard-Image aktuellere Software-Versionen enthielt, sodass mit den folgenden Befehlen ein Downgrade erzwungen werden musste:

$ sudo apt-get install -y --force-yes raspberrypi-bootloader adafruit-pitft-helper raspberrypi-kernel

Anschließend wurde das Helper-Skript ausgeführt, um das resistive 3,5“-PiTFT-Display zu installieren.

$ sudo adafruit-pitft-helper -t 35r

Wahrscheinlich ist es generell empfehlenswert, einfach das von Adafruit bereitgestellte vorkonfigurierte Raspbian-Image zu verwenden. Die obigen Informationen sollten jedoch für jeden nützlich sein, der aus irgendeinem Grund mit dem Raspbian-Standard-Image beginnt, z. B., wenn diese Fähigkeiten zu einem bestehenden System hinzugefügt werden sollen, auf dem andere Anwendungen ausgeführt werden.

Wenn der Raspberry Pi so wie auf dem Bild am Anfang dieses Artikels abgebildet orientiert ist und das USB-Stromversorgungskabel nach unten zeigt, muss die Konfiguration aktualisiert werden, um die Displayanzeige um 180 Grad zu drehen. Dazu wird die Datei /boot/config.txt file bearbeitet und rotate=270 auf rotate=90 geändert.

dump1090

Für den Empfang und die Dekodierung der Mode-S-Übertragungen wird verschiedene Software angeboten. Vor fast fünf Jahren hatte ich das GNU Radio-basierte Paket gr-air-modes erwähnt. Dieses Mal verwenden wir jedoch die Software dump1090, deren Bezeichnung sich auf die Mode-S-Frequenz 1090 MHz bezieht.

Zu den Vorteilen von dump1090 zählt unter anderem, dass im Gegensatz zu GNU Radio nur minimale externe Abhängigkeiten bestehen. Außerdem ist diese Software bei der Dekodierung schwacher Signale bemerkenswert robust und leistungsfähig. Beim Betrieb im interaktiven Modus wird eine Zusammenfassung der Aktivitäten auf der Konsole angezeigt. Der auf GitHub zur Verfügung gestellte Fork ist geringfügig angepasst worden, damit diese Anzeige auf das 3,5"-TFT-Display passt.

Für die Erstellung werden folgende Befehle benötigt:

$ sudo apt-get install libusb-1.0-0-dev librtlsdr-dev rtl-sdr

$ git clone https://github.com/DesignSparkrs/dump1090

$ cd dump1090

$ make

Anschließend muss in der Datei /etc/rc.local vor „exit 0“ die folgende Zeile hinzugefügt werden:

cd ~pi/dump1090; ./dump1090 --net --net-http-port 80 --interactive &

Ausführung

dump1090interactive_d280d88cf74ea9e2a5d8b7674fe856537f11c83d.jpg

An diesem Punkt muss ein Reboot durchgeführt werden, damit der Kernel für das TFT-Display konfiguriert wird, und zwar ohne dass die Standard-TV-Tuner-Unterstützung für die RTL-SDR-Hardware geladen wird (dies würde zu Problemen führen). Wenn alles ordnungsgemäß funktioniert, wird dump1090 über die gerade von uns zur Datei /etc/rc.local hinzugefügte Zeile gestartet. Anschließend sollte das TFT-Display die empfangenen Signale anzeigen.

BPPW_map_0ecb3fdac2cf70a06b2773114bb9b5340228163b.jpg

Nach der Eingabe der Adresse des Raspberry Pi in einen Browser wird eine einfache Web-Anwendung auf der Basis von Google Maps mit markierten Flugzeugpositionen, Höhenangaben usw. angezeigt.

Es ist zu beachten, dass die mit dem SDR-Empfänger mitgelieferte Antenne für 1090 MHz nicht optimal abgestimmt ist. In den meisten Regionen sollte es damit aber möglich sein, zumindest ein paar Flugzeuge zu finden. Die Antenne sollte dazu am oder vor dem Fenster aufgestellt werden. Wenn auf diese Weise überhaupt keine Flugzeuge zu finden sind, kann auf im Internet verfügbare Pläne für die Herstellung einfacher selbstgefertigter Antennen zurückgegriffen werden, die auf 1090 MHz abgestimmt sind und einen wesentlich höheren Gewinn bieten.

Zusätzliche Software und Dienste

PPanim_c15d221e502c253fe20e8eb65eb1173b1e3c6416.gif

dump1090 stellt auch die Mode-S-Rohmeldungen über das Netzwerk zur Verfügung. Diese können in Verbindung mit Software wie PlanePlotter für eine anspruchsvollere Anzeige genutzt werden. Außerdem können Daten vom Empfänger zu Online-Diensten wie The OpenSky Network und FlightAware gesendet werden, die den Zugang zu Crowdsourcing-Flugdaten ermöglichen.

 

  – Andrew Back

 

 

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.
DesignSpark Electrical Logolinkedin