Probabil că fiecare dintre cei care au întâlnit sau au dus rude sau prieteni la avion a folosit serviciul gratuit Flightradar24. Este o modalitate foarte convenabilă de a urmări poziția avionului în timp real.

Așa cum a arătat un sondaj printre cunoscuți, foarte puțini știu că acest serviciu este susținut doar de entuziaști care trimit date către server. Chiar și mai puțini știu că oricine poate să se alăture proiectului.
Vom completa această lacună. Despre cum funcționează vom continua mai jos.
Hardware
Prima întrebare este — de unde provin datele.
Fiecare aeronavă civilă este echipată cu un transmițător special, așa-numitul transmițător ADS-B:

(foto de pe site-ul Garmin)
Această dispozitiv trimite pe frecvența de 1090 MHz mesaje speciale care conțin parametrii principali ai zborului, tipul aeronavei, coordonatele sale, punctul de destinație etc.
Semnalul pe spectru arată cam așa:

Și ceea ce este cel mai important pentru noi, decodarea acestor date nu este complicată, este suficient un receptor RTL-SDR, cu un preț de aproximativ 8$, conectat la un computer. De fapt, ideea este deja clară — dacă colectăm date din mai multe receptoare, vom obține o imagine, cam așa:

Dar acestea nu sunt toate. Unele aeronave transmit pachete de date, dar acestea nu conțin coordonatele GPS. Dacă primim date din simultan de la mai multe receptoare, ale căror coordonate sunt cunoscute, putem determina poziția aeronavei analizând întârzierile de la diferite receptoare. Această tehnologie se numește multilateration (MLAT), despre care se poate citi mai multe .
Și, în sfârșit, ultima întrebare — cum sunt primite datele. Răspunsul este simplu, oricine poate plasa un receptor la el acasă, costul fiind de la 0 la 50$. De exemplu, așa arată harta receptorilor serviciului Flightaware:

După cum se poate observa, acoperirea părții rusești lasă de dorit, astfel că unii au șansa de a fi primii.
Pentru a primi date, este necesar:
— Raspberry Pi2/3 cu internet conectat (preț de la 20$)
— Dongle RTL-SDR (preț de la 10$)
— măcar o antenă simplă din 2 bucăți de fir de 6.8 cm fiecare (1/4 dipol pe 1090 MHz)
De asemenea, este de preferat un loc cu o viziune deschisă asupra cel puțin unei părți din cer, deoarece semnalele de frecvență gigahertz sunt absorbite de obstacole precum clădiri sau copaci.
Am avut atât Raspberry Pi, cât și RTL-SDR, așa că nu a fost necesar să cumpăr nimic. Însă, oricine poate încerca să obțină gratuit un receptor gata făcut — atât Flightradar, cât și Flightaware oferă kituri gratuite utilizatorilor din zonele în care acoperirea este în prezent insuficientă. Poți trimite o solicitare prin linkul ( sau ), desigur, este rezonabil să încerce cei care locuiesc în zone destul de izolate.
Am folosit un kit cu RTL-SDR V3, care împreună cu o antenă și un mini-tripod a costat 27$ cu livrare gratuită din China:

Apropo, ca un al doilea bonus, toți cei care transmit date către server primesc atât Flightradar24 cât și Flightaware acces nelimitat la un cont premium și la toate funcțiile serverului (un astfel de acces costă separat în jur de 50$/lună). Deci, dacă cineva este interesat de aviație și vrea să aibă acces extins la un astfel de cont, instalarea unui receptor RTLSDR este o alternativă destul de ieftină.
Testare
Instalarea este extrem de simplă, pe Raspberry Pi trebuie doar să conectezi receptorul și să rulezi o comandă:
sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"Scriptul va solicita datele necesare (coordonate și tipul receptorului, adresă de email), ulterior software-ul va funcționa automat, atenția din partea utilizatorului nu mai este necesară. În paralel, se poate activa contul premium (pentru FR24 la linkul ) și se poate folosi imediat toate funcțiile sale (trackere de zbor și altele).
Poți accesa pagina cu adresa IP a Raspberry Pi și să vezi starea curentă:

Mult mai multe informații pot fi văzute pe pagina contului Flightradar24:

Locuiesc la etajul 6, relativ aproape de aeroport, așa că numărul de avioane observate într-o zi a fost de peste 1000, chiar și cu o antenă simplă pe pervaz. Interesant este că, chiar și cu această antenă, distanța maximă până la aeronava recepționată a fost de 215 mile. Diferite opțiuni de antene pot fi găsite pe ebay căutând 'ads-b antenna'.
Alternativă
Bonus pentru cei care au avut răbdare să citească până aici. Unii cititori ar putea avea întrebarea: se poate rămâne fără servicii externe precum Flightradar? Desigur, se poate rula decoderul pe Raspberry Pi direct. Sursele pot fi descărcate de la adresa .
Este suficient să introduci 3 comenzi pe Raspberry Pi:
git clone https://github.com/antirez/dump1090.git
cd dump1090/
makeApoi, decodorul poate fi pornit cu comanda:
.\/dump1090 --interactive --netDecodorul începe să funcționeze și vedem „datele brute” - o listă cu „bordurile” vizibile:

Acum putem accesa Raspberry Pi cu un browser și admira propriul nostru Flightradar local, imaginea poate arăta cam așa:

De ce ar fi necesar acest lucru? În primul rând, din curiozitate, și în al doilea rând, din păcate, Flightradar24 filtrează o parte din date și arată nu toate avioanele (de exemplu, avioanele militare, guvernamentale sau cele private). Pornind un serviciu local, vedem totul „așa cum este”, fără nicio cenzură. Însă, desigur, volumul de date este limitat de locația noastră locală și de calitatea antenei, de asemenea, tehnologia MLAT nu va fi disponibilă. Dump1090 este disponibil în sursă, așa că doritorii pot chiar să-și creeze propria versiune de Flightradar, cu blackjack și alte accesorii.
Conclusions
După cum se poate observa, totul nu este atât de complicat, în același timp este interesant și ieftin. Pentru a înțelege un ordin de mărime al prețurilor: acum 10 ani, receptorul Airnav RadarBox costa cam 1000$, acum RTL-SDR, care face același lucru, poate fi achiziționat cu 10$.
În cazul meu, receptorul a fost pornit doar pentru testare, nu are sens practic să-l țin pornit constant, densitatea acoperirii în partea europeană deja atinge 100%. Pentru cei din zonele îndepărtate ale Rusiei, din contră, poate fi destul de interesant - apare oportunitatea de a face ceva util pentru călătorii aerieni din întreaga lume, extinzând zona de acoperire, și de asemenea, de a avea acces la un cont Premium pe site-urile menționate anterior.
Vă doresc tuturor experimente reușite.
Sursa: habr.com
