Příjmač ADS-B - pasivní radar




This article has no English translation and is about recieving ADS-B under linux. You may found a lot of "how to" by googling.


Tento článek není ani tak moc o bastlení, než jako návod jak zprovoznit příjem ADS-B signálu, tedy příjem tzv. pasivního radaru, čili radarového odpovídače. Na internetu je poměrně hodně návodů a článků a to i v češtině, ale všechny se věnují zprovoznění příjmu pomocí SDR rádia pod Windows, kdežto já se chci věnovat popisu příjmu pod Linuxem a to ve vztahu Client-Server. Tedy kdy je samotný SDR přijímač zapojen do linuxového stroje nebo strojku a vizualizace příjímaných dat je na jiném počítači. Proč to? Třeba proto, že chci mít přijímač přímo na střeše domu a nechci tahat mnoho metrů koaxiálního kabelu dolu k přijímači. Nebo třeba proto, že celé níže popisované zařízení spotřebuje necelých 5W elektrické energie a může tak běžet non-stop a být tak dalším bodem v síti přijímačů (například pro) flightradar24.com nebo pro další nadšence, atp...


Co je tedy potřeba? V principu potřebujeme nějaký ten přijímač. Na e-bay lze za 11 dolarů koupit vše potřebné. Podmínkou je USB "TV" příjímač s chipsetem RTL2838U a tunerem R820T nebo E4000. Já koupil tento. Dále potřebujeme nějaký ten SW, který bude daný USB přijímač ovládat a tím softwarem je rtl_sdr. Jako další potřebujeme software na dekódování ADS-B rámců. Na to lze několik projektů: gr-air-modes a nebo dump1090 a další. Já vyzkoušel obojí a obojí funguje, nicméně gr-air-modes mají větší nároky na výkon systému. Naproti tomu nabízí i grafickou verzi, ve které lze vidět i informace o přijímaných letadlech. No a nakonec samozřejmě potřebujeme nějaké to "železo", na kterém to vše poběží. Já to nejříve vyzkoušel na netbooku, ale pro finální koncepci jsem chtěl "malinu", tedy Raspberry pi. Pro neznalé: jedná se o počítač velikosti platební karty na kterém běží linux a má veškeré potřebné periferie. Jeho cena se v CZ pohybuje od cca 800 Kč. Výhody jsou jasné: Velikost, spotřeba.

Jdeme na to. Stáhneme si obraz "disku" ze sekce Download. V době psaní článku (14.4.2013) je aktuální verze Raspbianu 2013-02-09-wheezy-raspbian.zip. Stáhneme si ji tedy na disk, rozbalime a dostaneme obraz disku, respektive obraz SD karty. Nainstalujeme dle návodu na stránkach Raspberry (dd if=soubor_obrazu.img of=/dev/karta bs=4M), vložíme do maliny a nabootujeme. Provedeme prvnotní nastavení pomocí konfigurátoru, který se zobrazí při prvním zpuštění a můžeme pokračovat. Nejprve na malině aktualizujeme repozitář a nainstalujeme balíčky potřebné ke kompilaci, neboť veškerý potřebný SW je ve formě zdrojových textů.

sudo apt-get update
sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install libusb-1.0-0.dev

Stáhneme a zcompilujeme rtl-sdr:

git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig

Tímto máme nainstalované samotné ovladače a můžeme pokračovat na kompilaci samotného ADS-B dekodéru. Tady je třeba říci nekolik slov. Jak jsem již psal, tak gr-air-modes mají větší nároky na výkon a pro malinu se proto příliš nehodí. Proto jsem zvolil dump1090. Ten ale existuje v několika verzích od různých autorů. Respektive původním autorem je Salvatore Sanfilippo - "antirez". Jeho práci rozšířil Oliver Goldenstein - DL6KBG o podporu MYSQL. Stejně tak MalcolmRobb dopsal další "fíčury".

Stažení a kompilace dump1090:

sudo apt-get install pkg-config
cd ~
git clone git://github.com/MalcolmRobb/dump1090.git
cd dump1090
make
sudo mkdir /opt/dump1090
sudo cp dump1090 /opt/dump1090/

Pro více informací navštivte třeba tuto stránku.

Zastrčíme USB přijímač s připojenou anténou a zkusíme spustit: /opt/dump1090/dump1090 --net --interactive
Pokud vše proběhlo bez chyb a přijímač chytá ADS-B rámce, uvidíme statistiku příjmaných dat a lze připojit nějaký vizualizační SW. Těch je opět dost, ale všechny jsou pod Windows, nicméně ADSBscope funguje přes WINE pod linuxem bez sebemenší chybičky a dokonce je distribuován i se zdrojovými texty v Delphi. Další dobrou zprávou je, že je zadarmo. ;-) Stáhneme si tedy ADSBscope, rozbalime (neinstaluje se) a spustíme. V menu "other - Network - Network setup" vyplníme poslední oddíl "RAW data client" - Portnumber: 30002; URL: IP_nasi_maliny; dataformat: normal. Zavřeme a pomocí menu "other - Network - RAW data client active" připojíme clienta k ADS-B serveru, tedy k dump1090 na naší malině. Pokud malina příjíma nějaká ADS-B data, tak se nám začnou ukazovat na mapě a v tabulce (pokud je mapa přes celou obrazovku, tak double-click do mapy ji "minimalizuje" a zobrazí se i tabulka s přijímanýmí daty).





