Posts Tagged ‘ADS-B’

Montag, 30. Mai 2022

Umstieg von dump1090 auf tar1090: Wo ist das Flugzeug-JSON?

Vor einigen Monaten habe ich meinen FlightRadar24 Raspberry Pi softwaretechnisch so umgebaut, dass er seine Daten auch mit ADS-B Exchange teilt. Hierzu wurde dump1090 mit tar1090 ersetzt.

Mit Cacti zeichne ich die Anzahl Messages pro Minute sowie die aktuell getrackten Flugzeuge auf. Leider funktionierte nach der Umstellung die Abfrage der JSON-Datei nicht mehr, welche bis anhin unter http://1.2.3.4/dump1090/data/aircraft.json abgerufen werden konnte.

Nach etwas Recherche dann die Erlösung: Die URL lautet neu nun http://1.2.3.4/tar1090/data/aircraft.json. Das Python-Script schwupp-di-wupp angepasst, und nun zeichnet Cacti wieder einen wunderschönen Graphen:

image-11490

Tags: , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 22. März 2022

Energiewende: It’s simple Math: Mein persönlicher Lackmustest

Ich bin nicht nur nicht vor Rechenfehlern gefeit, sondern vielleicht mache ich auch Überlegungsfehler. Bitte benutzt die Kommentarfunktion, um mich auf Probleme hinzuweisen.

Ich habe grundsätzlich nichts gegen die Energiewende, doch muss allen Betroffenen klarer Wein über die Vor- und Nachteile eingeschenkt werden. Die Grenzen der Technologien müssen aufgezeigt werden, und Zukunftsprognosen sowie Wunschdenken (Prinzip Hoffnung) müssen klar getrennt werden von dem, was heute machbar ist.

Und ich behaupte hier, dass Energiewendler allzuoft die Realität schönreden, und ich unterstelle ihnen, dass sie das (mehrheitlich) bewusst tun — das heisst sie lügen.

Mein Anwendungszweck

Wieso ich den Apologeten der Energiewende bis heute nicht traue? Ich habe meinen eigenen, persönlichen Lackmustest, der mir die (heutigen) Grenze erneuerbarer Energie (fast) tagtäglich aufzeigt. Ja, es ist ein n=1 Erfahrungswert, aber für mich reicht dieser aus, um hier zu polemisieren.

Mein Setup: Ich betreibe einen Raspberry Pi (RPi) 3B, um ADS-B Signale einzufangen. Hierzu habe ich Pi24 heruntergeladen und auf die SD-Card installiert, sowie einen RTL-SDR USB-Receiver gekauft, an welchem eine empfangsstarke ADS-B Antenne hängt.

Die Antenne muss im Freien stehen, um die Signale aus möglichst allen Himmelsrichtungen empfangen zu können. Deshalb ist sie bei uns auf unserer Terrasse platziert. Den RPi möchte ich in der Nähe, sprich ein paar Meter von der Antenne entfernt, betreiben. Die Kommunikation mit dem Internet erfolgt per WLAN. Explizit möchte ich weder Strom- noch Antennenkabel in die Wohnung ziehen (Stichwort: Kältebrücke).

Der Stromverbrauch

Der RPi benötigt ungefähr 5 bis 5.5 Watt (USB, d.h. ca. 5V mit ca. 1A). Ein lächerlich geringer Stromverbrauch, könnte man meinen (ein Zwölftel der Leistung einer 60W Glühbirne aus meiner Jugend). Aber das alleine scheint es schon in sich zu haben.

Um den RPi einen Tag lang zu betreiben, benötige ich somit 5 × 24 = 120 Watt-Stunden (Wh).

Mein grünes Vorhaben

Seit Jahren träume ich davon, den RPi rund um die Uhr autonom, d.h. ohne Anschluss an das Stromnetz, zu betreiben. Die Lösung dazu liegt auf der Hand: Ein Solarpanel lädt eine Batterie, an deren USB-Anschluss hängt der RPi. Den Tag hindurch lädt die Batterie auf, in der Nacht gibt sie ihre erneuerbar generierte Stromladung ab.

Meine grüne (?) Ausrüstung

Mittlerweile bin ich dafür bei folgender Ausrüstung angekommen:

Nebenbemerkung: Man sieht es dem Titel an — wie „grün“ dieser Fuhrpark hergestellt wurde, lasse ich mal in den Raum gestellt. Sowohl das Panel als auch die Batterie wurden in China hergestellt, und danach vermutlich mit einem dieselbetriebenen Containerfrachter (Euro 0 Norm?) um die halbe Welt geschippt. Auch die lockeren Umweltvorschriften in China muss man sich hier in Erinnerung rufen. Panel und Batterieproduktion führen meines Wissens zu toxischen, umweltschädlichen Nebenprodukten. Die CO2-Bilanz dieser Produkte ist höchstwahrscheinlich fürchterlich, wie auch die lokale Umweltverschmutzungsbilanz.

