ADS-B: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(Flightradar24)
(Nastavení)
Řádka 18: Řádka 18:
 
=== Nastavení ===
 
=== Nastavení ===
  
Prvotní nastavení přijímače provedeme příkazem "sudo fr24feed --signup". Následně jsme vyzváni k nastavení:
+
Prvotní nastavení přijímače provedeme příkazem "sudo fr24feed --signup". Následně jsme vyzváni k zadání parametrů. V případě, že aktivujeme nový přijímač, je vhodné si zaznamenat vygenerovaný klíč a název radaru pro případ dalšího přenastavení.
  
 
  Než budete pokračovat, prosím ujistěte se, že:  
 
  Než budete pokračovat, prosím ujistěte se, že:  
Řádka 82: Řádka 82:
 
   
 
   
 
  ....
 
  ....
 +
 
=== Na závěr ===
 
=== Na závěr ===
 
Po nastavení nakonec spustíme fr24feed  
 
Po nastavení nakonec spustíme fr24feed  

Verze z 10. 12. 2017, 21:29

Flightradar24

Server Flightradar24.com zobrazuje jednotlivá letadla na obloze. Využívá dobrovolníků, kteří přijímají ADS-B data z letadel a následně je předávají na na server Flightradar24. Tento přenos zajišťuje program fr24feed který je nutné mít nainstalován na vlastním přijímači.

Auto Instalace

Dle postupu na serveru Flightradar24.com by pro instalaci na Respberry mělo stačit zadat:

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

Bohužel je aktuálně problém z importem klíčů pro ověření pravosti SW. Proto tato instalace je zatím nefunkční.

Ruční Instalace

Pro ruční instalaci prvně vytvoříme odkaz na depozitář. Poté načteme seznam balíčků a provedeme vlastní instalaci. Problém z neplatnosti klíčů ignorujeme. Nakonec spustíme konfiguraci fr24feed.

sudo bash -c "echo 'deb http://repo.feed.flightradar24.com flightradar24 raspberrypi-stable' > /etc/apt/sources.list.d/flightradar24.list"

sudo apt-get update -y
sudo apt-get install fr24feed -y

sudo fr24feed --signup

Nastavení

Prvotní nastavení přijímače provedeme příkazem "sudo fr24feed --signup". Následně jsme vyzváni k zadání parametrů. V případě, že aktivujeme nový přijímač, je vhodné si zaznamenat vygenerovaný klíč a název radaru pro případ dalšího přenastavení.

	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é

	....

Na závěr

Po nastavení nakonec spustíme fr24feed

sudo service fr24feed start

V případě potřeby můžeme obdobnmým spůsobem provést restart služby

sudo service fr24feed restart

V případě potřeby můžeme sledovat stav, nebo změnit některé parametry přes web rozhraní na portě 8754

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čů.

Web nastavení

Piaware umožňuje zobrazení svého aktuálního stavu přes web rozhraní. Bohužel to není součástí vlastní instalace a je potřeba jej získat samostatně. Prvně vytvoříme konfigurační soubor pro lighttpd.

sudo nano /etc/lighttpd/conf-available/50-piaware.conf
# 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" )
}

Následně nakopírujeme vlastní html stránky do adresáře /var/www - nutno si je někde sehnat ..

Nakonec vytvoříme symlink souboru 50-piaware.conf do adresáře /etc/lighttpd/conf-enabled

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:


Stránky na kterých též je možné sledovat vlastní letecký provoz, nebo mají na dané téma přímou vazbu:


A takto může vypadat vlastní přijímač:

Adsb-prijimac.jpg