ADS-B

Con Raspberry Pi ed RTL-SDR

ADS-B, acronimo di Automatic Dependent Surveillance – Broadcast, è un sistema utilizzato sui velivoli per trasmettere automaticamente via radio informazioni identificative e dati di posizione derivanti dai sistemi di bordo. Il sistema opera a livello internazionale sulla frequenza di 1090 MHz attraverso il transponder Mode-S, ma esistono anche altri standard, come l’UAT americano a 978 MHz.

Materiale occorrente

Raspberry Pi
Per questa applicazione non occorrono importanti risorse hardware, un Raspberry Pi 3B è più che sufficiente e probabilmente anche un Pi 1B+ se utilizzato con sistema operativo Lite (senza desktop). Per dimensioni ridotte si potrebbe optare anche per il Pi Zero W o un Pi 3 model A+.

Ricevitore
Occorre un ricevitore RTL-SDR basato sul chip RTL2832, è possibile utilizzare le solite chiavette USB generiche per il DVB-T o dedicate all’utilizzo radio come Airspy o Noolec. Da escludere quelle che utilizzano il tuner Elonics E4000 che ha un buco di ricezione proprio intorno alla frequenza che c’interessa, verificare che vi sia il chip tuner Rafael Micro R820T o successivi. Ci sono inoltre chiavette specifiche per l’ADS-B come la ProStick di FlighAware o la FlightStick di AirNav RadarBox, che sono espressamante pensate per questo utilizzo ed integrano filtro passa banda e premplificatore di segnale.

Antenna
Scegliere un’antenna di tipo omnidirezionale e specifica per la frequenza di 1090 MHz. Sul mercato se ne trovano per l’ADS-B, generalmente in configurazione collineare o 5/8, ma per cominciare si può costruire molto facilmente una ground plane o tagliare a misura di 1/4 d’onda (69 cm) lo stilo a base magnetica solitamente in dotazione alle chiavette RTL-SDR.

Accessori
Per il collegamento dell’antenna al ricevitore, utilizzare un cavo coassiale di buona qualità da 75 o 50 ohm, in base all’impedenza d’ingresso della chiavetta RTL-SDR. Considerare che a questa frequenza l’attenuazione del cavo comincia ad essere notevole (nell’ordine di 2 o 3 dB per 10 metri), limitarne pertanto la lunghezza allo stretto necessario. Se la distanza dell’antenna dal ricevitore è grande, sarà necessario porre sotto l’antenna un preamplificatore di segnale da palo, come quelli utilizzati per la TV. In aree molto affollate di segnali RF, un filtro passabanda specifico per l’ADS-B a 1090 MHz, aiuta a tenere pulito da segnali indesiderati ciò che arriva al ricevitore evitando la saturazione dello stadio d’ingresso e migliorando la ricezione dei segnali più deboli.

RTL-SDR - Raspberry Pi
RTL-SDR – Raspberry Pi

readsb

Per la decodifica dei segnali digitali ADS-B utilizzeremo l’utility readsb, fork della dump1090-fa di FlightAware, che a sua volta deriva dallo storico decoder dump1090 di antirez (Salvatore Sanfilippo) e successivi sviluppi di altri autori. Readsb era stata inizialmente sviluppata da Mictronics e poi ripresa da wiedehopf, rispetto alla dump1090-fa, presenta caratteristiche aggiuntive e non richiede ulteriori software per l’invio dei dati verso server esterni.

Installazione

Se non l’avete già disponibile, preparate una SD card con il sistema operativo Raspberry Pi OS, seguendo la guida Installare Raspberry Pi OS.

Collegare in rete il Raspberry Pi tramite Wi-Fi o cavo Ethernet, collegare la chiavetta RTL su una porta USB.

Da riga di comando digitare:

sudo bash -c "$(wget -O - https://github.com/wiedehopf/adsb-scripts/raw/master/readsb-install.sh)"

che lancia lo script d’installazione automatica per readsb e l’interfaccia web tar1090. Il processo dura qualche minuto. Lo stesso comando è valido anche per futuri upgrade.

Se rtl-sdr non è mai stato utilizzato in precedenza sul sistema, eseguire un reboot

sudo reboot

Configurazione

Impostare la propria posizione con il comando (nell’esempio coordinate del centro di Roma)

sudo readsb-set-location 41.89280 12.49165

Se non si conoscono con precisione le proprie coordinate, andare su Google Maps, zoomare sul punto in cui è installato il ricevitore, premere il tasto destro del mouse e prendere nota delle coordinate riportate, da utilizzarsi così come sono nel comando precedente.

tar1090

Con readsb viene installata tar1090, un’interfaccia web avanzata per la visualizzazione su mappa del traffico aereo ricevuto e informazioni dettagliate. Per visualizzare l’interfaccia, aprire il browser del Raspberry Pi o di un qualsiasi PC collegato sulla stessa rete e digitare:

http://192.168.x.y/tar1090

dove 192.168.x.y è l’indirizzo ip del Raspberry Pi che si sta utilizzando per ricevere e decodificare.

ADS-B - tar1090
ADS-B – tar1090

graphs1090

Per visualizzare statistiche e performance sul funzionamento del ricevitore ADS-B, è molto utile installare l’utility graphs1090 dello stesso autore. Funziona anche con le altre varianti di dump1090.
Per l’installazione lanciare da riga di comando lo script

sudo bash -c "$(curl -L -o - https://github.com/wiedehopf/graphs1090/raw/master/install.sh)"

Lo stesso comando è valido anche per futuri upgrade.

Per visualizzare l’interfaccia, aprire il browser del Raspberry Pi o di un qualsiasi PC collegato sulla stessa rete e digitare:

http://192.168.x.y/graphs1090

dove 192.168.x.y è l’indirizzo ip del Raspberry Pi che si sta utilizzando per ricevere e decodificare.

I dati vengono memorizzati sulla SD card ogni 24h, per ridurre il logorio dovuto ai continui processi di scrittura. Eventuali spegnimenti improvvisi del Raspberry Pi per mancanza alimentazione, faranno perdere i dati statistici recenti non ancora salvati, per spegnere o riavviare utilizzare sempre l’apposito comando.

ADS-B - graphs1090
ADS-B – graphs1090

Riferimenti

Software

Argomenti correlati


Licenza Creative Commons Questa opera è distribuita con:
licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Italia.

Si declina ogni responsabilità per eventuali errori ed omissioni e gli eventuali danni che ne dovessero conseguire. Per ulteriori informazioni consultare le note legali.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *