Zrejme každý, kto sa aspoň raz lúčil so svojimi príbuznými alebo priateľmi na letisku, využíval bezplatnú službu Flightradar24. Je to veľmi pohodlný spôsob, ako sledovať polohu lietadla v reálnom čase.

Ako ukázal prieskum medzi známymi, len málo kto vie, že túto službu podporujú len nadšenci, ktorí posielajú dáta na server. Ešte menej ľudí vie, že sa k projektu môže pripojiť každý záujemca.
Vyplníme túto medzeru. O tom, ako to funguje, budeme pokračovať ďalej.
Hardvér
Najprv sa pýtame — odkiaľ pochádzajú dáta.
Každé civilné lietadlo je vybavené špeciálnym vysielačom, takzvaným ADS-B transponderom:

(foto zo stránky Garmin)
Toto zariadenie posiela na frekvencii 1090 MHz špeciálne pakety, ktoré obsahujú základné parametre letu, typ vzdušného plavidla, jeho súradnice, cíľové miesto a pod.
Signál na spektre vyzerá asi takto:

A čo je pre nás najdôležitejšie, dekódovať tieto dáta nie je ťažké, stačí RTL-SDR prijímač, ktorého cena je okolo 8 USD, pripojený k počítaču. Vlastne, idea je už zrejme jasná — ak zhromaždíme dáta z mnohých prijímačov, dostaneme obrázok, ktorý vyzerá približne takto:

Ale to nie je všetko. Niektoré lietadlá posielajú pakety dát, ale chýbajú v nich GPS súradnice. Ak prijímame dáta súčasne z mnohých prijímačov, ktorých súradnice sú známe, môžeme analýzou oneskorení na rôznych prijímačoch zistiť polohu vzdušného plavidla. Takáto technológia sa nazýva multilateration (MLAT), o ktorej sa môžete dozvedieť viac .
A nakoniec posledná otázka — ako sa dáta prijímajú. Odpoveď je jednoduchá, prijímač si môže nainštalovať ktokoľvek, cena sa pohybuje od 0 do 50 USD. Napríklad takto vyzerá mapa prijímačov služby Flightaware:

Ako vidno, pokrytie ruskej časti ponecháva veľa želania, takže niektorí majú celkom šancu byť prví.
Na prijímanie dát sú potrebné:
— Raspberry Pi2/3 s pripojením na internet (cena od 20 USD)
— RTL-SDR dongle (cena od 10 USD)
— aspoň najjednoduchšia anténa z dvoch kusov drôtu dlhého 6,8 cm každý (1/4 dipól na 1090 MHz)
Tiež je žiaduce mať miesto s viac-menej otvoreným výhľadom aspoň na časť neba, pretože signály gigahertzovej frekvencie sú absorbované prekážkami, ako sú budovy alebo stromy.
Mal som už Raspberry Pi a RTL-SDR, takže som nemusel nič kupovať. Ale každý si môže bezplatne vyskúšať získať hotový prijímač — Flightradar i Flightaware posielajú súpravy zdarma používateľom z oblastí, kde je momentálne pokrytie nedostatočné. Žiadosť je možné zaslať prostredníctvom odkazu ( alebo ), samozrejme, má zmysel to skúšať tým, ktorí žijú v pomerne odľahlých oblastiach.
Používal som súpravu z RTL-SDR V3, ktorá spolu s anténou a mini-stojanom stála 27$ s bezplatnou dopravou z Číny:

Mimochodom, ako druhý bonus, všetkým, ktorí posielajú údaje na server, poskytujú Flightradar24 a Flightaware neobmedzený prístup k prémiovému účtu a všetkým funkciám servera (takýto prístup stojí samostatne okolo 50$/mesiac). Takže ak niekto má záujem o letectvo a chce mať rozšírený prístup k takému účtu, inštalácia RTLSDR prijímača je celkom lacnou alternatívou.
Testovanie
Inštalácia je veľmi jednoduchá, na Raspberry Pi stačí pripojiť prijímač a spustiť jeden príkaz:
sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"Skript sa spýta na potrebné údaje (súradnice a typ prijímača, e-mailovú adresu), následne bude softvér fungovať automaticky, pozornosť zo strany používateľa už nie je potrebná. Súčasne je možné aktivovať prémiový účet (pre FR24 cez odkaz ) a okamžite využívať všetky jeho možnosti (sledovanie letov a pod.).
Môžete ísť na stránku IP adresy Raspberry Pi a vidieť aktuálny stav:

Oveľa viac informácií môžete vidieť na stránke účtu Flightradar24:

Žijem na 6. poschodí relatívne blízko letiska, takže počet sledovaných lietadiel za deň presiahol 1000, aj na jednoduchú anténu na parapete. Zaujímavé je, že aj s takouto anténou maximálny dosah na prijatú loď dosiahol 215 míľ. Rôzne varianty antén nájdete na ebay, keď zadáte do vyhľadávania ads-b antenna.
Alternatíva
Bonus pre tých, ktorí mali trpezlivosť dočítať sa až sem. U niektorých čitateľov sa môže objaviť otázka: je možné sa zaobísť bez externých služieb typu Flightradar? Samozrejme, je to možné, spustiť dekodér na Raspberry Pi sa dá aj priamo. Stiahnuť zdrojové kódy môžete na adrese .
Stačí na Raspberry Pi zadať 3 príkazy:
git clone https://github.com/antirez/dump1090.git
cd dump1090/
makePotom môžete dekodér spustiť príkazom:
.\/dump1090 --interactive --netDekóder začína pracovať a vidíme „surové dáta“ — zoznam viditeľných „palubných dosiek“:

Teraz sa môžeme prihlásiť do prehliadača na Raspberry Pi a obdivovať vlastný, lokálny Flightradar, obrázok môže vyzerať asi takto:

Prečo by to mohlo byť potrebné? Po prvé, jednoducho zaujímavosti, po druhé, Flightradar24, žiaľ, filtruje časť dát a ukazuje nie všetky lietadlá (napríklad, môžu sa nezobrazovať vojenské, vládne alebo business-jety). Spustením vlastnej lokálnej služby vidíme všetko „ako je“, bez akejkoľvek cenzúry. Samozrejme, objem dát je obmedzený našou lokálnou polohou a kvalitou antény, tiež nebude dostupná technológia MLAT. Dump1090 je dostupný v zdrojových kódoch, takže záujemcovia môžu dokonca vytvoriť vlastnú verziu Flightradar, s blackjackom a inými vylepšeniami.
Zhrnutie
Ako vidíte, všetko nie je také zložité, a pritom celkom zaujímavé a cenovo dostupné. Na pochopenie poradia cien: pred 10 rokmi prijímač Airnav RadarBox stál okolo 1000$, teraz RTL-SDR, ktorý robí to isté, môžete získať za 10$.
V mojom prípade bol prijímač zapnutý len na testovanie, nemá praktický zmysel ho mať neustále zapnutý, hustota pokrytia európskej časti už dosahuje 100%. Pre obyvateľov ruského vidieka, naopak, to môže byť celkom zaujímavé — objavuje sa možnosť robiť užitočnú činnosť pre leteckých cestovateľov z celého sveta, rozšírením pokrytia, a tiež získať prístup k prémiovému účtu vyššie uvedených stránok.
Všetkým prajem úspešné experimenty.
Zdroj: habr.com
