Flightradar – wieder mehr Reichweite

Es ist schon erstaunlich, wie sich kleine Änderungen auswirken, von denen man denkt, sie würden nicht bringen. Der Pi ist jetzt nicht mehr aufgehängt sondern einen Meter weiter unten. Der USB-Stick damit auch. Die Position der Antenne hat sich nicht geändert. Trotzdem ging die Reichweite wieder auf 86 NM hoch. Ich verstehe nicht, wie die Positionsänderung der Hardware, aber nicht der Antenne, so einen Unterschied machen kann.

Hier die aktuelle Abdeckung:

Flightradar – Wieder drinnen

Viel ist nicht passiert seit dem letzten Post im August. Als das Wetter nach Regen aussah, habe ich den Pi in einem Schnappbügelglas verpackt. Dicht war das allerdings nicht. Jetzt weiss ich, dass er 5 Millimeter Wasser aushält.

Jetzt ist er wieder drinnen. Nach dem Umzug in die Wohnung sank die Reichweite wieder auf etwa 85 NM. Dann habe ich die Position des Pi’s verändert, die Antenne aber an der gleichen Stelle gelassen. Ich habe keine Ahnung an was es lag, aber die Reichweite sank auf 62 NM. Mysteriös.

Inzwischen habe ich auch schon eine Idee, wie er Wasserdicht nach Draussen kann. Eine Abzweigdose aus dem Baumarkt hat es mir angetan. Zuerst kommt er an den richtigen Strom, da ich mir noch nicht sicher bin, wie die Solar-Versorgung aussehen wird. Vermutlich wird es etwas größer und ein LifePo-Akku wird als Zwischenspeicher dazukommen. Der kann dann auch gleich Strom in die Wohnung liefern um z.B. USB-Geräte zu laden oder kleinere Elektrogeräte zu betreiben.

Flightradar – Draussen mehr Reichweite

Über die Stromversorgung muss ich mir ein anderes mal Gedanken machen. Wegen dem guten Wetter habe ich den Pi mal auf die Dachterrasse an die Aussensteckdose verfrachtet und die Antenne auf die Brüstung gestellt. Sofort hatte ich mehr Flugzeuge im Empfang und die Reichweite ist noch ein mal 15 NM auf 115 NM gestiegen.

Der nächste Schritt ist jetzt erst ein mal eine Wasserfeste Box. Damit kann er dauerhaft draussen bleiben. Die Antenne kommt dann auf das Dach.

Flightradar – Antennentests

Wie mache ich mehr Reichweite? Mit einer besseren Antenne. Ich habe zusätzlich zur mit dem DVB-T-Stick gelieferten Antenne zwei weitere Varianten ausprobiert. Dafür musste ich natürlich erst ein mal Traffic haben. In den letzten Wochen nach dem großen Corona-Einbruch ging das dann aber ganz gut.

Mit der normalen Antenne hatte ich eine Reichweite von etwas mehr als 60 NM. Ich glaube, es waren 62,9 NM.

Die Ausrichtung war da recht Einseitig nach Norden.

Dann habe ich mit eine neue Antenne gegönnt. Diese sollte speziell auf den Bereich mit 1090 MHz abgestimmt sein. Wenn auch über Amazon kam sie doch aus China. Etwa vier Wochen dauerte es. Sie ist länger als die Alte und hat im unteren Bereich einen gewendelte Form.

Zuerst lieferte sie fast keine Daten. Der Empfang ging massiv runter. Zuerst dachte ich an einen Defekt. Doch nach mehrmaligem entfernen und neu aufschrauben auf die Halterung hatte ich plötzlich Empfang. Und zwar deutlich.

Von rund 150 erfassten Flugzeugen pro Tag waren es nun täglich über 300. die Reichweite stieg auf 89,5 NM. Also etwa 165 km. Auch die Abdeckung in den Himmelsrichtungen wurde größer.

Die 384,5 NM, die hier angezeigt werden, müssen ein Anzeigefehler sein. Reproduzierbar waren sie nicht.

Muss man nun die 10 Euro für die Antenne ausgeben? Nein. Denn ich fand Tipps, die mit dem DVB-T-Stick gelieferte Antenne zu kürzen. Sie sollte auf 67 mm gekürzt werden. Da ich nun eine bessere Antenne hatte, legte ich es auf einen Versuch an. Ich nahm eine Zange und kürzte. Was soll ich sagen. Die Reichweite stieg von 62 NM auf 88,5 NM. Nur eine nautische Meile weniger, als mit der gekauften Antenne. Der Kauf ist hier also unnötig.

Wie zu sehen ist, nehmen sich Reichweite und Abdeckung nicht viel. In allen Varianten fehlt ein Stück nach Osten. Das liegt an der Antennenposition.

Dann habe ich noch kurz mit die Versorgung mit einer Powerbank ausprobiert. Es lag noch eine alte von Anker hier herum. Ich habe den Ausgang gemessen und bekam 0,63 mAh. Das sollte eigentlich für die 0,43 des Raspberry ausreichen. Tat es aber nicht.

Im rot markierten Bereich war der Raspberry an der Powerbank. Der Empfang ging deutlich runter. Nach dem Wechsel zurück auf den Netzadapter am 23.06. ging es sofort wieder hoch. Da muss ich noch mit anderen probieren.

Bevor das Ganze jetzt autonom wird, werde ich noch weiter an ein paar Bastelantennen rumprobieren und auch weiter mit Powerbanks testen, wie sich der Empfang entwickelt.

Flightradar – ADS-B Exchange und mehr Statistik

Bisher habe ich die bekannten Seiten wie Flightradar24 und Flightaware gefüttert. Mir ist bewusst, dass sie meine Daten kommerziell nutzen und auch filtern. So werden bestimmte Flugzeuge auf Wunsch des Betreibers auf deren Seiten nicht angezeigt.

Anders geht da ADS-B Exchange heran. Hier werden die Daten ungefiltert angezeigt. Und jeder, der Daten beisteuert hat auch Zugriff auf die Daten der anderen. Der Feed zu ADS-B Exchange ist schnell eingerichtet.

sudo bash -c "$(wget -nv -O - https://raw.githubusercontent.com/adsbxchange/adsb-exchange/master/install.sh)"

lädt von Github die benötigten Daten auf den Raspberry und startet auch gleich die Einrichtung.

Mit

cd /home/pi
git clone https://github.com/adsbxchange/adsbexchange-stats.git
cd adsbexchange-stats
chmod +x install.sh
sudo ./install.sh

wird noch ein Statistik-Package installiert. Damit werden nicht nur meine Daten geliefert, damit kann ich auch die Statistiken dazu sehen. Und mehr Daten zu den Flügen, die ich gerade tracke.

Andere Karte

Wie mache ich meine Karte mit der Reichweite und der Abdeckung? Für die normale Karte, die ich mit dump1090 erhalte gibt es eine OpenLayers3-Version, welche die alte Kartendarstellung ersetzt.

Dafür wechsele ich auf dem Pi in das Verzeichnis, in dem die HTML-Dateien liegen und lade mir die neue Version herunter.

cd /usr/share/dump1090-fa/
sudo mv html html_old
sudo git clone https://github.com/alkissack/Dump1090-OpenLayers3-html.git
sudo mv Dump1090-OpenLayers3-html html

graphs1090

Auch bisher habe ich auf die Statistiken von Flightaware zurückgegriffen. Auch dafür gibt es lokale Alternativen.

Erfasste Flugzeuge, Reichweite, Signalstärke und so weiter zeigt graphs1090 an. Installiert wird es mit

sudo bash -c "$(wget -q -O - https://raw.githubusercontent.com/wiedehopf/graphs1090/master/install.sh)"

Und mit http://raspberryip/graphs1090 kann ich sie sehen. Statt raspberryip müsst Ihr Eure IP einsetzen. Mein Pi hat danach mehrfach neu gebootet. Ich weiss nicht warum, aber nach einiger Zeit funktionierte es und er lief weiter.

Hier ein Screenshot kurz nach der Installation

Doch das hielt nich lange und der Pi startete regelmässig neu. Der Tipp, die SD-Karte könnte defekt sein, half nicht. Mit einer neuen SD-Karte lief es auch nicht besser.

