Verjetno je vsak, ki je kdaj pozdravil ali pospremil sorodnike ali prijatelje na letalo, uporabljal brezplačno storitev Flightradar24. To je zelo priročen način za sledenje položaju letala v realnem času.

Kot je pokazala anketa med znanci, zelo malo ljudi ve, da to storitev podpirajo le entuziasti, ki pošiljajo podatke na strežnik. Še manj ljudi ve, da se lahko projektu pridruži kdorkoli.
Zapolnimo to vrzel. O tem, kako to deluje, bomo nadaljevali pod katom.
Strojna oprema
Prvo vprašanje je — od kje prihajajo podatki.
Vsaka civilna letalo je opremljeno s posebnim oddajnikom, imenovanim ADS-B transponder:

(slika s spletne strani Garmin)
Ta naprava na frekvenci 1090 MHz pošilja posebne pakete, ki vsebujejo osnovne parametre leta, tip letala, njegove koordinate, ciljno letališče itd.
Signal v spektru izgleda približno tako:

In kar je za nas najpomembnejše, dekodiranje teh podatkov ni zapleteno, dovolj je RTL-SDR sprejemnik, ki stane približno 8 $, povezan z računalnikom. Načeloma je ideja verjetno že jasna — če zberemo podatke z več sprejemnikov, bomo dobili sliko, približno takšno:

Toda to še ni vse. Nekatera letala pošiljajo pakete podatkov, vendar v njih manjkajo GPS- koordinate. Če sprejemamo podatke hkrati z več sprejemniki, katerih koordinate so znane, lahko z analizo zamud na različnih sprejemnikih ugotovimo lokacijo letala. Ta tehnologija se imenuje multilateration (MLAT), o njej lahko preberete več .
In končno, zadnje vprašanje — kako se podatki sprejemajo. Odgovor je preprost, sprejemnik si lahko postavi kdorkoli, cena tega se giblje od 0 do 50 $. Za primer, tako izgleda zemljevid sprejemnikov storitve Flightaware:

Kot lahko vidite, pokritost ruskega dela pušča veliko možnosti, tako da imajo nekateri povsem možnost, da postanejo prvi.
Za sprejem podatkov potrebujete:
— Raspberry Pi2/3 s povezavo z internetom (cena od 20 $)
— RTL-SDR dongle (cena od 10 $)
— vsaj najpreprostejša antena iz dveh kosov žice dolge 6,8 cm vsak (1/4 dipol na 1090 MHz)
Prav tako je zaželeno mesto z bolj ali manj odprtim pregledom vsaj dela neba, saj signali gigaherčne frekvence absorbirajo ovire, kot so hiše ali drevesa.
Imam že Raspberry Pi in RTL-SDR, zato nisem potreboval ničesar kupiti. Vendar pa lahko vsak brezplačno poskusi dobiti pripravljen sprejemnik — tako Flightradar kot Flightaware pošiljata komplekte brezplačno uporabnikom iz tistih območij, kjer je trenutno pokritost nezadostna. Zahtevek lahko pošljete na povezavi ( ili ), seveda pa je smiselno poskusiti tistim, ki živijo v dovolj oddaljenih krajih.
Uporabil sem komplet RTL-SDR V3, ki je skupaj z anteno in mini-stativom stal 27 $ s brezplačno dostavo iz Kitajske:

Omeniti velja, da vsi, ki pošiljajo podatke na strežnik, in Flightradar24 in Flightaware zagotavljajo neomejen dostop do premium računa in vseh funkcij strežnika (tak dostop stane približno 50 $/mesec). Torej, če koga zanima letalstvo in želi imeti razširjen dostop do takega računa, je namestitev RTLSDR sprejemnika povsem poceni alternativa.
Testiranje
Namestitev je izjemno preprosta, na Raspberry Pi je dovolj, da priključite sprejemnik in zaženete eno ukaz:
sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"Skripta bo zahtevala potrebne podatke (koordinate in tip sprejemnika, elektronski naslov), nato bo programska oprema delovala samodejno, pozornost uporabnika več ne bo potrebna. Hkrati lahko aktivirate premium račun (za FR24 na povezavi ) in takoj uživate v vseh njegovih možnostih (sledovi letov itd.).
Lahko obiščete stran IP naslova Raspberry Pi in vidite trenutni status:

Veliko več informacij lahko vidite na strani računa Flightradar24:

Živim v 6. nadstropju, razmeroma blizu letališča, tako da je število opazovanih letal na dan preseglo 1000, celo s preprosto anteno na oknu. Zanimivo je, da je bila z takšno anteno največja razdalja do sprejetega letala 215 milj. Različne možnosti anten so na voljo na ebayu, če v iskalnik vtipkate ads-b antenna.
Alternativa
Bonus za tiste, ki so imeli potrpljenje, da so prebrali do sem. Nekateri bralci se lahko vprašate: ali lahko obvladamo brez zunanjih storitev, kot je Flightradar? Seveda lahko, dekoder na Raspberry Pi lahko poganjate tudi neposredno. Izvorne datoteke lahko prenesete na naslovu .
Na Raspberry Pi vnesite 3 ukaze:
git clone https://github.com/antirez/dump1090.git
cd dump1090/
makeNato se dekoder lahko zažene s ukazom:
./dump1090 --interactive --netDekoder začne delovati in vidimo 'surove podatke' — seznam vidnih 'letal':

Zdaj lahko z brskalnikom dostopamo do Raspberry Pi in občudujemo lastno lokalno Flightradar, slika je lahko videti približno tako:

Zakaj bi to bilo potrebno? Po eni strani iz preproste radovednosti, po drugi strani pa Flightradar24 žal filtrira del podatkov in prikazuje ne vsa letala (na primer, vojaška, vladna ali poslovna letala morda ne bodo prikazana). Z zbiranjem lastnih lokalnih storitev vidimo vse 'kot je', brez kakršne koli cenzure. Seveda, obseg podatkov je omejen z našo lokalno lokacijo in kakovostjo antene, prav tako ne bo dostopna tehnologija MLAT. Dump1090 je na voljo v izvorni kodi, tako da lahko tisti, ki si želijo, celo ustvarijo svojo različico Flightradar, z blackjackom in drugimi dodatki.
Zaključki
Kot lahko vidite, ni tako zapleteno, obenem pa je precej zanimivo in poceni. Za razumevanje cenovnega razreda: še pred 10 leti je sprejemnik Airnav RadarBox stal okoli 1000$, zdaj pa je RTL-SDR, ki dela enako, mogoče dobiti za 10$.
V mojem primeru je bil sprejemnik zagnan le za testiranje, ni praktičnega smisla, da bi ga imeli stalno vklopljenega, gostota pokritosti evropskega dela je že tako 100%. Za prebivalce ruskih odročnih krajev pa je morda to lahko precej zanimivo — možnost storiti koristno delo za potnike po vsem svetu ter razširiti območje pokritosti, pa tudi dostop do Premium računa omenjenih spletnih mest.
Vsem uspešne eksperimente.
Izvor: habr.com
