Webhafen - Projekte und Bastelkram

Installation des Flightradar

Nach einigem ausprobieren und hin und her habe ich mich für meine Pi-Projekte für DietPi entschieden. Warum? Der Name Diet dürfte viel sagen. Im Prinzip geht jedes Linux-System, doch DietPi kommt mit recht wenig Ballast. Es ist schnell, ressourcenschonend und für viele kleine Einplatinencomputer erhältlich. Dennoch bringt es die wichtigsten Tools mit bzw. lässt sie schnell nachinstallieren.

Installation des Betriebssystems

Zuerst brauchen wir das Betriebssystem. Das kann man auf der Website von DietPi immer in der aktuellsten Version herunterladen. Sowohl die Auswahl der richtigen Basis sowie der dazu passenden Version ist übersichtlich. Für den Pi Zero nehme ich das ARMv6 32-bit image.

Der Download kommt in einer 7Zip-Datei. Diese muss erst entpackt werden. 7Zip gibt es für alle möglichen System und kann hier gefunden werden.

Um das Image auf die Speicherkarte zu bekommen fehlt jetzt nur noch ein Stück Software. Ich benutze dafür balenaEtcher.

Der Vorgang ist auf der Seite von DietPi sehr gut beschrieben. Ich spare mir hier der Übersichtlichkeit halber die ScreenShots. Das ist alles ist nicht kompliziert.

Unser Pi hat kein Netzwerkkabel, also müssen wir ihm jetzt noch beibringen, wie er in unser WLAN kommt. Dazu gilt es zwei Dateien zu ändern. Auf der Speicherkarte finden sich dietpi.txt und dietpi-wifi.txt.

In der dietpi.txt kann so einiges schon voreingestellt werden. Wer nicht ganz unbeholfen ist, der kann hier schnell und einfach schon Voreinstellungen für die Erstinstallation treffen. Wir suchen hier den Eintrag:

##### Network Options #####
# Enable Ethernet or WiFi adapter: 1=enable | 0=disable
# - If both Ethernet and WiFi are enabled, WiFi will take priority and Ethernet will be disabled.
# - If using WiFi, please edit dietpi-wifi.txt to pre-enter credentials.
AUTO_SETUP_NET_ETHERNET_ENABLED=1
AUTO_SETUP_NET_WIFI_ENABLED=0

Hier kann der erste Eintrag mit Ethernet von 1 auf 0 geändert werden. Der Eintrag mit Wifi muss von 0 auf 1 geändert werden.

In der dietpi-wifi.txt finden sich zwei Einträge, die geändert werden müssen. Gleich am Anfang findet sich folgender Block:

#---------------------------------------------------------------
# Entry 0
# - WiFi SSID: required, case sensitive
aWIFI_SSID[0]='xxx'
# - WiFi key: If no key/open, leave this blank
aWIFI_KEY[0]='xxx'

Hinter SSID muss als Parameter xxx durch den Namen des WLANs ersetzt werden, hinter KEY xxx durch das WLAN-Passwort. xxx habe ich hier nur zur besseren Kennzeichnung hinzu geschrieben. In der Original-Datei fehlt es.

Jetzt wird die Speicherkarte in den Pi eingelegt, der DVB-T-Stick mit dem Adapter angesteckt und der Strom kann dran. Dafür wird der Micro-USB-Anschluss mit der Beschriftung PWR IN benutzt. Im Idealfall sollte die grüne LED unregelmässig blinken bzw. leuchten.

PWR Connector an Pi

Der erste Start

Da wir keinen Monitor oder anderen Bildschirm am Pi haben, lassen wir ihn erst mal starten. Die Verbindung wird dann im Terminal per SSH hergestellt. Dafür gibt es diverse Tools. Ich verwende einfach die PowerShell, die mit Windows kommt. Doch zuerst brauchen wir die IP-Adresse, die dem Pi zugewiesen wurde. Die finden wir im Router.

Also auf in die Oberfläche des Routers. Wie das geht ist in der Anleitung des Routers beschrieben. Bei meiner FritzBox klicke ich nach dem Einloggen auf Heimnetz und dann Netzwerk. Dort sollte nun ein Eintrag zu finden sein, der in etwa so aussieht:

Fritz IP

Taucht der Pi bzw. der Eintrag DietPi hier nicht auf, dann sollte auf der Speicherkarte in der Datei dietpi-wifi.txt überprüft werden, ob die Angaben zum WLAN richtig sind. Oder ob es in dietpi.txt auch aktiviert wurde.

Wir brauchen davon die IP-Adresse, in diesem Fall die 162.168.11.43. Dazu benötigen wir noch die Login-Daten von DietPi, das ist normalerweise der User root und das Passwort dietpi.