Auch der Tipp, die Stromversorgung wäre nicht genug (hier 2.1A 10W) half nicht, denn mit 3A aus einem Netzteil, welches mit einem Pi3B kam, lief es auch nicht. Also benutze ich graphs1090 nicht.

Flightradar – Strom sparen + Reichweitenupdate

Ich habe mir ein USB-Multimeter* gegönnt, um den Stromverbrauch zu messen. Eine Google-Anfrage zeigt mir, dass der Zero 0,1 bis 0,14 Ampere verbraucht. Das Multimeter zeit mit angeschlossenem DVB-T-Stick 0,43 bis 0,46 Ampere an.

Ziehe ich den Stick ab, bin ich bei 0,12 Ampere. Stecke ich in wider dran, erst mal bei 0,24 Ampere, was nach kurzer Zeit wieder auf die 0,4x Ampere steigt. Wie bringen wird den Raspberry also dazu, weniger Strom zu verbrauchen?

Zuerst stellen wir mal alles ab, was wir nicht brauchen. Mit

sudo tvservice -o

schalten wir den HDMI-Ausgang aus. Der wird nun wirklich nicht gebraucht. Damit sind wir bei 0,4 bis 0,44 Ampere. Ein Tick weniger. Wie das dauerhaft geht, steht hier.

Weiterhin schalte ich die LEDs aus. Dazu wird die Datei /boot/config.txt berbeitet bzw. ergänzt:

# Disable the ACT LED.
dtparam=act_led_trigger=none
dtparam=act_led_activelow=off

# Disable the PWR LED.
dtparam=pwr_led_trigger=none
dtparam=pwr_led_activelow=off

Bluetooth brauchen wir ebenfalls nicht:

# Disable Bluetooth
dtoverlay=pi3-disable-bt

Viel hat es allerdings nicht gebracht. Wir bleiben weiterhin bei 0,4 bis 0,43 Ampere. Der Stromfresser ist also der DVB-T-Stick. Da lässt sich dann nicht so viel machen.

Zur Sicherheit sollte ich mit einem Wert von 0,5 Ampere kalkulieren.

Also, so das Messgerät, muss ich in einer Stunde mit einer Entnahme von 500 mAh aus einem Akku rechnen. Ein 10.000 mAh Akku dürfte demnach etwa 20 Stunden halten. Über Nacht reicht das, vorausgesetzt, dass tagsüber per Solar genug Strom nachkommt.

Mit einer Solar-Ladematte, gibt es z.B. von Anker*, dürfte der Akku unter Idealbedingungen nach etwas unter 5 Stunden wieder voll sein. Jetzt haben wir keine Idealbedingungen. Im Prinzip sollte es aber reichen.

Und jetzt noch die Reichweite. Mit – immer noch – der Zimmerantenne komme ich auf knapp über 60 NM. Also etwa 112 Kilometer. Irgend etwas muss da in Richtung Süden von West nach Ost blocken, denn nach Norden, obwohl in Richtung Nord-Ost ein Wand im Weg ist, komme ich deutlich weiter.

Flightradar – MLAT bei Radarbox + Reichweite

Im Software-Artikel habe ich vergessen, MLAT bei Radarbox24 zu aktivieren. Das geht mit:

sudo apt-get update
sudo apt-get install mlat-client -y
sudo reboot

Leider gab die zweite Zeile bei mir eine Fehlermeldung. Die Lösung: den Client selbst zu kompilieren. Das habe ich noch nie gemacht, aber ich habe eine Anleitung dazu gefunden:

## Installed required packages (dependencies and build tools)
sudo apt update -y
sudo apt-get install -y git curl build-essential debhelper python-dev python3-dev

## Downloaded source code
cd /home/pi/
git clone https://github.com/mutability/mlat-client.git

## Built mlat-client's installation package
cd /home/pi/mlat-client
sudo dpkg-buildpackage -b -uc

## Above command took some time to build package
## After the package was built, installed it by following command
cd /home/pi/
sudo dpkg -i mlat-client_*.deb

Damit funktionierte es dann.

Mit der normalen Zimmerantenne des DVB-T-Sticks habe ich bis zu 57 NM Reichweite. Die Antenne ist innen am Fenster angebracht.

Zur Zeit warte ich auf einen USB Multimeter um den Stromverbrauch des Pi Zero zu messen. Damit kann ich dann die Akku- und Solargröße berechnen.

