ADS-B Image
Obsah
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. Ten je funkční jak na Raspberry 2 tak i na Raspberry 3 a je možné ho stáhnout zde.
Vlastní image je tvořeno z:
- Oficiální distribuci Raspbian Jessie
- Ovladač Dump1090
- Ovladače RTL SDR
- Mlat client
- PiAware
Zpět na stránku ADS-B
Instalace Image
V první řadě potřebujeme nakopírovat image na vlastní SD kartu. Vzhledem k tomu, že se jedná o bootovací disk, nelze obsah jen překopírovat. V případě operačního systému Windows k tomu použijeme program Win32 Disk Image. Po jeho spuštění vybereme soubor z image a microSD kartu na kterou chceme instalaci provést. Pak jen potvrdíme zápis. Takto připravenou mikroSD kartu dáme do Raspberry a můžeme jej spustit.
Následně si z DHCP serveru zjistíme jakou IP adresu zařízení získalo a pomocí SSH (například programu Putty) se připojíme k vlastnímu zařízení. Pro přihlášení zadáme uživatele "pi" a heslo "raspberry". Po přihlášení můžeme pokračovat ve vlastní konfiguraci.
Do nastavení Raspberry
Po přihlášení jako první spustíme "sudo raspi-config" abychom nastavili správně velikost disku.
1 Expand Filesystem
Zde si také můžeme případně změnit heslo pro přihlášení.
Nastavení RTL DSR
Tyto ovladače jsou přítomné kvůli programům rtl_test a rtl_tcp. První slouží pro zjištění "rozladění" vlastního přijímače a druhá pro možnost transportu na vzorkovaných dat přes TCP k dalšímu zpracování.
RTL TEST
RTL klíčenky jsou "levné" zboží. Možná proto také má každá mírně "rozladěný" krystal. Navíc se zde projevuje i závislost na teplotě. Ve výsledku je pak naladěn jiný kmitočet než jsme zadali. Proto je vhodné ověřit hodnotu "rozladěni" která se značí ppm. Tu následně použijeme pro nastaveni Dump1090. Nejdříve "uvolníme" klíčenky a následně spustíme vlastní test:
sudo /etc/init.d/dump1090-mutability stop rtl_test -p5
Pokud máme více RTL klíčenek, musíme ještě přidat parametr -d z pořadovým číslem klíčenky kterou chceme testovat. Vlastní test pak necháme "chvíli" běžet dokud se nám neustáli hodnota "cumulative PPM:" na konci řádku. Poté aplikaci ukončíme kombinací kláves "Ctrl" a "c". Konečnou hodnotu PPM si zapamatujeme, neboť ji budeme potřebovat pro další nastavení.
RTL TCP
Tento prográmek nám může posloužit pro příjem v radiového pásma dle možnosti naladění. Výhoda je, že vlastní zařízení může být umístěno u vlastních antén, ale poslech například vlastního leteckého provozu mohu o několik pater níže či dále. Pro tento poslech pak můžeme například použít program SDR Package. Ale také se data dají použít například pro projekt SDR radia. Jen bych upozornil, že z jedné klíčenky může být datový tok i přes 25Mbps ! dle nastavení.
Vlastní nastavení pro přenos dat přes TCP provedeme ve spouštěcím skriptu:
sudo nano /etc/init.d/sdr_rtl
Nastavení Dump1090
Pro nastavení budeme potřebovat znát:
- Zeměpisnou šířku a délku umístění vlastního přijímače (v desítkové soustavě z desetinou tečkou - Mapy.cz)
- Hodnotu ppm (rozladění)
Ostatní data můžeme nechat beze změn. Konfigurační soubor otevřeme příkazem:
sudo nano /etc/default/dump1090-mutability
kde nalezneme a upravíme položku ppm o dříve naměřenou hodnotu a umístění přijímače (například LAT="49.1625244", LON="16.7310356"). V obou případech musíme ponechat i uvedené uvozovky. Pokud nebudeme chtít přijatá data déle nikomu poskytovat, můžeme ještě přepsat hodnotu NET_BIND_ADDRESS na "127.0.0.1".
# RTLSDR frequency correction in PPM PPM="0" . . # If set, supplies a reference location for local position decoding. LAT="" LON="" . . NET_BIND_ADDRESS="0.0.0.0"
Provedenou změnu potvrdíme klávesou "F2", "y" a "Enter". Následně provedeme restart služby:
sudo /etc/init.d/dump1090-mutability force-reload
Případně kompletní konfiguraci, ale v angličtině, můžeme též provést příkazem "sudo dpkg-reconfigure dump1090-mutability". To doporučuji ale jen těm, co to umí ...
Po restartu služby se můžeme připojit přes web rozhraní na http://IP_adresa_Respberry/dump1090 kde by jsme měli vidět letadla která chytáme. Pokud tomu tak je, máme zatím vše v pořádku nastaveno a funkční.
Mlat Client
Pro nastavení budeme potřebovat znát:
- Zeměpisnou šířku a délku umístění vlastního přijímače (v desítkové soustavě z desetinou tečkou - Mapy.cz stejně jak pro Dump1090)
- Nadmořskou výšku umístění vlastního přijímače. Možné zjistit přes vyskopis.cz + umístění antény nad terénem.
- Jedinečné pojmenování přijímače (lokalita, jméno, přezdívka)
Vlastní nastavení provedeme opět editací konfiguračního souboru. Mimo editací výše uvedených údajů, též nezapomeňte povolit spuštění služby - START_CLIENT="yes".
sudo nano /etc/default/mlat-client
# mlat-client konfiguracni soubor # Je to fragment POSIX shellu. # Tento soubor muzete primo upravit, nebo # pouzite "dpkg-reconfigure mlat-client" # Spustit pri startu (yes/no) ? START_CLIENT="yes" # Systemovy uzivatel pro spusteni (nemenit!) RUN_AS_USER="mlat" # Jmeno nebo misto prijimace pro identifikaci na serveru SERVER_USER="mesto" # Log soubor vcetne cesty LOGFILE="/var/log/mlat-client.log" # Typ prijimace (dump1090, beast, radarcape_12mhz, radarcape_gps, sbs) INPUT_TYPE="dump1090" # Zdroj dat host:port pro připojení v Beast-format sprav INPUT_HOSTPORT="localhost:30005" # Adresa Mlat serveru host:port SERVER_HOSTPORT="89.248.245.194:40147" # Zemepisna sirka umisteni prijimace (N) LAT="49.8637428" # Zemepisna delka umisteni prijimace (E) LON="15.5667425" # Nadmorska vyska umisteni anteny v metrech ALT="240" # List of result connections/listeners to establish. # This should be a space-separated list of values suitable for passing to # the --results option (see mlat-client --help for syntax) RESULTS="beast,connect,localhost:30004" #RESULTS="basestation,listen,31003" # Ostatní argumenty pro mlat-client EXTRA_ARGS=""
Po uložení ("F2", "y" a "Enter") provedeme ještě restart služby:
sudo /etc/init.d/mlat-client restart
I zde je možnost spustit průvodce nastavení v anglickém jazyce příkazem "sudo dpkg-reconfigure mlat-client". Na závěr můžeme na serveru mlat ověřit, zda data od nás chodí a je vše v pořádku.
PiAware
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í na Raspberry zadáme:
sudo piaware-config -user <username> -password
Na místo <username> zadáme naše přihlašovací jméno na FlightAware. Teprve po potvrzení budeme vyzváni k zadání hesla. Také není špatné provést do nastavení služb, kde vše povolíme. Následně nastavíme přeposílání informací MLAT, pokud je chceme sdílet z ostatními. Nakonec provedeme restart služby:
sudo piaware-config -autoUpdate 1 -manualUpdate 1 -mlat 1 -mlatResults 1 sudo piaware-config -mlatResultsFormat "beast,connect,localhost:30104 basestation,listen,30106" sudo /etc/init.d/piaware restart
Poté by se již měly informace párovat na náš účet. To že je vše v pořádku bude také potvrzeno emailem který je u FlightAware evidován.
Jak jsem postupoval
1. Připravil jsem si vlastni image Raspbian Jessie a po spuštění provedl nastavení lokalizace Raspberry "sudo raspi-config".
5 Internationalisation Options I1 Change Locale "cs_CZ.UTF-8 UTF-8", "en_GB.UTF-8" I2 Change Timezone "Europe / Prague " I4 Change Wi-fi Country "CZ Czech Republic" 9 Advanced Options A2 Hostname - Jen pokud chceme změnit název Raspberry
Poté provést upgrade systému
sudo apt-get update sudo apt-get upgrade sudo apt-get clean
2. Nainstalovar SDR RTL - Jsou dvě možnosti:
A)
Instalace dle ADS-B#RTL-SDR wget http://radar.slapnet.cz/deb/sdr_tcp sudo cp sdr_tcp /etc/init.d/ sudo chmod 755 /etc/init.d/sdr_tcp update-rc.d sdr_tcp defaults
B)
sudo apt-get install -y librtlsdr0 rtl-sdr wget http://radar.slapnet.cz/deb/sdr_tcp sudo cp sdr_tcp /etc/init.d/ sudo chmod 775 /etc/init.d/sdr_tcp update-rc.d sdr_tcp defaults
3. Doinstalovat web prohlížeč pro dump a další potřebné programy
sudo apt-get install lighttpd librtlsdr0
4. Nainstalovat Dump1090
wget http://radar.slapnet.cz/deb/dump1090-mutability_1.15~dev_armhf.deb sudo dpkg -i dump1090-mutability_1.15~dev_armhf.deb sudo lighty-enable-mod dump1090 sudo service lighttpd force-reload
5. Nainstalovat mlat-client
wget http://radar.slapnet.cz/deb/mlat-client_0.2.6_armhf.deb sudo dpkg -i mlat-client_0.2.6_armhf.deb
6. Nainstalovat PiAware
wget http://flightaware.com/adsb/piaware/files/piaware_2.1-5_armhf.deb sudo dpkg -i piaware_2.1-5_armhf.deb sudo apt-get install -fy sudo piaware-config -autoUpdate 1 -manualUpdate 1 -mlat 1 -mlatResults 1
7. Upravit konfigurační soubory:
- /etc/default/dump1090-mutability
- /usr/share/dump1090-mutability/html/config.js
- /etc/default/mlat-client
8. Na závěr vyčistit
sudo apt-get clean rm /home/pi/*
9. Vypnout podporu IP6
echo "install ipv6 /bin/true" >> /etc/modprobe.d/blacklist.conf
10. Požadavek na ModeSDeco2 - xdeco.org Instalace:
sudo mkdir /usr/local/modesmixer2 cd /usr/local/modesmixer2 sudo tar -xvzf /tmp/modesmixer2_x86_64_20150314.tgz
New instalace
sudo apt-get install git git clone https://github.com/mutability/mlat-client cd mlat-client sudo apt-get install build-essential debhelper python3-dev dpkg-buildpackage -b -uc sudo dpkg -i ../mlat-client_(version)_(architecture).deb