Anda comigo ver os aviões… Com um Raspberry Pi

Não… não é sobre a música de “Os Azeitonas” que estamos a falar, mas como conseguir ver os aviões em nossa casa recorrendo a um Raspberry Pi e um dongle usb cuja utilização inicial seria para ver TV digital no computador.

_ne_r820t_1g

Aparentemente, estes dispositivos possuem um sintonizador, que usando drivers ligeiramente alterados permitem transformá-lo num rádio definido por software (em inglês: Software Defined Radio ou SDR) e com o qual podemos “espreitar” as ondas do éter compreendidas entre os 24 e os 1766MHz (chipset RTL2832U + sintonizador Rafael Micro R820T), o que nos permite por menos de 20€ ter um rádio definido por software a um preço bem acessivel.

“Então e a cena dos aviões, pah!?!”, ok, ok… Então como é que vamos conseguir ver os aviões? Os aviões transmitem na frequência 1090MHz a sua identificação, altitude, velocidade, direção, latitude, longitude, o que nos permite colocá-lo no mapa e vermos a sua progressão.

Depois de finalizarmos a instalação inicial do Raspbian no nosso Raspberry Pi (expansão do espaço no cartão sd e alteração da password que vem por defeito para o utlizador pi) devemos actualizar o nosso sistema operativo com as ultimas actualizações através dos seguintes comandos:

<br /> sudo apt-get update<br /> sudo apt-get upgrade<br />

Tendo o nosso Raspberry Pi com o software fresquinho, vamos adicionar mais uns pózinhos:

<br /> sudo apt-get install git cmake libusb-1.0-0-dev build-essential<br />

Terminada a instalação, já nos vai ser possível clonar o repositório onde se encontram os drivers e aplicações que nos irão permitir aceder a todas as frequências que o sintonizador consegue “ouvir”.

<br /> sudo git clone git://git.osmocom.org/rtl-sdr.git<br />

Tchanan! Agora vamos passar à instalação;

<br /> cd rtl-sdr/<br /> mkdir build<br /> cd build<br /> cmake ../ -DINSTALL_UDEV_RULES=ON<br /> make<br /> sudo make install<br /> sudo ldconfig<br /> cd ~<br /> sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/<br />

Agora vamos criar um ficheiro novo com

<br /> sudo nano /etc/modprobe.d/raspi-blacklist.conf<br />

e adicionam as linhas seguintes:

<br /> blacklist dvb_usb_rtl28xxu<br /> blacklist rtl2832<br /> blacklist rtl2830<br />

Para gravar e sair Ctrl+X e depois

<br /> sudo reboot<br />

Se tudo correu como era suposto correr… bem… então quando executarmos o próximo comando o dongle será detectado

<br /> rtl_test<br />

Pois bem, se o Raspberry Pi já detecta o nosso dongle DVB-T, vamos então descodificar os sinais que andam pelos 1090MHz e para isso vamos instalar o dump1090 que nos vai permitir descodificar o sinal bem como visualizarmos em qualquer browser os aviões num mapa. Então vamos lá…

<br /> cd ~ (goes to your home directory)<br /> git clone git://github.com/mutability/dump1090.git</p> <p>cd dump1090<br /> make<br />

Portanto, quando a compilação do programa terminar já o podemos executar usando

./dump1090 --interactive

Se a antena do dongle estiver perto de uma janela e não houver muitos obstáculos à volta devem começar a aparecer no ecran alguns aviões, mas ainda vamos afinar mais um bocadinho o nosso setup.

Antes de continuarmos à procura dos aviões, vamos verificar qual a margem de erro do nosso sintonizador, e para isso vamos fazer mais uns testes e vamos executar o próximo comando e deixá-lo correr durante uns 5 minutos

rtl_test -p

Passados os 5 minutos façam Ctrl+C e anotem o valor de erro acumulado (no meu caso é de 55ppm) e agora sim, vamos executar o dump1090 com tudo e mais um par de botas (mais ou menos)

<br /> cd ~/dump1090/<br /> ./dump1090 --enable-agc --net --aggressive --fix --metric --ppm 55<br />

Agora sim, em principio devemos “ver” mais aviões (desde que eles estejam lá), embora a antena stock não esteja optimizada para a frequência em causa e seja bastante fácil fazer uma.

Agora é só abrir um browser e colocar o endereço de ip do Raspberry Pi e a porta 8080

<br /> http://endereco.ip.do.raspberry.pi:8080<br />

2015-02-22-184115_1024x744_scrot

Et voilá! O vosso próprio Flightradar24 ou Flight Aware, projectos para os quais podem participar, como podem ver aqui e aqui.