Tak už to chodí, teď s tím na střechu. K tomu bude potřeba dostatečně velký vodotěsný box, zdroj 5V a lepší anténa. Jako box jsem použil JE 200, protože nabízí vše potřebné: vodotěstnost, potřebné rozměry, vodotěsné průchodky a úchyt na stožár. Zdroj 5V pro malinu jsem si vyrobil podle základního zapojení LM2575T-5.0. Na tom není co zkazit. Napajení jsem udělal jako PoE a to takto. Nepoužíval jsem žádný hotový splitter, protože na něj nebylo místo. Dále jsem si v TEROZu objednál výrobu zesilovače pro konkrétní kmitočet (1 090 MHz) s pásmovou propostí, aby vstup přijímače nebyl zahlcován od BTS a podobně. Tuto investici vřele doporučuji. Stálo mě to 450 Kč včetně DPH. Při objednávce doporučuji specifikovat napájení - já chtěl 5V (pro napájení z USB) a průchodkou nikoli po koaxiálu.

Aktualizace 31.7.2013: Ukázalo se, že objednání zesilovače je pro mnohé zájemce složitější operace, než vyplnění daňového přiznání a můj mail je poslední týdny zahrnut dotazy na toto téma. Je to pro mne velké překvapení, ale nu což. Při objednávce je nutné zadat: Vstupní a výstupní impedanci, požadované zesílení, zda má být osazena pásmová propust, druh napájení, napájecí napětí a pochopitelně konektory. Tak to je výčet toho, co v TEROZu potřebují vědět. Ale jelikož mnozí tazatelé ani netuší, jaké hodnoty mají vyjmenované parametry mít, tak to raději znovu rozepíši.

  • Vstupní impedance závisí na impedanci připojené antény - tedy 50 Ohm pokud při použití kolineáru, jako je na fotkách a 75 Ohm při použití kolineáru z TV koaxiálu jako v odkazech.

  • Výstupní impedance je dána vstupem přijímače, tedy pravděpodobně 75 Ohm.

  • Požadovatelné zesílení - Zase je to na každém z vás. Buďto bude mít zesilovač cca 6-10 db aby vyrovnal ztráty na kabelech a konektorech a bude stále dost odolný i v silném elektrosmogu a nebo v okolí nemám žádný zásadní zdroj rušení a mohu si dovolit i těch cca 25 db. Nicméně je také dobré brát v úvahu dynamický rozsah samotného příjímače a tedy i fakt, že letadla nad hlavou mohou zahltit přijímač a vzdálenější stroje budou neslyšetelné.

  • Pásmová propust - bez ní to nejde. Došlo by k zahlcení vstupu přijímače produkty blízkých BTS a podobně. Stejně bude zesilovač provozován jen pro příjem ADS-B, takže je hloupost jej brát jako širokopásmový.

  • Druh napájení - Buďto bude zesilovač napájem pomocí napájecí výhybky po koaxiálu, nebo tzv průchodkou - tedy klasickou dvojlinkou.

  • Napájecí napětí - je potřeba definovat, zda bude zesilovač napájen z 5V, 9V, 12V nebo jiného zdroje o jiné velikosti výstupního napětí.

  • Konektory - Odmítám odpovídat na dotazy, jaké konektory. Zda BNC nebo F. To je na každém z vás a vašem přesvědčení.

  • Fenomén tlumivka - Mnoho tazatelů se ptá, zda osadit tlumivku proti účinkům statické elektřiny. Podle způsobu kladení dotazů soudím, že většina tazatelů jsou KV amatéři nebo jimi informovaní ("naočkovaní") zájemci o stavbu. Takže přátelé, tlumivka na 1090 MHz se vám bez patřičného vybavení bude dělat skutečně obtížně. To už je lepší udělat čtvrtvlný zkratovací pahýl - viz odkaz na kolineár z koaxiálu. Pravda je ta, že pásmová propust na vstupu zesilovače je řešena jako vazební člen, tedy (jazykem nezkušených) jako "trafo" (zkušení prominou). Tedy vstup ad antény je galvanicky "zkratnut" na zem a to samé je na straně aktivní součástky. Z toho je patrné, že k poškození statickým výbojem (ano, blesk je taky statický výboj, ale to je jiná pohádka) by nemělo dojít. Piší nemělo, protože nikdo nevyloučí, že k tomu na 100% nedojde....




  • Vše jsem tedy naskládal na plastovou desku (díky OK1PSU za výrobu) daných rozměru a vložil do boxu a vyzkoušel. Prozatím ve formě "chobotnice".



    No a anténu jsem udělal tuto:


    První testy jsou více než slibné. Anténa postavená na vnitřní straně parapetu v sedmém patře jižně orientovaného okna měla tyto výsledky:



    Rozhodně doporučuji zauvažovat o této anténě a to kvůli zisku. Nicméně na internetu lze najít mnoho návodů včetně rozměrů:

    http://www.qsl.net/dl4mea/picadsb/adsb-ant-drawing.gif
    http://miniadsb.web99.de
    http://www.ok1cjb.cz/images/stories/img_3a/3-750_Dipol%20F1GIL.gif

    Článek si jistě žádá ještě další detaily, ale ty budou dodány (snad) v blízké budoucnosti.

    Dnes (27.4.2013) jsem za pomoci Milose OK1PSU nainstaloval celek na střechu domu. Cekal jsem lepší příjem, než na parapetu okna, ale vysledek mě skutečně zaskočil.


    Toto je finální sestavení před odchodem na střechu.


    Instalace k patě antény na 50 MHz.


    Provizorní anténka, než bude čas udělat ji pořádně.


    A toto je výsledek...


    Pokud by někoho zajímalo, co aktuálně můj příjímač slyší, stačí kliknout na tento odkaz.

    OK2ZAR, 27.4.2013.