ADS-B: Porovnání verzí
(→FlightAware) |
(→FlightAware) |
||
Řádka 119: | Řádka 119: | ||
Následně je potřeba samozřejmě provést nastavení v souboru /etc/default/mlat-client. Viz [[ADS-B_Image#Mlat_Client | Mlat Client]]. Potá by se váš přijímač měl objevit v tabulce [https://czadsb.cz/system/mlat/sync/ synchronizace mlat] přijímačů. | Následně je potřeba samozřejmě provést nastavení v souboru /etc/default/mlat-client. Viz [[ADS-B_Image#Mlat_Client | Mlat Client]]. Potá by se váš přijímač měl objevit v tabulce [https://czadsb.cz/system/mlat/sync/ synchronizace mlat] přijímačů. | ||
+ | |||
+ | === Text nadpisu === | ||
+ | # Allows access to the piaware status file, and | ||
+ | # does translation rewrites for the landing page | ||
+ | |||
+ | alias.url += ( | ||
+ | "/status.json" => "/run/piaware/status.json" | ||
+ | ) | ||
+ | |||
+ | server.modules += ( "mod_rewrite" ) | ||
+ | |||
+ | $HTTP["language"] =~ "(en)" { | ||
+ | url.rewrite = ( "^/translations/lang.js$" => "/translations/%1.js" ) | ||
+ | } | ||
+ | else $HTTP["language"] =~ ".*" { | ||
+ | url.rewrite = ( "^/translations/lang.js$" => "/translations/en.js" ) | ||
+ | } | ||
== RTL-SDR == | == RTL-SDR == |
Verze z 12. 9. 2017, 20:46
Obsah
Flightradar24
Server Flightradar24.com zobrazuje jednotlivá letadla na obloze. Využívá dobrovolníků, kteří přijímají ADS-B data vysílané letadly a tyto data předávají.
Pokud chceme sdílet svoje data, je nutné se zaregistrovat. Zda zadáme svoji email adresu a souřadnice umístění přijímače. Následně bude na uvedenou adresu zaslán registrační klíč a kód radaru.
Do již nainstalovaného přijímače z DUMP1090 nahrajeme:
sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"
Nastavení:
Prvotní nastavení přijímače provedeme příkazem "sudo fr24feed --signup". Následně jsme vyzváni k nastavení:
Než budete pokračovat, prosím ujistěte se, že: 1 - Vaše ADS-B přijímač připojen k tomuto počítači, nebo je přístupná po síti. 2 - Znáte zeměpisné souřadnice vaše antény na 4 desetinná místa a nadmořskou výšku ve stopách. 3 - Máte pracovní emailovou adresu, která bude použita pro korespondenci s vámi. 4 - Služba fr24feed je zastavena. Pokud tomu tak není, spusťte: sudo service fr24feed stop Krok 1.1 - Zadejte vaší emailovou adresu (username@domain.tld) $: Krok 1.2 - Pokud jste použili FR24 s ADS-B údajů dříve, zadejte váš klíč sdílení. Pokud si nepamatujete svůj klíče pro sdílení, použijte prosím formulář pro vytvoření: http://feed.flightradar24.com/forgotten_key.php V opačném případě nechte pole prázdné a pokračovat. $: Krok 1.3 - Chtěli byste se podílet na matematických výpočtů? (yes/no) $: Krok 2 - Zadejte nejbližší kód letiště (IATA or ICAO) Potřebujeme znát vaše antény přibližnou polohu filtrovat falešnou provoz, jakož i k tomu, aby pozemní pozice dekódování. Můžete buď zadat nejbližší kód letiště nebo ponechte pole prázdné, aby přesnou polohu antény. Pokud je vaše anténa je dál než 20 mil od nejbližšího letiště důrazně doporučujeme poskytovat svou pravou pozici, místo, jak to může ovlivnit výkon dekodér. Zadejte kód letiště nebo nechte prázdné $: DŮLEŽITÉ: Při výpočtech MLAT umístění antény by měly být zapsány velmi přesný! Krok 3.A - Vložte zeměpisnou šířky umístění antény (DD.DDDD) $: Krok 3.B - Vložte zeměpisnou délku umístění antény (DDD.DDDD) $: Krok 3.C - Vložte nadmořskou výšku umístění antény (ve stopách) $: Flightradar24 může, v případě potřeby, použijte emailovou adresu, aby vás kontaktovat ohledně zdroji dat. Chtěli byste i nadále používat toto nastavení? Zadejte svou volbu (ano / ne) $:
Případné přenastavení, jen vlastního zdroje dat lze provést příkazem "sudo fr24feed --reconfigure --fr24key=0123456789ABCDEF" kde samozřejmě key odpovídá dříve přiřazenému kódu. Toto přenastavení je také možné provést přes web rozhraní a to na adrese přijímače na portě 8754.
1 - DVBT Stick (USB) ----------------------------------------------------- 2 - SBS1, SBS1er or SBS3 (USB/Network) 3 - ModeS Beast (USB/Network) 4 - AVR Compatible (DVBT over network, etc) 5 - microADSB (USB/Network) Zadejte typ vašeho přijímače (1-5) Krok 4.2 - Vyberte dump1090 variantu: 1 - Původní Salvatore Sanfilippo Varianta 2 - Malcolma Robb je vidlice Krok 4.3 - Zadejte své další dump1090 argumenty nebo nechte prázdné ....
FlightAware
Dalším serverem který také zobrazuje data z ADS-B přijímači je FlightAware. Navíc ale poskytuje zpětně dobrovolníkům informace vypočítané na základě informaci MLAT. Také je zde funkční webové rozhraní kde je přehled stavu a také mapa ze zobrazením letadel.
Postup zprovoznění přijímače nalezneme též na jejich stránkách. Vlastní instalace SDmicro image je stejná pro všechny Raspberry.
Je zde ale rozdíl v přihlášení, kdy login je opět "pi", ale heslo je "flightaware". To ale po spuštění není přímo třeba. Data jsou po zapnutí ihned posílána na server. To že je vše v pořádku se dá podívat na přehledu. Přesto aby jsme měli práva, jakožto naši odměnu za poslaná data je dobré si [http://flightaware.com/account/join/?referer=/account/join/ založit účet.
Z bezpečnostních důvodů je od verze 3.3 ve výchozím stavu přístup přes SSH zablokován. Pokud chceme přístup povolit, vytvoříme prázdný soubor v oddílu / boot na SD kartě pouze s názvem "ssh" (bez přípony souborů). Pokud je tento soubor přítomen, SSH bude automaticky povoleno.
Pokud se nepovede automatické spárování (probíhá na základě veřejné IP adresy), je možné nastavení ruční. Po přihlášení do Raspberry pro spárování zadáme:
sudo piaware-config flightaware-user <username> flightaware-password
poté budeme vyzváni k zadání hesla pro FlightAware. Verze 3.1 je již přednastavená aby poskytla všechny dostupné informace. Proto není potřeba ji standardně přenastavovat. Přesto můžeme přenastavit potřebné parametry. Seznam parametru najdeme na Flightaware.com. Aktuální nastavení získáme příkazem:
sudo piaware-config
Poté by se již měly informace párovat na náš účet. To vše je v pořádku bude také potvrzeno emailem.
Pokud bude vše v pořádku, tak jsou následně otevřené porty:
TCP 30002 Raw - netříděná data ve formátu AVR (Beast Raw Feed) (dump1090, bez MLAT) TCP 30003 Zpracovaná data ve formátu BaseStation (dump1090, bez MLAT) TCP 30005 Raw - netříděná data ve formátu Beast Raw Feed (dump1090, bez MLAT) TCP 30105 Pouze MLAT data ve formátu Beast Raw Feed (pro FlightFeeders od verze 7.x) TCP 30106 Pouze MLAT data v rozšířeném formátu BaseStation (pro FlightFeeders od verze 7.x) TCP 22 - SSH připojení TCP 80 - Pro webový přístup TCP 8080 - Pro webové sledování letadel TCP 30104 - pro příjem dat z jiných zařízení ve formátu Beast Raw Feed. Data budou přidány do mapy, na port 30005 a PiAware. Nebude ale z nich počítám MLAT)
Nová verze image PiAware má podporu IP6. Bohužel v tomto případě ale není funkční přeposílání dat z MLAT informacemi přes IP4 pro další zpracování. Proto je nutné IP6 zakázat. To se dá docílit několika způsoby. Zde jeden přikládám, který zablokuje přímo načtení modulu pro IP6:
sudo echo "blacklist ipv6" > /etc/modprobe.d/blacklist.conf
Pokud chceme data poskytovat i sdružení czadsb, můžeme doinstalovat mlat klienta, který odesílá potřebná data. Na oplátku nám pak doplňuje informace o pozici letadel. Doinstalování můžeme provést:
sudo apt-get install python3-dev wget http://radar.slapnet.cz/deb/mlat-client_0.2.9_armhf.deb sudo dpkg -i mlat-client_0.2.9_armhf.deb
Následně je potřeba samozřejmě provést nastavení v souboru /etc/default/mlat-client. Viz Mlat Client. Potá by se váš přijímač měl objevit v tabulce synchronizace mlat přijímačů.
Text nadpisu
# Allows access to the piaware status file, and # does translation rewrites for the landing page alias.url += ( "/status.json" => "/run/piaware/status.json" ) server.modules += ( "mod_rewrite" ) $HTTP["language"] =~ "(en)" { url.rewrite = ( "^/translations/lang.js$" => "/translations/%1.js" ) } else $HTTP["language"] =~ ".*" { url.rewrite = ( "^/translations/lang.js$" => "/translations/en.js" ) }
RTL-SDR
Prvně si stáhneme nejaktuálnější image distribuce pro Raspberry. V našem případě nám postačuje verze "Lite". Tu nakopírujeme na SD kartu a spustíme vlastní Raspberry. Po přihlášení (login: pi / raspberry) doporučuji provést prvotní nastavení:
sudo raspi-config
Zde nastavíme "1 Expand Filesystem" aby byla k dispozici celá kapacita SD karty. Dále provedeme lokalizaci v "4 Internationalisation Options". Komu se nelíbí původní heslo, tak jej může změnit "2 Change User Password".
Jakmile budeme mít připravenou distribuci doporučuji provést aktualizaci a následně doinstalovat programy které nám umožní vlastní instalaci ovladačů rtl-sdr:
sudo apt-get update sudo apt-get upgade sudo apt-get install git gcc autoconf make libusb-1.0-0-dev libtool
Je samozřejmě možné že některé programy mohou být již v distribuci zahrnuty.
Pak pokračujeme vlastní instalací ovladačů rtl-sdr:
cd ~ git clone git://git.osmocom.org/rtl-sdr.git cd rtl-sdr/ autoreconf -i ./configure make sudo make install sudo ldconfig sudo mv $HOME/rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/rtl-sdr.rules
Nakonec zablokujeme načtení původních ovladačů rtl v souboru raspi-blacklist.conf a vše restartujeme:
sudo nano /etc/modprobe.d/raspi-blacklist.conf blacklist dvb_usb_rtl28xxu blacklist rtl2832 blacklist rtl2830 blacklist r820t sudo reboot
Po znovu přihlášení můžeme příkazem rtp_test -t ověřit, že je vše v pořádku.
Bohužel součástí instalace není skript, který by zajistil automatické spuštění po startu. Proto jsem se pokusil vytvořit následující. Jeho podstatnou výhodou je, že umožňuje spuštění RTL TCP serveru pro všechny klíčenky, které jsou připojeny.
#!/bin/sh # ### BEGIN INIT INFO # Provides: skeleton # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Example initscript # Description: This file should be used to construct scripts to be # placed in /etc/init.d. This example start a # single forking daemon capable of writing a pid # file. To get other behavoirs, implemend # do_start(), do_stop() or other functions to # override the defaults in /lib/init/init-d-script. ### END INIT INFO # Author skriptu: Tydyt # Nastaveni adresy na ktere RTL TCP server posloucha: # 0.0.0.0 - server nasloucha na vsech svych adresach # 127.0.0.1 - server posloucha jen na adrese lokalhost (nelze se vzdalene pripojit) # x.x.x.x - server nasloucha na konkretni adrese (adresa musí byt k dispozici) # auto - skript nastavi automaticky vnejsi IP adresu z eth0 # hostname - skript nastavi automaticky IP adresu z hostname NET="0.0.0.0" # Seznam RTL SDR zarizeni ktere se maji pouzit # Jednotlive ID oddelit mezerou # 0 - pouzije se prvni zarizani ID 0 # 0 4 5 - pouziji se zrizeni ID 0, 4, 5 # all - pouziji se vsechny zarizeni DEVICE="all" # Vychozi TCP port pro server PORT="1234" # Zpusob vytvoreni TCP portu pro jednotlive zarizani # sum - k vychozimu portu je pricteno ID zarizeni ($PORT + $DEVICE) # add - k vychozimu portu je pridano ID zarizeni ($PORT$DEVICE) PORT_ADD="sum" # Moznost pridani dalsich parametru pro server. Tyto hodnoty mohou byt # zmeneny vlastni aplikaci ktera se k RTL RTP serveru pripoji. # -f frequency to tune to [Hz] # -g gain (default: 0 for auto) # -s samplerate in Hz (default: 2048000 Hz) # -b number of buffers (default: 15, set by library) # -n max number of linked list buffers to keep (default: 500) # -P ppm_error (default: 0) # PROG_ARGS="" # Nazev vlastniho skriptu rtl_tcp PROGRAM=rtl_tcp # Cesta k vlastnimu skriptu rtl_tcp PROGDIR=/usr/local/bin # Adresar ze seznamem spustenych programu PIDDIR=/var/run # Zacatek skriptu PATH=/sbin:/usr/sbin:/bin:/usr/bin if [ ! -f $PROGDIR/$PROGRAM ]; then echo "Nebyl nelezen skript rtl_tcp !" exit 0 fi # Zjisteni IP adresy if [ "$NET" = "auto" ]; then NET=`ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` fi if [ "$NET" = "hostname" ]; then _IP=$(hostname -I) || true if [ "$_IP" ]; then NET=$_IP else NET="0.0.0.0" fi fi # Nastav id z prikazovaho radku jsouli zadane if [ $# -gt 1 ]; then DEVICE="" for ID in $@; do if [ ! "$ID" = "$1" ]; then DEVICE="$DEVICE $ID" fi done fi # Zjisteni vsech SDR zarizeni jeli nastaveno all if [ "$DEVICE" = "all" ]; then DEVICE=`$PROGDIR/rtl_test -t 2>&1 | grep 'Realtek' | cut -d: -f1 | awk '{ print $1}'` fi start(){ for ID in $DEVICE; do if [ "$PORT_ADD" = "sum" ]; then PORT_ID=$(($PORT+$ID)) else PORT_ID="$PORT$ID" fi if [ "$PROG_ARGS" ]; then ARGS="-a $NET -p $PORT_ID $PROG_ARGS" else ARGS="-a $NET -p $PORT_ID" fi startone $ID $PORT_ID done } stop(){ for ID in $DEVICE; do stopone $ID done } startone(){ PIDFILE="$PIDDIR/$PROGRAM-$1.pid" if [ -f $PIDFILE ]; then echo "Server RTL TCP na zarizeni ID $1 JE jiz spusten !" return else echo -n "Server RTL TCP na zarizeni ID $1 ... " $PROGDIR/$PROGRAM -d $1 $ARGS >> /dev/null 2>&1 & PID=$! sleep 1 PIDR=`pidof $PROGRAM` if [ "$PIDR" ]; then for ID in $PID; do if [ $ID = $PID ]; then echo $PID > "$PIDFILE" echo "Je spusten na porte TCP $2" return fi done fi echo "Se nepodarilo spustit ! ($ARGS)" fi } stopone(){ PIDFILE="$PIDDIR/$PROGRAM-$1.pid" if [ ! -f $PIDFILE ]; then echo "Server RTL TCP na zarizeni ID $1 NENI spusten !" return else echo -n "Server RTL TCP na zarizeni ID $1 ... " pid2kill=`cat $PIDFILE` kill -9 $pid2kill rm $PIDFILE echo "Je ukoncen." fi } killall(){ echo -n "Ukonceni vsech RTL TCP serveru: " PID=`pidof $PROGRAM` echo "pid: $PID" if [ "$PID" ]; then for ID in $PID; do kill -9 $ID done fi PIDFILE="$PIDDIR/$PROGRAM-*.pid" rm $PIDFILE } case "$1" in start) start ;; stop) stop ;; restart) killall start ;; kill) killall ;; *) echo $"Moznosti: $0 {start|stop|restart|kill} [ID_zarizeni] [ID_zarizeni_1] [ID_zarizeni_2]" retval=1 esac
Dump1090
Jedná se o vlastní program, který snímá data z ADS-B vysílačů a následně provede jejich zpracování a dekódování. Originální informace jsou na https://github.com/mutability/dump1090
Prvně se doinstaluje odkaz zdroje dat včetně platných klíčů. Pak teprve provedeme vlastní instalaci:
wget https://github.com/mutability/mutability-repo/releases/download/v0.1.1/mutability-repo_0.1.1_armhf.deb sudo dpkg -i mutability-repo_0.1.1_armhf.deb sudo apt-get update && sudo apt-get install dump1090-mutability
Po nainstalování je vhodné provést konfiguraci
sudo dpkg-reconfigure dump1090-mutability
Případně pak můžeme editovat soubor "/etc/default/dump1090-mutability" kde jsou uložené hodnoty pro dump1090-mutability.
Vlastní Image
Pro ty, kteří se bojí vytváření a instalace jednotlivých programů pod Linuxem a přesto si chtějí vytvořit ADS-B postavený na Raspberry jsem připravil nový image SD karty pro tento účel. Popis jak provést vlastní instalaci a nastavení je věnována vlastní stránka ADS-B Image.
Virtual Radar
Pro tento pěkná program je vyhrazena samostatná stránka: Vizualizace leteckého provozu.
FlightAirMap
Další zajímavý radar: https://github.com/Ysurac/FlightAirMap
ACARS
ACARS – Aircraft communiactions Addressing & Reporting System Reporting Sys
Zajímavý odkaz na dokument ACARS.pdf
Kanály pro Evropu:
- 131.525 MHz - Sekundární kanál pro Evropu
- 131.725 MHz - Primární kanál pro Evropu
- 131.825 MHz - Primární kanál pro Evropu
- 136.900 MHz - Další kanál pro Evropu
- 1545 – 1555 MHz - Satelitní kanály
Odkaz na výpočet https://www.jcoppens.com/ant/helix/calc.en.php
Odkazy
Odkazy které mi pomohli k zprovoznění ADS-B příjmu a souvisejícím tématům:
- MiniPC Respberry
- Návod Securitysys.eu
- Návod na anténu Anténa pro 1090 MHz
- Radioamatérské stránky zabívající se i sledováním letadel www.kmitocty.cz
- Kanálový zesilovač Teroz
- Vizualizace vlastních dat VirtuaRadar
- Biquad antenna
- Fotoalbum ADS-B přijímaču
Stránky na kterých též je možné sledovat vlastní letecký provoz, nebo mají na dané téma přímou vazbu:
- Letiště Praha Přistávací dráha
- Letecký provoz Flightradar24, Radarbox24, Planefinder
- Program pro automatickou aktualizaci databáze pro VR www.gatwickaviationsociety.org.uk
- Lodní provoz Marinetraffic
A takto může vypadat vlastní přijímač: