Provavelmente, todos que já encontraram ou se despediram de familiares ou amigos no avião usaram o serviço gratuito Flightradar24. É uma maneira bastante conveniente de acompanhar a posição do avião em tempo real.

Como mostrou uma pesquisa com amigos, muito poucos sabem que este serviço é mantido apenas por entusiastas que enviam dados para o servidor. Ainda menos sabem que qualquer pessoa pode se juntar ao projeto.
Vamos preencher essa lacuna. Sobre como isso funciona, continuaremos abaixo.
Hardware
A primeira pergunta é: de onde vêm os dados.
Cada aeronave civil está equipada com um transmissor especial, chamado de transmissor ADS-B:

(foto do site da Garmin)
Esse dispositivo envia na frequência de 1090MHz pacotes especiais, contendo os principais parâmetros de voo, o tipo de aeronave, suas coordenadas, o destino, entre outros.
O sinal no espectro se parece aproximadamente com isso:

E o que é mais importante para nós, decodificar esses dados não é difícil, basta ter um receptor RTL-SDR, que custa em torno de 8$, conectado ao computador. Na verdade, a ideia já deve estar clara — se coletarmos dados de múltiplos receptores, obteremos uma imagem semelhante a esta:

Mas isso ainda não é tudo. Parte das aeronaves envia pacotes de dados, mas eles não incluem coordenadas de GPS. Se receber dados ao mesmo tempo de múltiplos receptores, cujas coordenadas são conhecidas, analisando os atrasos em diferentes receptores, é possível descobrir a localização da aeronave. Essa tecnologia é chamada de multilateração (MLAT), e você pode ler mais sobre ela .
E, finalmente, a última questão — como os dados são recebidos. A resposta é simples, qualquer um pode instalar um receptor, o custo varia de 0 a 50$. Por exemplo, assim é o mapa dos receptores do serviço Flightaware:

Como podemos ver, a cobertura na parte russa deixa a desejar, então alguns têm uma chance real de serem os primeiros.
Para receber os dados, são necessários:
— Raspberry Pi2/3 com internet conectada (preço a partir de 20$)
— Dongle RTL-SDR (preço a partir de 10$)
— pelo menos uma antena simples feita de 2 pedaços de fio com 6.8cm cada (1/4 dipolo a 1090MHz)
Além disso, é desejável ter um local com uma linha de visão mais ou menos aberta para pelo menos parte do céu, pois os sinais de frequência gigahertz são absorvidos por obstáculos como prédios ou árvores.
Eu já tinha um Raspberry Pi e um RTL-SDR, então não precisei comprar nada. Mas qualquer um pode tentar obter um receptor pronto gratuitamente — tanto o Flightradar quanto o Flightaware enviam kits gratuitamente para usuários de áreas onde a cobertura é atualmente inadequada. Você pode enviar um pedido pelo link ( ou ), é claro, é sensato tentar para quem vive em áreas remotas.
Eu usei um kit com RTL-SDR V3, que, junto com a antena e um mini-tripé, custou 27$ com frete grátis da China:

Aliás, como segundo bônus, todos que enviam dados para o servidor, tanto Flightradar24 quanto Flightaware oferecem acesso ilimitado à conta premium e a todas as funcionalidades do servidor (esse acesso separado custa cerca de 50$/mês). Então, se alguém está interessado na aviação e quer ter acesso expandido a uma conta desse tipo, instalar um receptor RTLSDR é uma alternativa bem econômica.
Testes
A instalação é muito simples, no Raspberry Pi é suficiente conectar o receptor e executar um comando:
sudo bash -c "[O$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"O script solicitará os dados necessários (coordenadas e tipo de receptor, endereço de e-mail), depois o software funcionará automaticamente, sem que o usuário precise de mais atenção. Paralelamente, você pode ativar a conta premium (para FR24 pelo link ) e usar imediatamente todas as suas funcionalidades (rastreamento de voos, etc.).
Você pode acessar a página do endereço IP do Raspberry Pi e ver o status atual:

Muito mais informações podem ser vistas na página da conta Flightradar24:

Eu moro no 6º andar, relativamente perto do aeroporto, então o número de aviões observados em um dia foi de mais de 1000, mesmo com uma antena simples na janela. Curiosamente, mesmo com essa antena, a distância máxima até o avião recebido foi de 215 milhas. Diferentes opções de antenas podem ser encontradas no eBay, buscando por antena ads-b.
Alternativa
Bônus para aqueles que tiveram paciência de ler até aqui. Alguns leitores podem se perguntar: é possível operar sem serviços de terceiros como o Flightradar? Claro que sim, é possível rodar o decodificador no Raspberry Pi diretamente. O código-fonte pode ser baixado em .
É suficiente digitar 3 comandos no Raspberry Pi:
git clone https://github.com/antirez/dump1090.git
cd dump1090/
makeEm seguida, o decodificador pode ser iniciado com o comando:
.\/dump1090 --interactive --netO decodificador começa a funcionar, e vemos os 'dados brutos' — uma lista de 'veículos' visíveis:

Agora podemos acessar o Raspberry Pi pelo navegador e admirar o nosso próprio Flightradar local, a imagem pode parecer algo assim:

Por que isso pode ser necessário? Primeiro, por curiosidade, e em segundo lugar, o Flightradar24, infelizmente, filtra parte dos dados e mostra nem todos os aviões (por exemplo, podem não ser exibidos aviões militares, governamentais ou jatos executivos). Ao iniciar nosso próprio serviço local, vemos tudo 'como é', sem nenhum tipo de censura. No entanto, o volume de dados é limitado pela nossa localização local e pela qualidade da antena, além de que a tecnologia MLAT não estará disponível. O Dump1090 está disponível em código-fonte, então quem desejar pode até criar sua própria versão do Flightradar, com blackjack e outras funcionalidades.
Como resultado, obtemos um serviço de "monitoramento como serviço", automatizado na linha de produção de integração contínua. O desenvolvedor ou testador precisa apenas definir a lista de métricas em um arquivo JSON, e tudo o mais acontece automaticamente. Obtemos um controle de qualidade transparente dos lançamentos: todas as notificações sobre desempenho, consumo de recursos ou regressões arquitetônicas.
Como pode ser visto, tudo não é tão complicado, e é bastante interessante e barato. Para entender a faixa de preços: há 10 anos, o receptor Airnav RadarBox custava cerca de 1000$, agora o RTL-SDR, que faz a mesma coisa, pode ser adquirido por 10$.
No meu caso, o receptor foi ligado apenas para testes; não faz sentido mantê-lo sempre ligado, pois a densidade de cobertura na parte europeia já atinge 100%. Para os residentes das áreas remotas da Rússia, isso pode ser bastante interessante — surge a possibilidade de fazer algo útil para os viajantes aéreos do mundo todo, ampliando a zona de cobertura, e também obter acesso a uma conta Premium nos sites mencionados.
Desejo a todos bons experimentos.
Fonte: habr.com
