Wie war gestern der Empfang vom Raspberry Pi?
Ok, bis zu 300 km. Da müsste auch der Air India Flight #AI171 mit bei sein!
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, Statistik, Krypto und Blockchain
Wie können die Flugdaten an das OpenSkyNetwork gesendet werden? Mit der neuen Software brauch man auch keine Ports usw. im Router freigeben. Einfach den Feed installieren. So wie das auch für die anderen Dienste geht. Hier mal das Ergebnis von eben:
Es ist unten links, gut zu erkennen das der weiteste Empfang 262 km ist. Cool.
Zuerste einen kostenlosen Account bei OpenSkyNetwork anmelden.
Dann wie hier beschrieben die Software auf dem Raspberry Pi installieren. Das geht aber einfacher so …
1 2 3 4 |
# wir holen uns die aktuelle Feeder Software wget https://opensky-network.org/files/firmware/opensky-feeder_latest_armhf.deb # und installieren die sudo dpkg -i opensky-feeder_latest_armhf.deb |
Es kommen dann noch die folgenden Setup Dialoge, die natürlich mit den eigenen Werten angepasst werden müssen:
Zuerst den Breitengrad, (Latitude) wo man wohnt:
Dann die Longitude (Längengrad): „Raspberry Pi: Flugdaten mit DUMP1090 an OpenSkyNetwork senden“ weiterlesen
Bei der Benachrichtigung stören solche Ausbildungsflüge:
Bei denen will ich nicht per Pushover benachrichtigt werden. „Raspberry Pi: Flugzeuge Erfassung jetzt mit Blacklist in Version (0.0.7) auf Maven Central veröffentlicht“ weiterlesen
Java Wrapper für die Dump1090 Schnittstelle.
Dieses Projekt ist eine Javaschnittstelle für den Zugriff auf die Daten von Dump1090 per Java Objekte.
Mit dieser Javaschnittstelle können einfach Pushover Nachrichten an jedes Handy bzw. Tablet versendet werden wenn ein Flugzeug startet oder landet. Da wir in der nähe vom Flughafen Hannover (EDDV, HAJ) leben, sehen wir gerne Flugzeuge starten und landen. Die beiden Start.- und Landebahnen liegen in Ost-West Richtung. Wenn wir aus dem Küchenfenster schauen oder wenn wir auf der Terrasse sitzen, sehen wir alle Flugzeuge die von Osten aus ankommen bzw. in die Richtung wegfliegen. Nun möchte ich gerne eine Nachricht mit Tonsignal mit Höhe, Geschwindigkeit, Flugnummer usw. auf mein Handy erhalten, wenn ein Flugzeug aus dem Osten zum landen ankommt bzw. in Richtung Osten starte. Alle anderen Flugzeuge die in die andere Richtung starten bzw. landen sollen nicht berücksichtigt werden. Auch nicht Flugzeuge die nur Hannover überfliegen.
Auch soll eine Pushover versendet werden wenn ein Luftnotfall (med. Notfall, Entführung usw. ) per Transponder gemeldet wird.
„Java Wrapper für die Dump1090 Schnittstelle“ weiterlesen
Muss das sein? Können die nicht in Nevada ihre Flugübungen machen?
1 2 3 4 5 6 7 8 9 10 11 |
2016-11-23 19:17:24 INFO TimerAktion:86 - ---------> Nachricht senden: Flugzeug [hex=3d4190, squawk=7000, lat=52.389283, lon=9.745501, altitude=1900 Fuss, speed=73 Knoten/h, flight=DEXBS , nucp=0, seen_pos=30.8, vert_rate=-128, track=81, messages=7626, seen=0.4, rssi=-12.8, mlat=[lat, lon, track, speed, vert_rate], ] 2016-11-23 19:17:24 INFO PushoverAktion:122 - Versende Pushover Aktion mit folgender Nachricht: Flugzeug Flug: DEXBS, Höhe: 580 m, Geschwindigkeit: 136 km/h, HEX: 3D4190, Squawk: 7000, Lat: 52.389283, Lon: 9.745501 2016-11-23 19:17:24 INFO PushoverAktion:125 - Nachrichten URL: http://fr24.com/3d4190 2016-11-23 19:18:24 DEBUG Flugzeuge:82 - OK, Flugzeug im Landeanflug erfasst: Flugzeug [hex=3d4190, squawk=7000, lat=52.411116, lon=9.797372, altitude=1800 Fuss, speed=99 Knoten/h, flight=DEXBS , nucp=0, seen_pos=8.2, vert_rate=384, track=74, messages=7813, seen=1.0, rssi=-6.2, mlat=[lat, lon, track, speed, vert_rate], ] 2016-11-23 19:19:24 DEBUG Flugzeuge:82 - OK, Flugzeug im Landeanflug erfasst: Flugzeug [hex=3d4190, squawk=7000, lat=52.389888, lon=9.813930, altitude=1500 Fuss, speed=45 Knoten/h, flight=DEXBS , nucp=0, seen_pos=4.1, vert_rate=-512, track=169, messages=7966, seen=0.1, rssi=-25.2, mlat=[lat, lon, track, speed, vert_rate], ] 2016-11-23 19:20:24 DEBUG Flugzeuge:82 - OK, Flugzeug im Landeanflug erfasst: Flugzeug [hex=3d4190, squawk=7000, lat=52.395195, lon=9.763314, altitude=1400 Fuss, speed=106 Knoten/h, nucp=0, seen_pos=8.2, vert_rate=64, track=287, messages=8078, seen=0.1, rssi=-23.4, mlat=[lat, lon, track, speed, vert_rate], ] 2016-11-23 19:21:24 DEBUG Flugzeuge:82 - OK, Flugzeug im Landeanflug erfasst: Flugzeug [hex=3d4190, squawk=7000, lat=52.414282, lon=9.747698, altitude=900 Fuss, speed=92 Knoten/h, flight=DEXBS , nucp=0, seen_pos=22.3, vert_rate=128, track=321, messages=8193, seen=0.0, rssi=-14.4, mlat=[lat, lon, track, speed, vert_rate], ] |
Dump1090 erzeugt auch JSON-Dateien, die periodisch aktualisiert werden und die auch extern verwendet werden können.
Dies sind ua. die folgenden Dateien:
Die genaue Dokumentation ist hier zu finden.
Über den Browser kann man auf diese Dateien z.B. so zugreifen, wenn ein externer Server verwendet wird:
http://(Raspberry Pi Adfresse)/dump1090/data/aircraft.json
im Dateisystem sind sie unter
/run/dump1090-mutability
zu finden.
Die aircraft.json liefert dann z.B. die folgenden Infos: „Raspberry Pi: Dump1090 erzeugt auch JSON-Dateien die extern verwendet werden können“ weiterlesen
Bin nun wieder von meiner Weltreise zurück. In der zwischenzeit gab es einige Updates.
Es gibt eine neue Version von PiAware mit der Nummer 3.5.3 Deshalb diese Version laden und gleich das ganze System updaten:
1 2 3 4 5 6 7 |
wget http://flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_3.5.3_all.deb sudo dpkg -i piaware-repository_3.5.3_all.deb sudo apt-get update sudo apt-get upgrade sudo apt-get install piaware piaware -v # Ergebnis 3.5.3 |
Dann auch gleich dump1090-mutability_1.15~dev neu erstellen und installieren: „Update des Raspberry Pi mit PiAware von 2.1 auf 3.5.3 und Bing Map einstellen“ weiterlesen
Normalerweise habe ich die Antenne drinnen. Da es heute aber so schön ist, wird sie mal draußen angebracht
und schon ist der Empfang fast doppelt so groß und fast 300 Km weit:
oder hier
Hier auf Twitter kann jeder in Echtzeit mit 5 Minuten Verzögerung die Anzahl ablesen, da ein Raspberry Pi über node-red die Ergebnisse postet:
Anzahl #Flugzeuge in #Hannover (#HAJ #EDDV) 51 angefragt per #ADSB am Sat Jun 04 2016 17:26:28 GMT+0200 (CEST) per #Raspberry #Pi
— Thomas Wenzlaff (@twusb) 4. Juni 2016
Mal einen Docker Container von Ted Sluis mit DUMP1090 aus den Niederlande testen. Man braucht dazu keine Antenne.
Cool 164 Flugzeuge, das ist ja viel mehr, als hier in EDDV. Aber hier wird auch gestreikt. Wer wie in einem Blog-Eintrag beschrieben, docker am laufen hat, braucht nur mit einer Zeile den Container auf dem Raspberry Pi starten:
1 |
sudo docker run -d -h dump80 -p 8080:80 tedsluis/dump1090-mutability:v1.15_heatmaprangeview_arm |
„Docker Image für Dump1090-Mutability auf dem Raspberry Pi am Beispiel aus Utrecht – Niederlande in 10 min testen“ weiterlesen
Wie kann die Anzahl der gerade empfangenen Flugzeuge mit DUMP1090 auf einem Raspberry Pi an ThingSpeak.com mit jq gesendet werden?
Wir verwenden ein kleines bash Script, welches über jq die aircraft.json Datei auswertet. Diese Daten werden dann automatisch alle 5 Minuten per crontab an ThingSpeak gesendet.
Der jq ist ein Kommandline JSON Tool, das den Input der JSon aircraft.json Datei verwendet und das gefilterte Ergebnis wieder ausgibt. In diesem Fall die Anzahl der Flugzeuge. „Wie kann die Anzahl der gerade empfangenen Flugzeuge mit DUMP1090 auf einem Raspberry Pi an ThingSpeak.com mit jq gesendet werden?“ weiterlesen
Landet die Air Force One (AFO) in Hannover? Die HAZ und auch das HAJ-Spotter-Forum geben Hinweise. Wenn sie aus Isernhagen anfliegt, kann ich sie von der Terrasse sehen 🙂
Das wird wohl nichts, wie dieser Beitrag der NDR zeigt.
Aber egal von welcher Richtung die Boeing 747-200B die Air Force One kommt, die Transponderdaten können jederzeit von mir empfangen werden, mein Raspberry Pi läuft. Hier mal die Abdeckung von gestern:
Vor einiger Zeit hatte ich schon mal beschrieben wie man die Flugzeugsignale (Transponder) mit dem Raspberry Pi empfängt und nach Flightradar24.com, de.FlightAware.com und Planefinder.net gleichzeitig senden kann. In der Zwischenzeit gibt es Debian mit der Version Jessie und einige neue Versionen der Feed-Software. Hier nun eine Anleitung wie in ca. 1 Stunde alles auf einem Raspberry Pi installiert werden kann. Zuerst einmal ein Architektur Überblick:
Optimiert mit SQL um die Darstellung von zwei Landebahnen (von dreien:
) zu visualisieren:
„ADS-B mit Raspberry Pi: Visualisierung von zwei Landebahnen in Hannover“ weiterlesen
Die vom Raspberry Pi via DUMP1090 empfangenen Flug Daten von heute 9.2.2016 (20 min Langenhagen) als Film visualisiert.
Die einzelnen Farben sind die jeweiligen Flüge, siehe Legende.
Klick auf den > Start Button wenn der Film noch nicht läuft.
Wie findet Ihr das?
Seit ein paar Wochen gibt es eine neue Version von des Virtual Radar Servers. Wie wird eine vorhandene Installation die auf einem Mac OS X läuft und Daten von einem Raspberry Pi empfängt nun aktualisiert?
Was ist Neu? „Wie wird VirtualRadar auf die Neueste Version 2.3.1 upgedated?“ weiterlesen
Bei mir läuft nun seit einigen Wochen die Dump1090 dev1.15 Version auf dem Raspberry Pi. Wie kann diese nun aktualisiert werden?
Wie hier schon kurz beschrieben, „Dump1090 auf dem Raspberry Pi aktualisieren (da Lufthansa und UFO sich ja näher kommen)“ weiterlesen
Was ist zu tun, wenn auf einem Raspberry Pi bei einem
1 |
sudo apt-get update |
der folgende Fehler erscheint:
„GPG error: http://repo.mutability.co.uk wheezy Release: The following signatures were invalid: KEYEXPIRED“
Da ist ein GPG Key abgelaufen. Der Key kann wie folgt aktualisiert werden: „Was ist zu tun, wenn auf einem Raspberry Pi bei apt-get update der folgende Fehler erscheint: „GPG error: http://repo.mutability.co.uk wheezy Release: The following signatures were invalid: KEYEXPIRED““ weiterlesen
Wollt mal wissen, wie weit maximal der Transponderempfang von Flugzeugen von Langenhagen mit dem Raspberry Pi aus möglich ist. Der max. Empfang hängt von der Erdkrümmung und dem Gelände ab. Wenn Berge vor der Nase sind, ist in die Richtung leider kein Empfang möglich. Aufgrund dieser Umstände ist nicht mehr als 450 Km / 250 nautical miles möglich.
Um diese Frage zu beantworten gibt es die Seite heywhatsthat.com.
Dort kann man sich eine Grafik generieren lassen.
1. http://www.heywhatsthat.com/ aufrufen und auf den Tab oben New Panorama klicken.
2. Dann die latidude und longitude eingeben, oder den Ort suchen lassen. Dann unter 3. die Höhe der Antenne in Meter angeben. Bei 4. kann noch ein frei zu wählender Titel eingegeben werden. Unter der Grafik auf Metric stellen und auf Submit request klicken.
Dann kommt für 2 Minuten ein Werbebanner und dann die Ergebnisseite. „Raspberry Pi Dump 1090: maximaler Transponder Empfang“ weiterlesen
Der beginn eines neuen Jahres ist auch ein guter Zeitpunkt, für die Erfassung von einigen Flugdaten die der Raspberry Pi empfängt, wie z.B. ADS-B Message Rate, ADS-B Anzahl Flugzeuge, ADS-B max. Bereich, ADS-B Tracks, CPU Temperatur mit RRDtool (Round-Robin-Database) zu verarbeiten.
Es gibt da ein gutes Script, welches die Installation erleichtert und Diagramme wie z.B. dieses von Silvester auf Neujahr in Hannover erstellt:
Und so wird es installiert „Raspberry Pi: Coole DUMP1090 Diagramme zur Flugstatistik mit rrdtool“ weiterlesen
Seit dem 24.12.2015 gibt es eine neue Piaware Software. Mit folgenden Kleinigkeiten ab 2.1.4
Wir wird die Version nun upgedated? Einfach auf der Pi Konsole:
1 2 3 4 5 6 7 8 |
sudo apt-get update sudo apt-get upgrade # Programm downloaden wget http://flightaware.com/adsb/piaware/files/piaware_2.1-5_armhf.deb # neue Version updaten sudo dpkg -i piaware_2.1-5_armhf.deb # und ein Restart sudo /etc/init.d/piaware restart |
Dann auf der Seite checken, ob die neue Version erkannt wird:
Super, das läuft. Auch werden jetzt ab dem 18.12.2015 die MLAT Verbindungen angezeigt. „Raspberry Pi: Wie wird das letztes Update in 2015 für Piaware 2.1.5 installiert“ weiterlesen
Der Raspberry Pi empfängt zur Zeit ca. 30 Flugzeutransponer. Es ist richtig was los in EDDV. 262 km und das mit einer Zimmerantenne! Cool
Und hier einmal zwei Aufnahmen, wo man gut die Landebahn und Landeanflug in EDDV erkennen kann:
„Der Raspberry Pi empfängt zur Zeit ca. 30 Flugzeutransponder aus bis zu 262 km Entfernung“ weiterlesen
In Hannover wird von der Lufthansa noch nicht gestreikt. Hier die Flugzeuge die vom Raspberry Pi empfangen werden. Mal als dark map:
Und als OpenStreetMap:
Für dump1090-mutability gibt es bis jetzt noch kein Release, das auch MLAT anzeigen kann.
Multilateration oder kurz MLAT errechnet die Position eines Flugzeuges anhand seiner ModeS-Daten. Dazu sind mindestens vier MLAT-fähige Bodenstationen in einem Gebiet von etwa 250 km Radius nötig, um entsprechend qualitative Positionsdaten mit einer Abweichung unter 100 Metern zu liefern. Mit MLAT können nur Flüge über eine Flughöhe von 10.000 ft dargestellt werden, für die Flugbereiche darunter würde ein engmaschiges Netz von mind. vier MLAT-Empfangsstationen benötigt, um eine möglichst Abdeckung erreichen zu können.
Damit auch MLAT Flugzeuge angezeigt werden können, muss aus den aktuellsten Sourcen ein Install-Package erzeugt und installiert werden. Das geht in einer halben Stunde wie folgt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# Hilfs Package installieren sudo apt-get install librtlsdr-dev libusb-1.0-0-dev pkg-config debhelper git-core # Libs landen und installieren wget https://github.com/mutability/librtlsdr/releases/download/v0.5.4_git-1/librtlsdr0_0.5.4.git-1_armhf.deb wget https://github.com/mutability/librtlsdr/releases/download/v0.5.4_git-1/librtlsdr-dev_0.5.4.git-1_armhf.deb sudo dpkg -i librtlsdr0_0.5.4.git-1_armhf.deb sudo dpkg -i librtlsdr-dev_0.5.4.git-1_armhf.deb # Verzeichnis erstellen und in das Verzeichnis wechseln mkdir neue-dev-version cd neue-dev-version/ # Aktuellen Entwicklungsstand holen git clone https://github.com/mutability/dump1090.git # in das Dump1090 Verzeichnis gehen cd dump1090 # Package bauen, das dauert ein paar Minuten (ca. 10) dpkg-buildpackage -b # in das Verzeichnis mit dem neuen Package wechseln und das erzeugt Package installieren cd .. sudo dpkg -i dump1090-mutability_1.15~dev_armhf.deb |
Das Ergebnis sieht wie folgt aus:
Oben rechts wird nun die neue Version angezeigt. Neu sind auch die angezeigten Flaggen und es werden jetzt auch alle Flugzeuge in der Tabelle und in der Karte lila angezeigt die keinen Transponder haben und per MLAT bestimmt werden.
Cool, ich bin begeistert! „Raspberry Pi: Wie kann die aktuellste Version v1.15-dev von dump1090-mutability für die Anzeige von MLAT installiert werden?“ weiterlesen
Der Flughafen in Hannover (Langenhagen) meldet ein Plus im Juli von 6,5 %. Das habe ich mal mit dem Raspberry Pi mit DUMP1090 validiert.
Hier das Ergebnis der Auswertung:
Heute ist das Wetter in Langenhagen sehr schön. Da habe ich die Antenne mal nach draußen gestellt.
Das Ergebnis ist erstaunlich. Über 50 Flugzeuge werden gleichzeitig mit dem Raspberry Pi via DUMP1090 empfangen:
Dieser A320 z.B. der nach London fliegt, kann bis nach Eindhoven in den Niederlanden empfangen werden, das sind über 300 Km wie man sehen kann:
Und heute Nachmittag über 70 Flugzeuge gleichzeitig:
Der Streik am 30.1.2015 am Flughafen in Hannover hat keine relevanten Auswirkungen auf den Flugverkehr, der von mir mit einem Raspberry Pi und DUMP1090 via Fhem erfasst wird. Das zeigen diese Grafiken:
Sehr gut kann man auch sehen, das für ca. 6 Stunden nachts nicht viel los ist in EDDV, obwohl Hannover der einzige Flughafen in Norddeutschland ohne Nachtflugverbot ist (zwischen 23 und 6 Uhr sind nur „leise“ Flüge erlaub). Aber in Bremen, Berlin-Tegel, Dortmund, Düsseldorf, Frankfurt und Hamburg hat man ja nachts seine Ruhe.
Hatte noch einen TP-WR703N rumliegen. Wenn dort die aktuelle Version von OpenWrt (14.07) installiert ist, geht es mit LuCI sehr schnell.
Auf die Seite System – Software gehen. Im Filter dump1090 eingeben und auf Find package
klicken. Dann unten mit klick auf Install
das fertige Package installieren.
„OpenWrt Barrier Breaker 14.07: Wie kann Dump1090 auf einem TP-WR703N Router unter OpenWrt zum Airplanespotting installiert werden?“ weiterlesen
Ab jetzt werden die Mindmaps auf der Domäne kleinhirn.eu veröffentlicht.
Für das dump1090-mutability (1.13) unter Debian für den Raspberry Pi gibt es da jetzt auch eine Mindmap.
Die neue Version von Dump1090-mutability ist in der Version 1.13 veröffentlicht worden.
Was es neues gibt, steht hier. Läuft auf dem rPi mit ca. 30% CPU Last, wie man mit htop sehen kann:
Sieht doch cool aus, oder?
Hier mal eine Auswertung der letzten Tage aus EDDV:
Wie hier beschrieben, gibt es einen neuen fork von DUMP1090. Nun ist wieder eine neue Version erschienen (1.10.3010.14mu-11).
Was ist neu?
-Es kann jetzt ein maximaler Bereich angegeben werden mit Parameter –max-range parameter
-Anzeige der Nachrichten Zeit
-Fix bei der UTC Uhr anzeige
-Fix im Info Panel
-Farbe des Flugeuges grau wenn es nicht mehr gesehen wird
-Fix beim beenden über SIGINT
-div. Fix..
Wie kann das update installiert werden?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# System aktualisieren sudo update sudo upgrade # Version downloaden wget https://github.com/mutability/dump1090/releases/download/v1.10.3010.14mu-11/dump1090-mutability_1.10.3010.14mu-11_armhf.deb # Laufenden Server stopen sudo /etc/init.d/dump1090-mutability stop # Version installieren sudo dpkg -i dump1090-mutability_1.10.3010.14mu-11_armhf.deb # Es erscheint eine Frage nach dem maximalen Bereich in nautische Meilen Eingab z.B. 200 # Checken ob der Server läuft sudo /etc/init.d/dump1090-mutability status # Ausgabe: [ ok ] dump1090-mutability is running. # Archive kann gelöscht werden rm dump1090-mutability_1.10.3010.14mu-11_armhf.deb |
Dann aufrufen der Seite im Browser mit http://rpi-adresse:port
Der DUMP1090 Server läuft bei mir schon lange auf einem eigenen Raspberry Pi B+ ganz gut. Es gibt nun einen neuen fork von Oliver Jowett (thanks), der einige Neuerungen bzw. Erweiterungen hat. Der dump1090-mutability.
Der mutability fork braucht nicht als root laufen und enthält die FlightAware (faupt1090) Verbindung. Auch läßt er sich besser konfigurieren auch mit externen Server. Es gibt auch eine schönere GUI, mit Kreisen rund um den Standort und bessere Daten. So werden jetzt alle Flugzeuge in Summe angezeigt und auch mit Postitionsdaten. Also einige Gründe, mal umzuschwenken.
Hier mal ein Foto um Geschmack zu machen mit der Summe der Flugzeuge:
Und hier ein Foto, wenn ein Flugzeug selektiert ist mit Details:
„Raspberry Pi: Wie kann ein neuer Mode S Decoder für RTLSDR Devices (DUMP1090 fork) dump1090-mutability installiert werden?“ weiterlesen
Habe soeben die 1. Version von dem DUMP1090 Client TWFlug kostenlos
veröffentlicht.
TWFlug liest die Daten von einem DUMP1090 Server und zeigt sie (optional) in einem Tacho an oder/und schreibt die Daten in eine Logdatei für die Auswertung mit z.B. Fhem. Es kann die Logdatei auch per sFTP an einen entfernten Rechner kopieren.
Das TWFlug Programm ist ein Java Programm und läuft somit auf allen Betriebssystem. Es können mit Fhem dann solche schönen Grafiken in Echtzeit angezeigt werden:
Installation:
Download der twflug-0.1.0.zip.
Dann das Archive auspacken.
Für das Starten gibt es zwei Möglichkeiten mit oder ohne GUI.
Ohne GUI mit Eingabe in der Konsole in dem TWFlug Verzeichnis mit:
1 |
java -jar twflug.jar -n --ip IP-VOM-DUMP1090-Server |
also z.B. java -jar twflug.jar -n --ip 192.198.1.2
oder mit GUI
1 |
java -jar twflug.jar --ip IP-VOM-DUMP1090-Server |
also z.B. java -jar twflug.jar --ip 192.198.1.2
Dann startet nach einigen Sekunden, die folgenden Anzeige von TWFlug:
Weiter Infos zu den Parametern erhält man durch Eingabe von
1 |
java -jar twflug.jar --help |
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 26 27 |
[main] DEBUG de.wenzlaff.twflug.TWFlug - Starte TWFlug ... usage: TWFlug -c,--copy-time <arg> copy time in Minuten (default: 60 Minuten) -d,--debug print debugging information (default: false) -dd,--ziel-datei <ziel-datei> destination file name (default: /home/pi/fhem/log/flugdaten-YYYY-MM.log) -dip,--ziel-ip <arg> ip adress for copy destination -dpsw,--ziel-passwort <arg> passwort from destination User -duser,--ziel-user <arg> destination User (default: pi -h,--help print help and exit -height,--window-height <arg> set window hight (default: 600) -i,--ip ip adress from DUMP1090 -k,--copy copy output file to destination (default: false) -max,--max-count <arg> set max count value (default: 50) -min,--min-count <arg> set min count value (default: 0) -n,--no-gui display no GUI. Only logfile output (default: false) -o,--outputfile <outputfile> use given file for DUMP output (default: flugdaten-YYYY-MM.log) -p,--port <arg> port from DUMP1090 (default: 30003) -r,--refresh-time <arg> refresh time in ms (default: 300000 ms = 5 Minuten) -v,--version print the version information and exit -width,--window-width <arg> set window with (default: 600) |
Weitere Anregungen, Bugs, Fix, Likes, Lob und Dank gerne als Kommentar hier auf der Seite.
Viel Spaß beim Planecounting.
Heute am Basteltag wollte ich mal sehen, was so erreicht werden kann mit einer anderen Antenne und einer optimalen Antennen Position. Also mal einen Dipol für 1090 Mhz berechnet und gebaut. Ok, hier die 1. Version:
Und eine Nahaufnahme. Ok, das geht auch schöner:
Und auf der anderen Seite des Koaxkabel ein Stecker mit Adapter:
So nun beide montieren:
Und das ganze in einen vorhandenen Kabelkanal mit etwas Klebeband fixiert:
Nun das ganze in der 3. Etage mit frei Sicht in alle Richtungen auf dem Dach versuchsweise mit Klebeband montiert. Auf Anhieb konnte ich doppelt soviele Flugzeuge empfangen wie mit der Zimmerantenne. Und das bei „blue sky“.
Das Antennen Kabel geht leider nur nach draußen, wenn das Fenster auf ist.
Auch geht es nun in alle Richtungen.
Es ist schon cool, mit einen kleinen Dipol von Langenhagen bis nach Hamburg, Cuxhaven, Bremen, Münster, Düsseldorf, Aachen (fast in Belgien), Bonn, Kassel, Wolfsburg. Nach einer halben Stunde musste ich diesen Versuchsaufbau abbrechen, wegen Regen. Aber immerhin 54 gleichzeitige Flugkontakte auf Anhieb mit den selbstgebauten Dipol mit Verbesserungspotential. Der Dipol muss natürlich senkrecht angebracht werden.
Berechnung des Dipols:
Lichtgeschwindigkeit = 300 000 000 m/s
Ziel Frequenz= 1090 Mhz gleich 1090 000 000 Hertz
Wellenlänge = 300 000 000 / 1090 000 000 = 0,275 m = 275 mm.
Das ganze durch 2 teilen, da ich einen Dipol haben möchte. 275 mm/2 = 137 mm
Also die Gesammtlänge der Antenne muss ca. 140 mm sein.
Oder habe ich mich verrechnet? Gehts noch einfacher? Und wie sieht es mit Blitzableiter aus?
Das bekannte Windows Programm PlanePlotter sendet die Flugdaten von Transpondern an PlanePlotter. Wie können diese Daten aber mit einem Raspberry Pi und ohne Windows an den PlanePlotter Server versendet werden.
Zuerst muss auf der PlanePlotter Seite eine Registrierung erfolgen. Folgende Angaben sind nötig:
An die dort angegebenen E-Mail Adresse wird dann nach ein paar Minuten eine C- Header Datei mit Namen: coaa.h
versendet.
Diese coaa.h
ist wie folgt aufgebaut:
1 2 3 4 5 |
//coaa.h configuration file for Thomas Wenzlaff 2011-11-11 11:11:11 #define USER_REGNO 123456 #define USER_AUTHCODE 1234567890 #define USER_LATITUDE 52.4388 #define USER_LONGITUDE 9.7428 |
Dies Datei dann so wie sie ist, in das Homeverzeichnis von dem DUMP1090 Programm kopieren und das ppup (=plane plotter upload) Programm welches auch in dem Verzeichnis ist neu compilieren mit:
1 |
make -f makeppup1090 |
wenn der compile ohne Fehler durchgelaufen ist, kann das Program mit
1 |
./ppup1090 |
gestartet werden (oder wenn das hochladen im Hintergrund geschehen soll mit ./ppup1090 &). Schon werden die Daten an PlanePlotter alle 60 Sekunden hochgeladen. Das ppup1090 muss nach dem start des DUMP1090 Servers erfolgen, da er ja die Daten von diesem Server erhält.
Wie kann nun aber kontrolliert werden, ob die Daten richtig an PlanePlotter gesendet werden?
Dazu den http://www.coaa.co.uk/rpiusers.php?authcode=USER_AUTHCODE
link verwenden. Den USER_AUTHCODE aus der coaa.h, die man per E-Mail erhalten hat, ersetzen und den Link im Browser aufrufen.
Z.b. http://www.coaa.co.uk/rpiusers.php?authcode=1234567890
Jeder User erhält dann einen eindeutigen Share code, der bei mir XH lautet. Diesen Code findet man dann, auf der Übersichtsseite (hier mal weiß makiert):
Habt ihr noch weitere Ideen? Fehlt was?
Habe ein Java Programm für die übersichtliche Anzeige der empfangenen Flugzeuge erstellt.
Wer einen DUMP1090 Server laufen hat, kann das TWFlug Programm starten.
Es werden bisher folgende Funktione geboten:
Das TWFlug Programm läuft auf unterschiedlichen Plattformen (Win, Linux, Mac…), bisher habe ich Mac OS X Yosemite (10.10.1) getestet. Wer vor der ersten öffentlichen Version am Test teilnehmen möchte, kann mir eine E-Mail senden.
So sieht das TWFlug nach dem Start aus:
Folgendes Fhem-Format wird alle 5 Minuten geschrieben, damit in Fhem Grafiken erzeugt werden können:
1 2 3 4 5 6 7 8 9 10 |
2014-12-01_21:00:52 flugdaten anzahl:31 2014-12-01_21:05:52 flugdaten anzahl:31 2014-12-01_21:10:52 flugdaten anzahl:32 2014-12-03_06:11:56 flugdaten anzahl:7 2014-12-03_06:16:56 flugdaten anzahl:12 2014-12-03_06:21:56 flugdaten anzahl:10 2014-12-03_06:26:56 flugdaten anzahl:11 2014-12-03_06:31:56 flugdaten anzahl:9 2014-12-03_06:36:56 flugdaten anzahl:18 2014-12-03_06:41:56 flugdaten anzahl:20 |
Das Programmfenster läßt sich skalieren, so das es auf dem Desktop schön aussieht:
Der Quellcode liegt auf GitHub.
Vor einiger Zeit hatte ich schon mal beschrieben wie man die Flugzeugsignale mit dem Raspberry Pi empfängt und nach Flightradar24.com senden kann. Es gibt aber noch eine andere Flugseite FlightAware. Wie kann man die Flugsignale gleichzeitig auch nach FlightAware senden? Das geht mit dieser Beschreibung ganz gut. Man benötigt erst mal einen Account bei FlightAware. Der Dump1090 Server muss installiert sein und laufen. Das wurde von mir auch schon mal beschrieben.
Dann folgende Befehle im Terminal eingeben um die empfangenen Flugsignale vom DUMP1090 über faup1090 alle 5 Minuten verschlüsselt (TLS) an FlightAware zu senden:
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 |
# System updaten sudo apt-get update sudo apt-get upgrade # Nötige Komponenten laden sudo apt-get install -fy # Programm downloaden wget http://uk.flightaware.com/adsb/piaware/files/piaware_1.20-1_armhf.deb # und instalieren sudo dpkg -i piaware_1.20-1_armhf.deb # Optional zwei Einstellungen setzen (siehe weiter unten) sudo piaware-config -autoUpdate 1 -manualUpdate 1 # Feed starten mit sudo piaware-config -user USERNAME -password # Passwort abfrage kommt, dann Passwort eingeben # und piaware einmal restarten sudo /etc/init.d/piaware restart # Status kann optional abgefragt werden mit sudo /etc/init.d/piaware status # oder mehr mit sudo piaware-status # Stoppen des piAware Servers mit sudo /etc/init.d/piaware stop # Starten des piAware Servers mit sudo /etc/init.d/piaware start |
Die möglichen Einstellungen können mit
1 |
sudo piaware-config -help |
abgefragt werden. Es werden folgende Befehle unterstützt:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
piaware-config : piaware-config -help|-user|-password|-start|-stop|-status|-autoUpdate 1/0|-manualUpdate 1/0 -user value specify the user name of a valid FlightAware account <> -password interactively specify the password of the FlightAware account -autoUpdate value 1 = allow FlightAware to automatically update software on my Pi, 0 = no <> -manualUpdate value 1 = allow me to trigger manual updates through FlightAware, 0 = no <> -start attempt to start the ADS-B client -stop attempt to stop the ADS-B client -restart attempt to restart the ADS-B client -status get the status of the ADS-B client -show show config file -- Forcibly stop option processing -help Print this message -? Print this message |
Schon nach ein paar Minuten werden die Flugdaten bei FlightAware sichtbar.
Der Quellcode und Beschreibung zu dem piaware Programm findet man auf Github.
Was das piaware Programm so nach dem start macht, kann in der Logdatei unter /tmp/piaware.out
eingesehen werden. Hier mal ein Auszug aus der Verbindung:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
11/30/2014 12:14:22 **************************************************** 11/30/2014 12:14:22 piaware version 1.18 is running, process ID 12345 11/30/2014 12:14:22 your system info is: Linux xxxx 3.12.28+ #712 PREEMPT Tue Sep 16 15:49:13 BST 2014 armv6l GNU/Linux 11/30/2014 12:14:22 connecting to FlightAware eyes.flightaware.com/1200 11/30/2014 12:14:23 FlightAware server SSL certificate validated 11/30/2014 12:14:23 encrypted session established with FlightAware 11/30/2014 12:14:23 autoUpdate in adept config is enabled, allowing update 11/30/2014 12:14:23 manualUpdate in adept config is enabled, allowing update 11/30/2014 12:14:24 ADS-B data program 'dump1090' is listening on port 30005, so far so good 11/30/2014 12:14:24 i see nothing serving on port 10001, starting faup1090... 11/30/2014 12:14:24 started faup1090 (process ID 12345) 11/30/2014 12:14:27 connecting to faup1090 on port 10001... 11/30/2014 12:14:27 piaware is connected to faup1090 on port 10001 11/30/2014 12:14:27 logged in to FlightAware as user USERNAME 11/30/2014 12:14:27 piaware received a message from the ADS-B source! 11/30/2014 12:14:32 piaware has successfully sent several msgs to FlightAware! 11/30/2014 12:14:57 26 msgs recv'd from dump1090 via faup1090; 26 msgs sent to FlightAware 11/30/2014 12:15:23 server is sending alive messages; we will expect them 11/30/2014 12:19:57 309 msgs recv'd from dump1090 via faup1090 (283 in last 5m); 310 msgs sent to FlightAware 11/30/2014 12:24:57 625 msgs recv'd from dump1090 via faup1090 (316 in last 5m); 627 msgs sent to FlightAware ... |
Mit dem alten Freewarprogramm SBSplotter können die empfangenen Flugzeugdaten grafisch dargestellt werden. Das Programm läuft nur unter Windows (getestet mit Win7). Die von mir getestete Version aus dem Jahre 2006 kann hier geladen werden.
Wenn der DUMP1090 Server läuft, wie hier im blog schon beschrieben, braucht nur die IP Adresse und die Lat und Long eingegeben zu werden. Das Signal wird dann über Port 30003 von Dump1090 an SBSplotter gesendet.
Dann ein klick auf den „Start“ Button und nun werden die Pakete eingelesen und schön dargestellt.
Man kann schon nach ein paar Minuten sehen, aus welcher Entfernung die Flugzeuge erfasst werden (1 nm = Nautisch Meile = 1852 m)
Gibt es noch ein neueres Programm das ähnlich arbeitet für den Raspberry Pi oder für den Mac?
Da ich direkt am Flughafen wohne, kann ich den Start und die Landung von Flugzeugen sehr gut beobachten. Die meisten Flugzeuge senden über transponder ihre Daten an den Tower und andere Flugzeuge. Diese Signale kann man leicht auch mit einem Raspberry Pi und etwas Hardware empfangen.
Es gibt da viele Anleitungen im Internet wie man das installieren kann. Einfach so vorgehen, wie hier beschrieben.
Hier mal die Schritte kurz zusammengefasst und um einige Anmerkungen mit Fotos ergänzt:
1 2 3 4 5 6 7 8 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install git git-core cmake libusb-1.0-0-dev build-essential git clone git://git.osmocom.org/rtl-sdr.git cd rtl-sdr/ mkdir build cd build/ cmake ../ -DINSTALL_UDEV_RULES=ON |
Oder anstatt des letzten Befehls, wenn ein WLAN Stick das Modul benötigt sudo cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
Ergebnis:
1 |
sudo make |
1 |
sudo make install |
1 2 3 4 5 6 |
sudo ldconfig cd ~ sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/ sudo reboot lsusb |
Ergebnis:
1 |
Bus 001 Device 004: ID 0ccd:008e TerraTec Electronic GmbH Cinergy HTC XS |
1 |
rtl_test -t |
ok, der USB-Stick läuft nicht und wird nicht unterstüzt.
Dann einen neuen bestellt, der liefert auch das richtige Ergebnis mit einem RTL2832U Chip (USB DVB-T & RTL-SDR Realtek RTL2832U & R820T DVB-T Tuner Receiver MCX Input):
1 |
Bus 001 Device 004: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T |
Ergebnis: Es kommt die Fehlermeldung das der USB-Stick nicht unterstützt wird:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
No supported devices found. Found 1 device(s): 0: Generic, RTL2832U, SN: 7777111117777777 Using device 0: Generic RTL2832U Kernel driver is active, or device is claimed by second instance of librtlsdr. In the first case, please either detach or blacklist the kernel module (dvb_usb_rtl28xxu), or enable automatic detaching at compile time. usb_claim_interface error -6 Failed to open rtlsdr device #0. |
Dann fix des Fehlers in dem er auf die Blacklist gesetzt wird:
1 2 3 4 5 6 7 8 |
cd /etc/modprobe.d # Datei no-rto.conf anlegen sudo nano no-rtl.conf # ergänzen um diese drei Zeilen blacklist dvb_usb_rtl28xxu blacklist rtl2832 blacklist rtl2830 sudo reboot |
Ok, dann nochmal
1 |
rtl_test -t |
Ergebnis:
1 2 3 4 5 6 7 8 |
Found 1 device(s): 0: Generic, RTL2832U, SN: 7777111117777777 Using device 0: Generic RTL2832U Found Rafael Micro R820T tuner Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 Sampling at 2048000 S/s. No E4000 tuner found, aborting. |
Super, so muss es sein. Hier noch einmal den USB-Stick mit der kleinen 15 cm Antenne:
Nun noch DUMP1090 holen und starten
1 2 3 4 5 |
cd /home/pi/ git clone git://github.com/MalcolmRobb/dump1090.git cd dump1090 make ./dump1090 --interactive |
Mit der kleine 15 cm Antenne auf der Fensterbank werden schon einige Flugdaten empfangen.
Nach ein paar Minuten werden die Flugzeugdaten wie folgt angezeigt:
Habe mal eins etwas verfolgt, um die Reichweite zu checken. Von Langenhagen bis weit über Hameln hinaus! Das ist ja schon mal ganz gut.
Nun mal weiter Infos zu dem dump1090 mit
1 |
./dump1090 --help |
abgefragt um zu erfahren, wie die Daten in metrische Daten angezeigt werden:
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
----------------------------------------------------------------------------- | dump1090 ModeS Receiver Ver : 1.10.3010.14 | ----------------------------------------------------------------------------- --device-index <index> Select RTL device (default: 0) --gain <db> Set gain (default: max gain. Use -10 for auto-gain) --enable-agc Enable the Automatic Gain Control (default: off) --freq <hz> Set frequency (default: 1090 Mhz) --ifile <filename> Read data from file (use '-' for stdin) --interactive Interactive mode refreshing data on screen --interactive-rows <num> Max number of rows in interactive mode (default: 15) --interactive-ttl <sec> Remove from list if idle for <sec> (default: 60) --interactive-rtl1090 Display flight table in RTL1090 format --raw Show only messages hex values --net Enable networking --modeac Enable decoding of SSR Modes 3/A & 3/C --net-beast TCP raw output in Beast binary format --net-only Enable just networking, no RTL device or file used --net-bind-address <ip> IP address to bind to (default: Any; Use 127.0.0.1 for private) --net-http-port <port> HTTP server port (default: 8080) --net-ri-port <port> TCP raw input listen port (default: 30001) --net-ro-port <port> TCP raw output listen port (default: 30002) --net-sbs-port <port> TCP BaseStation output listen port (default: 30003) --net-bi-port <port> TCP Beast input listen port (default: 30004) --net-bo-port <port> TCP Beast output listen port (default: 30005) --net-ro-size <size> TCP raw output minimum size (default: 0) --net-ro-rate <rate> TCP raw output memory flush rate (default: 0) --net-heartbeat <rate> TCP heartbeat rate in seconds (default: 60 sec; 0 to disable) --net-buffer <n> TCP buffer size 64Kb * (2^n) (default: n=0, 64Kb) --lat <latitude> Reference/receiver latitude for surface posn (opt) --lon <longitude> Reference/receiver longitude for surface posn (opt) --fix Enable single-bits error correction using CRC --no-fix Disable single-bits error correction using CRC --no-crc-check Disable messages with broken CRC (discouraged) --phase-enhance Enable phase enhancement --aggressive More CPU for more messages (two bits fixes, ...) --mlat display raw messages in Beast ascii mode --stats With --ifile print stats at exit. No other output --stats-every <seconds> Show and reset stats every <seconds> seconds --onlyaddr Show only ICAO addresses (testing purposes) --metric Use metric units (meters, km/h, ...) --snip <level> Strip IQ file removing samples < level --debug <flags> Debug mode (verbose), see README for details --quiet Disable output to stdout. Use for daemon applications --ppm <error> Set receiver error in parts per million (default 0) --help Show this help Debug mode flags: d = Log frames decoded with errors D = Log frames decoded with zero errors c = Log frames with bad CRC C = Log frames with good CRC p = Log frames with bad preamble n = Log network debugging info j = Log frames to frames.js, loadable by debug.html |
Ok, der Aufruf muss wie folgt geschehen damit die Geschwindigkeit (Spd) in KM/H und die Höhe (Alt) in Meter angezeigt wird:
1 |
./dump1090 --interactive --metric |
Jetzt wollen wir noch den Server Modus starten und auf einer schönen Karte im Browser anzeigen. Das geht mit dem Aufruf:
1 |
./dump1090 --interactive --metric --net --net-beast --net-ro-port 31001 |
Dann im Browser die http://raspi-ip:8080 aufrufen und es werden alle Flugzeuge die empfangen werden angezeigt. Es können die Zeilen markiert werden, um das Flugzeug zu verfolgen:
Habe mal den Dreamliner 787-8 von Düsseldorf nach Tokyo mit der Nr. ANA942 -NH942 markiert. Die Links gehen auch gleich nach Flightradar24 ua.:
Cool, da bekommt man ja wieder Lust auf fliegen…
Weitere URLs zum Thema in englisch:
http://www.flightradar24.com/software/
https://uk.flightaware.com/adsb/piaware/