Zur Reichweite habe ich zusätzlich vor, selbstgebastelte Antennen auszuprobieren. Aber das ist eher ein langfristiges Projekt.

Flightradar – Software

Für das Tracken der ADS-B-Daten gibt es diverse Seiten und Anbieter. Jeder hat seine eigene Software dafür. Die einzelnen Anbieter habe ich schon im ersten Artikel aufgelistet:

Jetzt müssen sie alle unter einen Hut gebracht werden. Ich hatte schon ein mal versucht, alle auf einem Raspberry zum Laufen zu bringen und es war einiges an Fummelarbeit. Dieses mal soll es einfacher sein.

Nach einiger Recherche habe ich mich entschlossen, folgende Version zu probieren:

  1. Installation von Piaware – dies enthält das Raspbian Lite OS, dump1090-fa und den Piaware Feeder
  2. Einrichten des WLAN am Pi bevor er startet, damit er kein Display braucht und per SSH erreichbar ist.
  3. Feeder-Installation von Flightradar24
  4. Feeder-Installation von Radarbox24

Im folgenden nun die einzelnen Schritte mit genauer Anleitung – und vielleicht Problemen – wie ich sie durchgeführt habe.

Installation von Piaware

Zuerst lade ich mir von Flightaware das aktuelle Piaware-Image (Stand hier 3.8.0) herunter. Um es auf die Speicherkarte für den Raspberry zu bekommen, benötige ich einen SD-Card-Writer wie z.B. von etcher.io. Diesen gibt es für Windows, Mac und Linux.

Als nächstes öffne ich die Datei piaware-config.txt auf der Speicherkarte mit einem Texteditor. Diese sieht in etwa so aus:

#
# This file configures the Piaware sdcard image
# configuration. Whenever the system boots, this
# file is read and its contents are used to
# configure the system.
#
# Lines beginning with a '#' are comment lines
# and are ignored. Blank lines are also ignored.
# All other lines specify configuration settings.
#

#
# WIRED NETWORK CONFIGURATION
#
# Should piaware use the wired ethernet port
# for network access?
wired-network yes

# Wired network configuration:
# Most networks will use DHCP
wired-type dhcp

# Alternatively, a static address configuration
# can be provided; set "wired-type" to static to use this.
wired-address 192.168.1.10
wired-netmask 255.255.255.0
wired-broadcast 192.168.1.255
wired-gateway 192.168.1.254
wired-nameservers 8.8.8.8 8.8.4.4

#
# WIRELESS NETWORK CONFIGURATION
#

# Should piaware use a wifi adaptor
# for network access? You will need to attach
# a supported USB wifi adaptor for this to work.

# change this to "yes" to enable wifi
wireless-network yes

# Wifi SSID and password.
# This should be changed to match your wireless
# network SSID and, for networks that require
# a passphrase, the passphrase.
wireless-ssid MyWifiNetwork <-----replace MyWifiNetwork with the name of your WiFi (aka the SSID of your local network)
wireless-password s3cr3t <-----replace s3cr3t with the password to your WiFi

# Wifi network configuration:
# Most networks will use DHCP
wireless-type dhcp

# Alternatively, a static address configuration
# can be provided; set "wireless-type" to static to use this.
wireless-address 192.168.1.10
wireless-netmask 255.255.255.0
wireless-broadcast 192.168.1.255
wireless-gateway 192.168.1.254
wireless-nameservers 8.8.8.8 8.8.4.4

Dort befindet sich der rot markierte Bereich, den es zu überarbeiten gilt. Es muss der Name und das Passwort des WLANs eingetragen werden. Ich hatte hier das Problem, dass der Pi Zero W nicht mit einem 5 GHz WLAN funktioniert. Doch das war schnell gelöst und ich habe die SSID des 2,4 GHz WLAN angegeben.

Jetzt muss ich noch SSH aktivieren, damit ich auf den Pi zugreifen kann. Dazu lege ich im Ordner /boot eine Textdatei an und nenne sie „ssh“ ohne Dateiendung.

Danach speichern und die SD-Karte auswerfen.

Starten des Raspberry Pi