Kosten-Nutzen

Insgesamt habe ich also fast 400 CHF ausgegeben, um ein Gerät rund um die Uhr mit ca. 5 Watt zu versorgen. Das sind im Jahr 5 × 8760 = 43800 Wh oder 43.8 kWh. Bei unserem Stromanbieter kostet die „dreckigste“ Kilowattstunde 22.40 Rappen (Quelle), das heisst der Stromkabelbetrieb der Installation würde mich 9.80 CHF/Jahr kosten. Damit ich mit der Solaranlage gemäss heutigen Zahlen den „break even“ erreichen würde, müsste ich diese 40.8 Jahre lang betreiben. Wetten, dass weder das Panel noch die Batterie so lange halten werden?

Unter uns: Irr. Aber die Spielerei macht es dennoch interessant.

Soviel zur reinen Kosten-Nutzen-Berechnung.

Technische Machbarkeit

Aber: Funktioniert die Lösung nun aber auch wirklich so, wie ich es mir vorstelle?

Vereinfachen wir die Situation zuerst ein wenig, damit sie einfacher fassbar wird: Wenn wir davon ausgehen würden, dass die Sonne 12 Stunden am Tag scheint, und ich mit dem Panel zu jeder Sekunde die angegebene Maximalleistung rausquetschen kann, dann reicht ein 5W Solarpanel nicht. Denn damit ist nur gerade der aktuelle Verbrauch gedeckt. Ich benötige also mindestens ein 10W Panel, welches während 12 Sonnenscheinstunden 5W an den RPi abgibt, und gleichzeitig die restlichen 5W in eine Batterie speichert. Wenn die Sonne während den restlichen 12 Stunden nicht mehr scheint, entleert sich die Batterie komplett.

Leider strotzt das Szenario vor einigen Denkfehlern: Wir müssen uns bewusst sein, dass Solarenergie (in unseren Breitengraden) vereinfacht gesagt zwei Gaussschen Glockenkurven folgt. Einerseits in der Mikro-Sicht, das heisst dem Tagesablauf. Mit einer Spitze beim höchsten Sonnenstand, vereinfacht gesagt um 12 Uhr mittags. Andererseits in der Makro-Sicht, das heisst im Jahresverlauf. Mit einer ähnlichen Spitze im Sommer.

Weatherspark hat für Orte eine Sektion „Solar Energy“, wo aufgezeigt wird, wie stark der Sonneneinfall pro Quadratmeter über das Jahr hindurch variiert (die Makro-Sicht).

Nebenbemerkung: Für Laupen (Neuenegg ist nicht auswählbar) beträgt der Unterschied zwischen dem tiefsten und höchsten Punkt fast Faktor 6. Ich deute das so, dass ich mein Panel mit der Zielleistung um diesen Faktor multiplizieren muss, um auch im Winter ausreichend Strom zu produzieren.

Weiter: Das Panel liefert am höchsten Sonnenstand und in perfekter Position vielleicht die gewünschten 10 Watt, aber eben nur gerade dann. Die Sonne scheint hier in Neuenegg nicht das ganze Jahr hindurch 12 Stunden pro Tag. Und ja, allzuoft haben wir keinen blauen, wolkenlosen Himmel, was die Leistung des Panels zusätzlich schmälert. Zudem hat mir ein Bekannter kürzlich mitgeteilt, dass es ein Irrglaube sei, dass die Panels im Sommer die höchste Leistung bringen — denn die Leistung von Solarpanels wird durch die Sommerhitze geschmälert. Wieder etwas gelernt.

Ich benötige also ein deutlich grösseres Panel, und eine deutlich grössere Batterie als eine mit 5 × 12 = 60 Wh.

Zu prüfende Hypothese

Ich habe derzeit kein Vertrauen, dass selbst die 400 CHF-Anlage im Winter mit den kurzen, nicht immer sonnigen Tagen durchgehend Strom liefern wird: Im Winter 2021/22 (Dezember bis und mit Februar) registrierte Bern 300 Sonnenstunden auf insgesamt 90 × 24 = 2160 Stunden (Quelle). Das heisst ich kann nur während 14 Prozent der Zeit mit Sonne rechnen, und in dieser Zeit muss die Batterie so weit wie möglich gefüllt werden.

Und selbst im Sommer befürchte ich reichen auch ein, zwei sonnenarme Tage, um meinen RPi wieder zurück an die Steckdose zu bringen.

Der Erfahrungsbericht folgt über das restliche Jahr verteilt.

Was hat das mit der Energiewende zu tun?

Das Problem im Kleinen lässt sich auf das Problem im Grossen übertragen: Wir können noch so viel Photovoltaik auf unsere Dächer pappen — in der Nacht und im Winter brauchen wir eine Energiequelle, die unabhängig von der Sonne Strom liefert. Sprich entweder Kraftwerke (mein Favorit: Kernkraftwerke), die egal ob Sonne oder Dunkelheit, egal ob bei Sturm oder Windstille, zuverlässig Strom liefern. Oder aber wir haben nicht nur irgendwo gigantische Batterien rumstehen, sondern sie müssen auch gefüllt sein, damit wir sie anzapfen und unseren Stromengpass überbrücken können. Korrekt: Staumauern! Im Sommer nutzen wir Solarenergie, um das Wasser hochzupumpen, im Winter verbrauchen wir das Wasser dann, indem wir es ins Tal fliessen lassen, Generatoren antreiben und den damit produzierten Strom in das Stromnetz einspeisen. Für die Überbrückung der Nacht ist das aber nicht praktikabel, oder?

Wenn ich doch auch nur das Äquivalent einer Staumauer auf meiner Terrasse installieren könnte …

Tags: , , , , , , , , , ,
Labels: Energie, Politik

3 Kommentare | neuen Kommentar verfassen

Sonntag, 25. Februar 2018

Mit einem Raspberry Pi, DVB-T-Stick und Flightradar 24 einen Hobby-ADS-B Empfänger aufbauen

Vor einigen Tagen wurde mein DVB-T-Empfänger und die ADS-B Antenne von jetvision.de geliefert.

Damit konnte ich einen alten, nicht mehr genutzten Raspberry Pi 1, Model B, zu einem Hobby-Empfänger für Flugzeugsignale (sog. ADS-B) umbauen.

Flightradar24 bietet dafür ein Raspberry Pi-Image an, mit welchem man den Radar in ein paar Minuten online hat — im Gegenzug erhält man als Dank kostenlos ein Business-Abonnement der Web-Site im Wert von mehreren hundert Dollar im Jahr.

Der Name meiner Antenne lautet T-LSZB123 (die Statistiken kann man sich nur ansehen, wenn man auf Flightradar24 registriert ist).

Aufstellen der Antenne

Flightradar24 hat eine Anleitung ins Internet gestellt, die den Hobby-Empfängern bildlich aufzeigt, wie man die Antenne installiert, um einen maximalen Empfang hinzukriegen.

Am Besten wäre die Installation auf dem Hausdach — als Mieter bleibt einem das selbstverständlich verwehrt. Auch muss man sich dann bezüglich Blitzeinschlag Gedanken machen und das Antennensignal mit einem Kabel irgendwo in die Wohnung verlegen.

In meinem Fall muss für die Platzierung der Antenne (leider) die äussere Fensterbank hinhalten — aber allemal besser, als den Empfänger mitsamt Antenne in der Wohnung zu platzieren. Die Alternative wäre gewesen, das gesamte Setup auf dem Balkon zu betreiben, was aber eine solar- und batteriebasierte Stromversorgung verlangt hätte. Das hätte aber grosse Kosten und noch einiges an Bastelaufwand verursacht.

Zum Glück realisierte ich bald einmal, dass man das Antennenkabel durch den Fensterrahmen legen und das Fenster schliessen kann, ohne das Kabel zu beschädigen (hoffe ich jedenfalls):

image-7702

image-7703

image-7704

Reichweite der Antenne

Beim Betrieb des o.g. Sets aus DVB-T-Dongle mitsamt mickriger Antenne in der Wohnung (am grossen Fenster zum Balkon) konnte die Software Signale von Flugzeugen in der Distanz von 20 Nautischen Meilen empfangen.

Nachdem ich den Empfänger probehalber auf dem Balkontisch platziert hatte, stieg die Reichweite auf 40 Nautische Meilen an.

Nach der Festinstallation auf dem äusseren Fensterbank und 48 Stunden Dauerbetrieb konnte ich die Reichweite in einigen wenigen Fällen auf 56 Nautische Meilen erhöhen (103.71 Kilometer).

image-7702

Bessere Antennen

Bei jetvision.de könnte man sich leistungsfähigere Antennen kaufen. Mein Favorit wäre die „A3 ADS-B“ Antenna (1090 MHz) für 77.95 EUR. Doch momentan zögere ich mich mit der Aufrüstung noch, da ich diese Antenne weiterhin auf dem äusseren Fensterbank montieren müsste.

