O que é esse projeto de radar de aviões
Um desenvolvedor chamado KTZ publicou no seu blog um projeto chamado 'ESP32 plane radar for my desk' - um dispositivo que ele montou para a mesa de trabalho que mostra em tempo real quais aviões estão sobrevoando sua região. O projeto viralizou no Hacker News com mais de 180 pontos por combinar hardware acessível, tecnologia de aviação e um resultado visual impressionante.
O dispositivo usa um microcontrolador ESP32 conectado a um receptor ADS-B (Automatic Dependent Surveillance-Broadcast) para captar os sinais que os próprios aviões transmitem e exibe as informações em um pequeno display. Ao colocar na mesa, e possível ver o código do voo, altitude, velocidade e direção de cada aeronave que passa pelo espaço aéreo acima da sua cidade.
O projeto e um exemplo perfeito de como tecnologias abertas e hardware barato permitem criar dispositivos que seriam impensáveis fora de contextos profissionais ha 20 anos. O custo total fica entre 30 e 80 dólares dependendo dos componentes escolhidos.
O que é ADS-B e como funciona
O ADS-B (Automatic Dependent Surveillance-Broadcast) e um sistema de vigilância de aviação onde as aeronaves transmitem continuamente sua posição, altitude, velocidade e identificação via radio. Em vez de depender de radar terrestre que 'pinga' o avião, o ADS-B e o próprio avião se identificando ativamente.
A transmissão acontece na frequência 1090 MHz e e de acesso público - qualquer receptor de radio com capacidade nessa frequência consegue captar os sinais. Não e necessária nenhuma licença especial para receber (não transmitir) esses sinais. Aviões modernos são obrigados a ter transponders ADS-B em muitos espaços aéreos, o que garante boa cobertura.
A maioria dos voos comerciais e uma boa parte da aviação geral já transmite ADS-B. Plataformas como FlightAware e Flightradar24 são construidas exatamente sobre esses dados públicos coletados por redes de receptores de voluntários ao redor do mundo.
Se você já usou o Flightradar24 para rastrear um voo, estava usando dados ADS-B coletados por receptores de voluntários. O projeto do ESP32 e basicamente um receptor pessoal da mesma tecnologia que alimenta esses serviços.
Componentes necessários para replicar
O projeto usa três componentes principais. O primeiro e o ESP32 como microcontrolador central - processa os dados recebidos e controla o display. O segundo e um receptor RTL-SDR (Software Defined Radio) conectado a uma antena simples de 1090 MHz - esses dongles USB de SDR custam entre 15 e 40 dólares e originalmente eram dongles de TV digital que a comunidade de radio descobriu que funcionavam como receptores de radio de propósito geral.
O terceiro componente e um display para exibir as informações. O projeto usa um display TFT colorido de 2 a 3 polegadas, que mostra um mapa simplificado com os aviões representados por pontos ou ícones com as informações de voo ao lado.
# Componentes do projeto (lista aproximada)
- ESP32 development board (ESP32-S3 recomendado)
- RTL-SDR USB dongle (RTL2832U + R820T2)
- Antena dipolo simples para 1090 MHz
- Display TFT SPI (ex: ILI9341 2.8 polegadas)
- Protoboard ou PCB customizado
- Fonte de alimentação USBO software no ESP32 decodifica o protocolo Mode-S (o protocolo de baixo nível do ADS-B), extrai as informações de cada aeronave e atualiza o display. A antena pode ser uma simples antena dipolo feita de fio, já que 1090 MHz e uma frequência relativamente acessível para antenas caseiras.
Como o software funciona
A decodificação de ADS-B segue um protocolo bem documentado. Cada mensagem ADS-B tem 112 bits e carrega diferentes tipos de informação dependendo do 'tipo de mensagem'. O ESP32 decodifica em tempo real as mensagens recebidas pelo RTL-SDR, extrai o ICAO code (identificador único de cada aeronave), posição em latitude/longitude, altitude em pes, velocidade em nos e o código do voo.
// Exemplo simplificado de decodificação ADS-B
// Mensagem de posição (tipo 17, TC 9-18)
void decodeADSBPosition(uint8_t* msg) {
uint8_t tc = (msg[4] >> 3) & 0x1F; // tipo de conteúdo
if (tc >= 9 && tc <= 18) { // posição aerea
// altitude (bits 25-36)
uint16_t alt_raw = ((msg[5] & 0x0F) << 8) | msg[6];
int altitude = decodeGillham(alt_raw); // em pes
// posição CPR (compact position reporting)
// requer duas mensagens para calcular posição absoluta
}
}A exibição no display usa as coordenadas para plotar cada aeronave em um mapa relativo centrado na posição do receptor. O resultado visual e parecido com uma versão miniaturizada do radar do Flightradar24, mas apenas para aeronaves no alcance do receptor (tipicamente 100 a 300 km com boa antena).
O projeto e de recepção apenas - nenhuma transmissão e realizada. NUNCA transmita em frequências de aviação (incluindo 1090 MHz) sem as licenças apropriadas. A transmissão não autorizada em frequências de aviação e ilegal e potencialmente perigosa.
Como começar: passo a passo básico
O primeiro passo e montar o receptor ADS-B. Conecte o dongle RTL-SDR ao computador, instale os drivers e o software dump1090 (a implementação de decodificação ADS-B mais usada). O dump1090 vai começar a mostrar os aviões que estão no alcance imediatamente.
# Instalar dump1090 (Linux/Raspberry Pi)
sudo apt install dump1090-mutability
# Ou via source
git clone https://GitHub.com/antirez/dump1090
cd dump1090
make
./dump1090 --interactiveO segundo passo e conectar o ESP32 ao RTL-SDR via USB ou receber os dados do dump1090 via rede (se o RTL-SDR estiver em um Raspberry Pi na mesma rede). O ESP32 se conecta via WiFi e consome os dados JSON que o dump1090 serve em uma porta local.
O terceiro passo e adaptar o código do projeto (disponível em blog.ktz.me) para o seu display específico e testar. O blog do autor tem instruções detalhadas e os arquivos de firmware.
Comparação com alternativas
- Flightradar24 / FlightAware (aplicativo): solução mais simples, usa dados de receptores de outros voluntários. Não requer hardware próprio. Desvantagem: depende de internet e da rede de voluntários na sua região.
- PiAware (Raspberry Pi): a solução clássica para receptor ADS-B pessoal. Mais fácil de configurar que o projeto ESP32, mas sem display próprio - requer acessar via browser. Mais caro que o ESP32.
- ADS-B Exchange: rede alternativa ao FlightAware que inclui voos militares e outros normalmente filtrados. Usa o mesmo hardware de receptores.
- Projeto ESP32 (este): diferencial e o display próprio sem necessidade de computador ou celular. Dispositivo standalone que fica na mesa mostrando os aviões em tempo real.
Pontos positivos e limitações
O maior ponto positivo e a autonomia: o dispositivo funciona sem celular, sem navegador, sem nuvem. Liga, conecta ao WiFi local onde o receptor esta e mostra os aviões. Para quem gosta de aviação, e uma 'decoração' interativa genuinamente útil.
A acessibilidade do projeto e outro ponto forte. Todos os componentes são amplamente disponíveis, a tecnologia ADS-B e pública e bem documentada, e a comunidade maker tem recursos extensos sobre receptores RTL-SDR.
As limitações incluem o alcance: depende da qualidade da antena e de obstáculos físicos. Em zonas urbanas com prédios altos, o alcance pode ser menor. Aviões muito baixos (helicópteros em voo visual, por exemplo) podem não ter transponder ADS-B obrigatório dependendo da regulação local.
Casos de uso reais
- Entusiastas de aviação: o caso de uso principal. Quem gosta de aviões e quer um dispositivo físico além dos apps.
- Educação em redes e protocolos: o projeto e um excelente exercício prático de recepção e decodificação de protocolo binário em tempo real - conceitos aplicáveis em muitas áreas de engenharia.
- Monitoramento local de tráfego aéreo: regiões com aeródromos próximos ou rotas de baixa altitude de helicopter podem usar para ter consciência situacional do tráfego acima.
- Projeto maker para portfólio: combina hardware, software embarcado, protocolo de comunicação real e exibição de dados - um projeto completo que demonstra varias habilidades.
Dicas e boas práticas
A qualidade da antena impacta muito mais o alcance que o modelo do RTL-SDR. Uma antena dipolo simples cortada para 1090 MHz (aproximadamente 6.5 cm por elemento) já da um alcance muito melhor que as antenas genernricas que vem com os dongles. Existem designs de antena colinear no Instructables e YouTube que dobram o alcance facilmente.
Antes de montar o ESP32 standalone, experimente o dump1090 no Raspberry Pi ou notebook primeiro. Ver os aviões em tempo real no browser antes de construir o display físico confirma que o receptor e a antena estão funcionando e reduz o debugging do projeto final.
Verifique as regulações de radiocomunicação do seu pais. No Brasil, a Anatel regula o uso de dispositivos de radio. A recepção passiva em geral não requer licença, mas a transmissão sim. Mantenha o projeto em modo recepção apenas.
Vale construir esse projeto?
Para makers, entusiastas de aviação e quem quer um projeto com resultado visual impressionante: sim, definitivamente. O projeto combina vários domínios técnicos interessantes (hardware, firmware, protocolo de radio, exibição de dados) e o resultado - ver aviões reais sobrevoando na sua mesa - e genuinamente satisfatório.
Para quem quer apenas rastrear aviões sem construir hardware: os apps Flightradar24 e FlightAware funcionam sem nenhum hardware próprio. O projeto do ESP32 e para quem quer construir algo, não apenas consumir um serviço pronto.
O próximo passo: acesse blog.ktz.me/esp32-plane-radar/ para ver o projeto completo com fotos, código e instruções. Se você tiver um RTL-SDR disponível, experimente o dump1090 antes de comprar um ESP32 - e você já terá o radar rodando no browser em menos de 30 minutos.
Comentários
Deixar um comentárioVocê precisa ter uma conta no Do Zero ao Junior para comentar.