Die SD-Karte kommt nun in den Pi. Auch der DVB-T-Stick mit Antenne kommt ran. Jetzt noch Strom drauf und Raspbian sollte booten. Das kann gerne mal fünf Minuten dauern.

Um auf den Pi zuzugreifen, z.B. um zu testen, dass er läuft und im Netz ist, muss ich die IP-Adresse herausfinden. Manche können einfach in der Konfiguration des WLAN-Routers nachsehen. So mache ich das. Bei meiner Fritzbox sieht das dann so aus:

Da ich MacOS benutze brauche ich keinen Extra-Client, wie z.B. Putty unter Windows. Ich öffne einfach das Terminal und gebe ein:

ssh pi@192.168.11.25 <- durch die IP des Pi ersetzen

Das Passwort sollte in der Standardinstallation „flightaware“ sein. Für diesen Anwendungszweck muss es nicht zwingend geändert werden. Es ist aber auch einfach änderbar. Auf der Kommandozeile

passwd

eingeben, dann das alte und ein neues vergeben und fertig.

Mit

piaware-status

kann ich jetzt testen, ob mein Feeder arbeitet. Das sollte dann so aussehen:

Dabei sollte aber bei „piaware is connected to FlightAware“ ein Fehler auftauchen. Das ist er nämlich noch nicht. Dazu muss eine Website von Flightaware aufgerufen werden und der Feeder muss für sich beansprucht werden.

Am einfachsten ist es über den Befehl

ifconfig

die eigene IP herauszufinden und im Browser einzugeben. Das sieht dann so aus:

Wo hier der Link zu den Statistiken ist, kann der Pi mit dem FlightAware-Account verbunden werden. Habt Ihr das gemacht, erhaltet Ihr automatisch bei FlightAware den Enterprise-User-Status.

Und über den „Go to 1090 SkyAware Map“-Button kommt Ihr auf eine Karte vom WebServer des Pi. Viele Flugzeuge zeigt der gerade wegen Corona hier aber nicht an.

Damit wäre der erste Teil fertig.

Feeder-Installation zu Flightradar24

Jetzt sollen die Daten auch noch an FlightRadar24. Dazu installieren wir den FR24-Feeder über das Terminal mit

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

Dabei erhielt ich eine Fehlermeldung:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 

Das tat ich auch, und es dauerte eine Weile. Dann noch mal den Befehl zur Installation des Feeders und es geht weiter. Nach der Installation geht es automatisch weiter mit der Konfiguration:

  1. E-Mail-Adresse
  2. Dann Euer Sharing-Key, wenn Ihr schon einen habt. Ansonsten frei lassen.
  3. MLAT – Ja, oder Nein. Ich nehme immer Ja.
  4. Koordinaten der Antenne, erst der Breitengrad. Den findet Ihr z.B. wenn Ihr auf Google Maps an Eurer Position mit rechts klickt und „Was ist hier“ auswählt.
  5. Dann der Längengrad.
  6. Die Höhe Eurer Antenne in Fuß über Meeresspiegel. Sowas findet man z.B. hier heraus. Die Höhenangabe dort noch *3,28084.
  7. Der FR24-Feeder erkennt die dump1090-Installation von PiAware und fragt, ob es sie nutzen soll: unbedingt YES
  8. Logfile-Einstellung, kann jeder selbst entscheiden.

Dann muss der FR24-Feeder mit

sudo systemctl restart fr24feed

neu gestartet werden.

Mit

fr24feed-status

kann überprüft werden, ob alles läuft. Bei mir natürlich nicht. Ich erhielt einen Fehler:

[FAIL] FR24 Link: connecting ... failed!

Ohne etwas zu ändern lief es dann plötzlich. Auf https://www.flightradar24.com/account/data-sharing kann das überprüft werden.

Feeder-Installation zu Radarbox24

Jetzt muss noch der Radarbox-Feeder installiert werden:

sudo bash -c "$(wget -O - http://apt.rb24.com/inst_rbfeeder.sh)"

Bei der Frage

Do you wish to install dump978-rb program?

habe ich NO genommen.

Dann

sudo systemctl restart rbfeeder

um den Feeder neu zu starten und mit

sudo rbfeeder --showkey

den Sharing Key anzeigen lassen.

Der Sharing Key muss dann bei Radarbox unter https://www.radarbox.com/raspberry-pi/claim eingegeben werden. Dann fragt Radarbox ebenfalls den Standort und die Höhe ab. Fertig.

Damit läuft dann schon mal die Software. Als nächstes muss der Pi von einer Batterie laufen und diese mit Solarstrom versorgt werden.

Flightradar – Das erste Problem

Gerne hätte ich schon von der Softwareinstallation berichtet. Der Artikel ist auch in Arbeit, aber es ist ein kleines Stecker-Problem dazwischen gekommen.

Da der Pi Zero nur zwei Micro-USB-Stecker hat und diese recht eng zusammen sind, habe ich das Problem, dass mein Adapter von Micro-USB auf USB-A zu breit ist. Der Adapter ist nötig, damit der DVB-T-Empfänger mit seinem normalen USB-A an Micro-USB passt.

Damit passt das Kabel mit der Stromversorgung nicht mehr. Also heisst es nun warten. Ein Adapterkabel ist bestellt. Damit passt es dann auch mit den Abständen.

Wenn der dann da ist, kann ich auch von der Softwareinstallation berichten.

Flightradar autonom – Die Idee

Vor einiger Zeit setzten wir einen PiHole mit einem Raspberry Pi 3 auf. Wie das funktioniert und was es macht, soll ein anderes Mal erklärt werden. Praktisch nebenbei probierte ich, mit einem DVB-T-Stick noch einen ADS-B Empfänger zu bauen. Beides auf einem Pi funktionierte bestens und mit weniger Performanceeinschränkungen als gedacht. In der Wohnung kann ich den nur mit einer Zimmerantenne betreiben, was immerhin eine Reichweite von etwa 80 NM (circa 150 km) ergibt.

Dabei wurde die Idee geboren, das Ganze doch autonom auf der Dachterrasse zu platzieren. Der Pi soll mit Solarstrom und einer besseren Antenne wetterfest untergebracht werden. Da ein Pi 3 oder ähnliches mehr als genug Leistung dafür hat, soll ein Pi Zero verwendet werden. Soweit die Theorie.

Was dafür schon im Haus vorhanden ist:

Was noch benötigt wird:

  • Powerbank zur Zwischenspeicherung von Strom
  • Solarzelle
  • ADS-B-Antenne
  • Wasserdichtes Gehäuse

Die Herausforderung wird sein, möglichst wenig Strom zu verbrauchen und genug zu generieren.

Der erste Schritt

Als erstes wird der Pi Zero mit Software versorgt. Dazu muss er nicht autonom sein und er wird erst einmal am Micro-USB-Kabel mit Netzteil oder am USB-Port betrieben.

Die Voraussetzung ist, dass er mehrere Dienste beliefert. Wir hätten die Daten gerne bei

Der große Vorteil ist, bei allen Diensten erhält man als Datenlieferant kostenlose Business-Accounts, die deutlich mehr Daten zurückliefern, als die üblichen Gratis-Accounts.

Zusätzlich soll der Pi ein Webinterface zur Verfügung stellen, welches im lokalen Netz eine Karte mit den Flugbewegungen anzeigt.

Die Kommunikation erfolgt über WLAN, da er ja auf der Terrasse stehen soll. Das braucht zwar etwas Strom, es muss aber kein Netzwerkkabel verlegt und kein Loch durch die Wand gebohrt werden.

Der zweite Schritt

Funktioniert die Software zur Zufriedenheit, wird die Reichweite mit einer besseren Antenne erhöht. Ich hätte da gerne etwas ab 200+ NM. Der Top-Wert in Deutschland laut Radarbox24 heute war 414 NM.

Danach muss ich sehen, wie viel Strom das Ganze verbraucht. Die Powerbank, welche zur Zwischenspeicherung dient, sollte den Verbrauch über Nacht decken und tagsüber laden. Ideal wäre eine Versorgung über mehrere Tage. Passt das nicht, muss eben eine richtige Batterie dran. Gespannt bin ich hier auch auf die Leistung bei verschiedenen Temperaturen.

Am Ende soll ein sich selbst mit Strom versorgender ADS-B-Empfänger auf der Dachterrasse stehen, der Sommer wie Winter läuft.