In der Windows PowerShell gebe ich also nun folgendes ein:

ssh root@192.168.11.43

Powershell-Login

Die folgende Abfrage beantworte ich mit yes, welches genau so eingetippt werden muss. Dann wird das Passwort abgefragt. Wie schon geschrieben ist dies nach dem ersten Start immer dietpi. Bei der Eingabe wird nichts angezeigt. Der Cursor bewegt sich nicht. Bitte also nicht wundern. Danach muss ich die Lizenz von DietPi bestätigen und dann dauert es etwas. Das System sucht nach Updates. Der Pi Zero ist hier nicht der Schnellste. Hier muss man etwas Geduld haben.

DietPi Updates im Terminal

Im Prinzip heisst es jetzt warten bis der ganze Text dazu durchgerattert ist. Irgendwann ist er fertig und die nächste Abfrage kommt. Das ist hier die nach der SD card hot plug detection. Da einige Abfragen bzw. die Antworten darauf für unser Projekt nicht relevant sind, geht ich hier nicht auf alle ein. Die hot plug detection deaktiviere ich, da ich die SD-Karte während des Betriebs nicht wechsele. Das wäre auch schlecht möglich, denn das System läuft davon. Und eine weitere kommt nicht dazu.

Die Navigation bei den Abfragen geht mit den Pfeiltasten bzw. mit Tab. Bestätigt wird mit der Leertaste.

Nach der Survey-Abfrage dauert es wieder etwas und der Pi startet neu. Nun muss obiger Schritt mit dem Login per SSH wiederholt werden.

Die erste Abfrage nach dem Neustart ist recht wichtig. Hier sollte das Standard-Passwort geändert werden. Also mit OK bestätigen und 2x ein neues Passwort eingeben. Auch im nächsten Schritt, die Unix User Passwords, sollten die Passwörter geändert werden. Das hat Sicherheitsgründe. Ist der Pi abgeschottet im eigenen Netz zuhause kann das mit dem Standard-Passwort gehen, doch sobald er irgendwie von Aussen erreicht werden kann würde ich die Passwörter ändern.

Und dann landen wir nach der einen oder anderen Abfrage die für unser Projekt nicht relevant ist im DietPi-Software. Hier kann nun Software nachinstalliert werden, die in der Standard-Installation nicht dabei ist. Über DietPi-Config können einige Einstellungen geändert werden. Z.B. lässt sich die Sprache, die Tastaturbelegung (wenn eines per USB angesteckt ist) oder die Zeitzone ändern.

Flightradar installieren

Was jetzt noch fehlt ist die Software die die Transponder-Daten der Flugzeuge empfängt. Die beiden meistbenutzten sind hier dump1090 und readsb. Ich verwende letzteres von wiedehopf. Es ist nichts anderes als eine Weiterentwicklung des ursprünglichen readsb was wiederum von dump1090 abstammt. Nach einigen Tests mit dump1090 gefiel mir die Stabilität von readsb besser.

Zur Installation muss nur ein Script ausgeführt werden. Dazu geben wir an der Eingabeaufforderung der Kommandozeile folgendes ein:

sudo bash -c "$(wget -O - https://github.com/wiedehopf/adsb-scripts/raw/master/readsb-install.sh)"

Das Ganze dauert nun wieder eine Weile. Einfach abwarten bis das Script fertig ist.

Installationsscript in der PowerShell

Auf der dazugehörigen Seite bei GitHub ist noch ausführlicher erklärt, was hier noch alles eigestellt werden kann. Zum Beispiel wie die eigene Position auf der Karte markiert wird.

Anzeigen der Daten

Hat nun alles geklappt, dann kann im Browser die Karte unter der IP des Pi geöffnet werden: IP-des-PI/tar1090

tar1090 Screenshot

Was noch?

Zu guter letzt lässt sich noch einrichten, die Daten zu anderen, teils kommerziellen, Websites zu übertragen. Da wären die bekannten Flightradar24 und FlightAware zu nennen, die sogar noch Vorteile bieten wenn wir ihnen die Daten geben.

Aber auch das freie ADSB-Exchange wäre zu erwähnen, da es hier in der Webansicht keine Filter gibt und nicht, wie in den kommerziellen Seiten z.B. Militärmaschinen ausgeblendet werden.

Ich habe jeweils die Seiten verlinkt, die erklären, wie ein Feeder zu den Websites eigerichtet wird, der auf der aktuellen Installation beruht.

Statistiken, Statistiken, Statistiken

Anfangs 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://IP-des-PI/graphs1090 kann ich sie sehen. Statt IP-des-PI 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:

Graps1090 Screenshot