Auf Amazon und AliExpress finden sich auch 1090 MHz-Antennen, teils deutlich günstiger, aber über deren Qualität kann ich nichts aussagen.

Web-Interfaces

Sobald der Raspberry Pi aufgesetzt und der Radar bei Flightradar24 registriert ist, kann man auf das lokale Web-Interface der Lösung zugreifen. Es ist unter folgender URL erreichbar:

http://%IP%:8754

image-7706

Folgende zwei Unterseiten sind nützlich:

  • http://%IP%:8754/settings.html Hier kann man Einstellungen vornehmen. Bei mir scheinen diese aber nicht übernommen worden zu sein (ist evtl. ein Neustart des Servers nötig? Ein Neustart der Software über das Web-Interface hat keinen Effekt gezeigt)
  • http://%IP%:8754/tracked.html Die Liste der aktuell empfangenen Signale von Flugzeugen

Weiter gibt es noch ein, zwei technische Interfaces, die Messdaten in strukturierter Form ausgeben:

  • http://%IP%/dump1090/data/aircraft.json
  • http://%IP%/dump1090/data/stats.json
  • http://%IP%/dump1090/data/receiver.json

Via: Raspberry Pi: Dump1090 erzeugt auch JSON-Dateien die extern verwendet werden können

Diese JSON-Daten eignen sich vorzüglich, um mit Cacti schöne Graphen zu erstellen.

Die Aufschlüsselung der JSON-Werte finden sich in folgendem Artikel: JSON output formats

Sonstige Interfaces

Mit netstat findet man schnell heraus, auf welchen Port fr24 Netzwerkdienste anbietet (ssh, snmpd, dhclient und avahi-daemon sind Systemdienste, die mit fr24 nichts zu tun haben):

# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      417/lighttpd        
tcp        0      0 0.0.0.0:30002           0.0.0.0:*               LISTEN      326/fr24feed        
tcp        0      0 0.0.0.0:8754            0.0.0.0:*               LISTEN      326/fr24feed        
tcp        0      0 0.0.0.0:30003           0.0.0.0:*               LISTEN      326/fr24feed        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      366/sshd            
udp        0      0 0.0.0.0:161             0.0.0.0:*                           352/snmpd           
udp        0      0 0.0.0.0:51123           0.0.0.0:*                           326/fr24feed        
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           262/avahi-daemon: r 
udp        0      0 0.0.0.0:36590           0.0.0.0:*                           262/avahi-daemon: r 
udp        0      0 0.0.0.0:68              0.0.0.0:*                           561/dhclient        
udp        0      0 0.0.0.0:59213           0.0.0.0:*                           326/fr24feed

Prozesse

Auf den Raspberry Pi kann man nach der Installation des Flightradar24-Images mit den gewohnten Zugangsdaten per SSH zugreifen.

Auf dem Gerät laufen folgende zwei Prozessbäume, die zum Empfang und für die Verarbeitung der Signale zuständig sind:

  • /usr/bin/fr24feed
  • /usr/bin/dump1090-mutability --raw --mlat --write-json /run/dump1090-mutability/

Als Services werden installiert:

  • dump1090-mutability.service
  • fr24feed.service
  • fr24gui.service

fr24feed startet und stoppt man folgendermassen:

# systemctl start fr24feed
# systemctl stop fr24feed

Log-Dateien

Nach der Installation fand sich bei mir unter /var/log/fr24feed/fr24feed.log eine Log-Datei, die in Echtzeit aktualisiert wurde.

Nach ca. zwei Tagen Betrieb stoppten die Log-Meldungen plötzlich und ich konnte noch nicht herausfinden, wieso die Anwendung nichts mehr in die Datei schreibt.

Die Einstellungen habe ich zwar angepasst (Logfile mode: Keep up to 72h, rotate every 24h und Log file location: /var/log/fr24feed/custom.log), bisher wurden diese aber nicht geschluckt.

Offizielle Statistiken

Loggt man sich auf Flightradar24 ein, kann man sich ausführliche Statistiken zu seinem Empfänger anzeigen lassen (die Zahlen sind aus der Sicht von Flightradar24, d.h. die Informationen, die vom Raspberry Pi an den Dienst gesendet und effektiv dort ankommen):

image-7707

Die URL lautet www.flightradar24.com/account/data-sharing, wo man dann alle registrierten Empfänger angezeigt bekommt. Klickt man dort auf Show Statistics, erscheinen die ausführlichen Statistiken:

Tags: , , , ,
Labels: IT

4 Kommentare | neuen Kommentar verfassen