SDR-DVB-aereo
Ricezione del traffico aereo tramite radio SDR con il DVB-T RTL820T e Raspberry Pi
Utilizzo di un'antenna efficace
Oltre alla corretta installazione e compilazione dei programmi, non dimenticatevi di utilizzare una buona antenna di ricezione!
L'antenna fornita con il dongle ricevitore TV non è ottimizzata per la ricezione dela frequenza di i 1.090 MHz e quindi si otterranno dei risultati migliori utilizzando un'antenna dedicata.
Graham Leighton, sul suo sito, riporta degli ottimi risultati ottenuti con la sua antenna auto-costruita, consigliando anche l'utilizzo dei modelli Moonraker e DPD.
Altre antenne autocostruite molto valide sono: la collineare coassiale e collineare filare.
Ricordatevi di posizionate la vostra antenna il più in alto possibile e con un ampio spazio libero attorno ad essa, idealmente all'aperto invece che in un luogo chiuso.
Lavorare in remoto
Potete lavorare liberamente in remoto sul vostro RPi, senza la necessità di aver connesso la tastiera, il mouse e il display video sul RPi. Per far questo dovrete abilitare alla prima configurazione il servizio SSH sul Rpi.
Utilizzerete il servizio SSH attraverso la connessione LAN, utilizzando il terminale o più facilmente con l'uso del programma PuTTY, installato sul vostro PC. Una volta installato PuTTY sul vostro PC per lavorare via connessione di rete LAN, potrete successivamente configurare velocemente il vostro Raspberry Pi ad utilizzare un'interfaccia USB Wi-Fi e quindi far lavorare il device via wireless.
Il software NOOBS, comunque, richiede per la prima installazione una tastiera e un video HDMI, ma solo per la prima configurazione di base. Selezionate l'uso del sistema operativo Raspbian, da installare al primo avvio.
La configurazione con PuTTY viene descritta qui.
La configurazione WiFI attraverso la linea di comando viene descritta qui.
La modalità per connettere via cavo Ethernet il Raspberry Pi direttamente al vostro netbook o PC laptop, è stata descritta qui.
Questo vi permetterà di avere altre porte LAN disponibili sul vostro router o switch LAN e di abbassare il consumo elettrico dovuto al dongle WiFi connesso al vostro Raspberry Pi. Connessi in questo modo anche il vostro PC potrà accedere ad Internet attraverso il link in Wi-Fi. Grazie a Fred Hillhouse N7FMH per aver segnalato la pagina.
Preparazione del Raspberry Pi
Anche non essendo un guru di RPi/Linux, procediamo con l'installazione. Se avete delle domande su RPi/Linux, attendiamo di leggerle nella nostra ML pubblica LUG.
Nelle prossime linee di comando a seguire, potete utilizzare i comandi Ctrl-C o tasto destro Copia per inserire i comandi sul vostro teminale, e se usate PuTTY potete inviare i comandi copiati al vostro Raspberry attraverso il click destro del vostro mouse. (Questo work-around è stato testato su Linux 3.6.11 e NOOBS/Raspbian 3.12.22+).
Vi suggeriamo di partire con una SD card nuova/pulita. Scaricate l'ultimo software NOOBS aggiornato (oppure Raspbian Wheezy OS), e seguite le seguenti istruzioni per preparare la vostra SD card, indicate nel sito http://www.raspberrypi.org/downloads.
Successivamente alla prima installazione del SO sul RPi con NOOBS e dopo aver attivato il servizio SSH di RaspBian, potete procedere alle seguenti operazioni.
Avviare il vostro RPi sarà molto semplice e lo potrete connettere ad internet attraverso la vostra rete di casa, via WiFi.
Consigliamo di seguire le indicazioni per il primo avvio veloce del SO, descritte in questo documento.
Una volta che avrete terminato le operazioni di base della configurazione del vostro Raspberry, abilitato il servizio SSH, avrete connesso in rete il vostro RPi, proseguite come segue.
Connettetevi in SSH con il vostro device;
ssh pi@<indirizzo-del-RPi>
(esempio: ssh pi@192.168.1.101)
la password di default è: raspberry
Aprite una sessione terminale sul RPi e scrivete:
sudo apt-get update
(Questo comando aggiornerà la tabella dei pacchetti software all'ultima versione disponibile. Portebbe volerci diverso tempo per completare l'operazione).
Vi consigliamo di controllare la versione Linux presente sul RPi, digitando il comando:
uname -a command
Inizialmente, dopo l'installazione di NOOBS, la versione dovrebbe essere la 3.6.11+, passando dopo il secondo riavvio e dopo l'ultimo upgrade a 3.10.23+, e successivamente dopo l'ultimo aggiornamento alla versione 3.10.24+ o superiore.
Digitate ora il comando:
sudo apt-get upgrade
Questo comando aggiornerà il sistema operativo all'ultima versione disponibile. Dovendo attendere un po di tempo per vedere il termine dell'aggiornamento, andate pure a prendervi un caffè nel frattempo!
Attenzione: dopo l'aggiornamento del 2013-Dec-13 i driver occorrenti per il DVB-T USB stick verranno sovrascritti.
Se, dopo ogni upgrade, tramite il comando uname -a la versione del vostro Sistema Operativo indica approssimativamente ancora la versione 3.6.11+ , vi suggeriamo di mantenerla senza fare altri aggiornamenti.
Successivamente, date i seguenti comandi:
sudo apt-get install git-core
(Questo comando installerà il repository di git. Potreste averlo già presente nel Sistema Operativo; in questo caso il sistema vi avvertirà che possedete già la versione più aggiornata).
Di seguito, utilizziamo delle istruzioni per configurare il programma sdr-rtl che serve per la visualizzazione della pagina Web. Per convenienza, le istruzioni sono state copiate di seguito, e sono state disposte nell'ordine corretto di esecuzione.
sudo apt-get install git sudo apt-get install cmake sudo apt-get install libusb-1.0-0-dev # questo viene spiegato nella pagina di configurazione del programma sudo apt-get install build-essential
Potete anche dare i seguenti comandi attraverso un'unica linea di istruzione: (grazie a Sam Reed per questo appunto):
sudo apt-get install git git-core cmake libusb-1.0-0-dev build-essential
altrimenti è preferibile dare un comando alla volta, anche per vedere se il terminale vi ritorna degli errori di procedura, bloccando l'installazione normale.
Ora installate il driver del dongle RTL-2832U USB e lo compilate con i comandi:
git clone git://git.osmocom.org/rtl-sdr.git cd rtl-sdr mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig
se tutto è si è svolto correttamente, non sarà necessario ritornare ai comandi precedenti.
Connettere SOLO ORA il dongle RTL-2832U USB attraverso un HUB esterno alimentato (non obbligatorio, ma evita le sovra-correnti sulla porta USB).
Molte persone utilizzano un HUB USB alimentato per non sovra caricare la porta USB del RPi; questo a volte non è necessario soprattutto se avete un'altra alimentazione di 5V che alimenta il vostro Raspberry Pi. Potreste avere differenti risultati, ma l'uso del HUB USB è altamente raccomandato.
Per il buon funzionamento del RPi è necessario disporre di una corrente di alimentazione di almeno 1.5A, ma un alimentatore da 2A è vivamente consigliato nel caso in cui si usino abitualmente periferiche USB ad alto consumo. Se inserite il dongle RTL direttamente sulla USB del RPi a sistema avviato, quest'ultimo effettuerà spontaneamente un riavvio (reboot); non sorprendetevi!
Dopo un aggiornamento alla versione 3.10 di Linux si è notato che è necessario avere un HUB USB per fare lavorare correttamente il decoder DVB-T.
Inviare nuovamente il comando, via terminale:
sudo ldconfig
Avanzate al prossimo step, digitando i seguenti comandi che informeranno il SO della presenza della nuova interfaccia USB e successivamente riavvieranno il SO:
cd ~ sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/ sudo reboot
A riavvio avvenuto e riconnessi nuovamente al RPi, controllate la presenza del dongle USB sul RPi, con il comando:
rtl_test -t
La prima volta che date questo comando con inserito un dongle con il tuner R820-T, il test non funzionerà, in quanto l'applicazione cerca di default un tuner E4000. Se siete felici possessori di un device E4000, andate oltre e utilizzatelo senza problemi.
Altrimenti sappiate che il comando del test (-t) serve solo per trovare degli errori nella copertura di frequnza del tuner E4000.
Su versioni con Raspian Linux vecchi come la versione 3.6.11, si possono avere dei messaggi di errore simili a questo: Found 1 device(s): 0: Generic RTL2832U Using device 0: Generic RTL2832U Kernel driver is active, or device is claimed by second instance of librtlsdr. In the first case, please either detach or blacklist the kernel module (dvb_usb_rtl28xxu), or enable automatic detaching at compile time. usb_claim_interface error -6 Failed to open rtlsdr device #0.
Accade questo perché viene trovato un modulo per utilizzare il DVB da far utilizzare al kernel per poter permettere la ricezione TV! Questo non deve avvenire se abbiamo deciso di utilizzare device DVB-T per la ricezione ADS-B o come ricevitore SDR. Si richiede di procedere con degli step di configurazione, per ovviare al problema.
Se ottenete questo errore, occorrerà editare un testo di configurazione per mettere in blacklist i moduli interessati e quindi riuscire a risolvere il problema.
Editare il seguente NUOVO file /etc/modprobe.d/raspi-blacklist.conf, utilizzando il vostro editor preferito, (come nano o vi, ecc..):
sudo vi /etc/modprobe.d/raspi-blacklist.conf
aggiungere le seguenti linee nel file.
blacklist dvb_usb_rtl28xxu blacklist rtl2832 blacklist rtl2830
Salvate e uscite dall'editor.
È necessario riavviare il RPi, attraverso il seguente comando da terminale:
sudo reboot
Una volta riavviato e riconnessi nuovamente al vostro RPi, effettuare ancora il test di connessione all'interfaccia USB, digitando il comando da terminale:
rtl_test -t
Se ottenete un messaggio di errore come "cb transfer status: 1, canceling." significa che il dongle sta prelevando troppa corrente dal Raspberry Pi. Questo non si verifica con tutti i dongle provati, ma per procedere è necessario disporre di un HUB USB esterno, alimentato.
A questo punto il vostro dongle RTL verrà identificato e connesso normalmente.
Ora è necessario configurare il dongle RTL per conoscere la sua frequenza di offset.. Normalmente, per la ricezione ADS-B, gli errori di lettura presenti non sono critici, andando verso i 100 ppm (parti per milione) dove su 1 GHz l'errore è di 100 KHz. Comunque, i migliori risultati si ottengono calibrando il dongle e utilizzando l'offset misurato per avere i migliori risultati. Il modo più semplice per effettuare la calibrazione è quello di utilizzare un programma adatto, come descritto qui.
Il programma dump1090
Ora scaricate l'ultima versione del programma dump1090, in codice sorgente. È possibile utilizzare le informazioni che trovate di seguito. Iniziamo seguendo le istruzioni che indicano come scaricare l'applicazione, eseguendo questi comandi dal terminale del vostro RPi:
cd /home/pi/
oppure
cd ~ (va alla tua home directory) git clone git://github.com/MalcolmRobb/dump1090.git cd dump1090 make
Potrebbero venir segnalati degli errori di compilazione perché il programma pkg-config non viene trovato nel Sistema Ooperativo minimale. Installate quindi pkg-config per eliminare questo problema, se avete avuto errori di compilazione. Se non ne avete avuti, passate al punto successivo.
sudo apt-get install pkg-config make
Quando inviate il comando ./dump1090 --interactive, se avete installato correttamente tutti i software, compilati e connessi correttamente, allora riuscirete ad avere una schermata web che visualizzerà degli aeroplani sopra ad una cartina geografica, con i dati ricevuti dal vostro RPi. Comunque sia, assicuratevi che i programmi abbiamo il permesso di aprire le porte necessarie e abbiamo i privilegi necessari. Notare il doppio "--" se digitate i comandi a mano, e notare il "./" davanti alla parola "dump1090" per eseguire il comando.
./dump1090 --interactive
Se desiderate ora visualizzare l'output over the network, ricordatevi di aggiungere il sotto-comando "--net" alla fine del comando:
./dump1090 --interactive --net
Ci è stato riportato da Marco Haakmeester che il file rtl-sdr.h e dump1090.c richiedono dei cambiamenti per essere compilati correttamente; comunque Malcolm non è più riuscito a riprodurre il problema che portava a ciò. Contattate Marco per altri dettagli, nel caso in cui aveste dei problemi nella compilazione - È possibile inviargli una mail contenente la vostra richiesta di aiuto.
Web remoto del programma dump1090
Il programma dump1090 viene avviato e risiede nel vostro Raspberry Pi; questo programma può anche produrre diverse cartografie utilizzando un browser web, che gira all'interno della vostra rete locale (PC, Linux or Mac). Può essere utilizzato anche per verificare se il programma dump1090 sta funzionando correttamente e se il link TCP/IP è stato avviato sul vostro Raspberry Pi. Per fare ciò, digitate semplicemente questo indirizzo URL sul vostro browser, connesso alla stessa rete del RPi:
http://<indirizzo-o-nome-del-Raspberry-Pi>:8080
dove l'indirizzo può essere un numero o un nome, ad esempio: http://192.168.0.19:8080
Ecco un esempio della visualizzazione del traffico aereo con dump1090 via web, effettuata da una postazione in Inghilterra:
Installare dump1090 su Ubuntu 14.04
Allo stesso modo scaricate l'ultima versione del programma dump1090, in codice sorgente. È possibile utilizzare le informazioni che trovate in questa pagina. Iniziamo seguendo le istruzioni che indicano come scaricare l'applicazione, eseguendo questi comandi sul vostro PC:
cd /home/<vostro-utente>/
oppure
cd ~ (va alla tua home directory) git clone git://github.com/MalcolmRobb/dump1090.git cd dump1090 make
Potrebbero venir segnalati degli errori di compilazione perché il programma libusb-1.0 non viene trovato nel vostro Sistema Operativo. Installate libusb-1.0 da terminale per eliminare questo problema, se avete avuto errori; se non ne avete avuti, passate al punto successivo.
sudo apt-get install libusb-1.0-0-dev
Ricompilare dump1090
Se dovesse essere necessario ricompilare il programma in esecuzione, innanzitutto fermare ogni processo dump1090 avviato. Per fare questo, eseguire i seguenti comandi dal vostro Raspberry Pi, controllando prima l'esistenza di processi dump1090 avviati, e successivamente uccidendoli:
ps -e | grep dump1090 sudo killall dump1090
Il comando ps -e visualizza tutti i processi, il comando ps da solo visualizzerebbe solo i processi dell'utente. Di seguito, ecco i processi che potrebbero venir visualizzati dopo aver utilizzato il comando ps -e sun vostro RPi.
1870 tty5 00:00:00 getty 1871 tty6 00:00:00 getty 1980 ? 00:00:00 sudo 1981 ? 10:43:09 dump1090 13832 ? 00:00:02 kworker/0:0 14209 ? 00:00:13 kworker/u:2
Diversamente, se avete installato gli script automatici di start/stop o il demone di dump, digitate:
sudo /etc/init.d/dump1090.sh stop
Ora seguite questi passaggi come indicato di seguito, assieme a quello aggiuntivo che muoverà la copia (mv) esistente di dump1090 in una posizione sicura, nominandola dump1090-001. Per le prossime ricompilazioni esistendo già dump1090-001, potrete utilizzare il nome dump1090-002, e così di seguito.
cd /home/pi/ mv dump1090 dump1090-001 git clone git://github.com/MalcolmRobb/dump1090.git cd dump1090 cp ../coaa.h . # solo se avete avviato anche il programma ppup1090 make
Ora potete avviare il programma e fare il logout da RPi. Uno dei seguenti comandi potrebbe fare al caso vostro:
./dump1090 --quiet --net & ./dump1090 --quiet --net --net-ro-size 500 --net-ro-rate 5 &
Ricordatevi solo di digitare logout dopo aver avviato il programma. Diversamente, se avete installato gli script automatici di start/stop script, digitate:
sudo /etc/init.d/dump1090.sh start
Pagina di riferimento: http://www.satsignal.eu/raspberry-pi/dump1090.html
Tutti i comandi di dump1090
Per poter utilizzare al meglio questa applicazione, è necessario conoscere tutte le sue possibili applicazioni e variabili di configurazione. Per vedere la lista dei parametri di configurazione, aprire un Terminale e digitare:
dump1090 --help