SDR-DVB
Ricezione del traffico aereo tramite radio SDR con il DVB-T RTL820T
BOZZA IN FASE DI REDAZIONE!
Utilizzo di un'antenna efficace
Oltre alla corretta installazione e compilazione dei programmi, non dimenticatevi di avere una buona antenna!
L'antenna fornita con il dongle ricevitore TV non è ottimizzata per la ricezione dei 1.09 GHz e quindi si avranno dei risultati migliori utilizzando un'antenna dedicata.
Graham Leighton riporta degli ottimi risultati con la sua antenna auto-costruita, consigliando i modelli Moonraker e DPD.
Altre antenne autocostruite sono: la collineare coassiale e collineare filare.
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.
Il programma dump1090
Il programma dump1090 viene avviato e risiede nel Raspberry Pi, il quale può anche produrre diverse cartografie su un browser web, situato sulla tua 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 URL sul tuo browser:
http://<indirizzo-o-nome-del-Raspberry-Pi>:8080
dove l'indirizzo può essere un numero o un nome, es.:
Lavorare in remoto
Potete liberamente lavorare in remoto sul vostro RPi, senza dover utilizzare la tastiera, il mouse e il display video. PEr far questo dovrete abiltare il servizio SSH sul Rpi, durante la prima configurazione. Utilizzerete il servizio SSH attraverso la connessione LAN, attraverso il terminale o più facilmente con il programma PuTTY, installato sul vostro PC. Una volta installato PuTTY sul vostro PC per lavorare via cavo di rete LAN, potrete anche configurare velocemente il vostro Raspberry Pi ad utilizzare un dongle Wi-Fi e quindi far lavorare il device in 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 il sistema operativo Raspbian, da installare al primo avvio.
La configurazione con PuTTY viene descritta a questo link.
La configurazione WiFI attraverso la linea di comando viene descritta a questo link.
La modalità per connettere via cavo Ethernet il Raspberry Pi direttamente al vostro netbook o PC laptop, è descritta a questo link. Questo permetterà di avere altre porte LAN disponibili sul suo router o switch LAN e abbassare il consumo elettrico dovuto al dongle WiFi connesso al vostro Raspberry Pi. 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 nell'installazione. Se avete delle domande su RPi/Linux, attendiamo di leggerle nella nostra ML pubblica LUG. Nelle prossime linee di comando a seguire, utilizzare i comandi Ctrl-C o tasto destro Copia per inserire i comandi sul tuo 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+).
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: http://www.raspberrypi.org/downloads Avviare il vostro RPi sarà molto semplice e lo potremo connettere ad internet attraverso la vostra rete di casa. Se non volete utilizzare tastirera e display sul vostro RPi, potete avviare il vostro hardware come descritto di seguito. Ricordatevi che durante alcuni dei seguenti comandi si dovrà rispondere a delle domande con dei Yes o No, riguardanti lo spazio del disco che dovrà essere utilizzato per i nuovi download. Senza voler dare risposte diverse dallo standard, accettate ripondendo spesso "Yes" (oppure "y"). Aprite un terminale sul RPi e scrivete:
sudo apt-get update
Questo aggiornerà la tabella degli aggiornamenti, all'ultima versione disponibile. Potebbe volerci diverso tempo per completare l'operazione.
Vi consigliamo di controllare la versione Linux a questo punto dell'installazione, 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 diversi giorni a 3.10.24+.
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 a prendervi un caffè nel frattempo! Attenzione che 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 tuo SO indica approssimativamente 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 SO, in questo caso il sistema vi avvertirà che possedete già laversione più aggiornata.
Di seguito, utilizziamo delle istruzioni per configurare sdr-rtl che serve per la pagina Web. We stop where the text says "To run the rtl server type rtl_tcp -a and the IP address of your Pi". 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 # there is a slip on the referenced page 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 installiamo il driver del dongle RTL-2832U USB e lo compiliamo:
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 è avvenuto correttamente, nno 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).
Molte persone utilizzano un HUB USB alimentato per non sovracaricare la porta del RPi, a volte non è necessario soprattutto se avete un'altra alimentazione di 5V che alimenta il vostro Raspberry Pi. Potete avere differenti risultati, ma l'uso del HUB USB è 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, quest'ultimo effettuerà spontaneamente un reboot; non sorprendetevi!
Dopo un upgrade alla versione 3.10 di Linux si è notato che è necessario avere un HUB USB per fare lavorare correttamente il dongle.
Inviare nuovamente il comando:
sudo ldconfig
Avanziamo al prossimo step, digitando i seguenti comandi che informeranno il SO della presenza del nuovo device e successivamente riavvieranno il SO:
cd ~ sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/ sudo reboot
A riavvio avvenuto e riconnessi al RPi, controlliamo la presenza del dongle sul RPi, con il comando:
rtl_test -t
La priam volta che date questo comando con inserito un dongle con il tuner R802T, il test non funzionerà, in quanto l'applicazione cerca un tuner E4000. Se siete felici possessori di un device E4000, andate oltre e utilizzatelo. Altrimenti leggete che il comando del test (-t) serve solo per trovare degli errori nella copertura di frequnza del tuner E4000. I found no need for a reboot.
In alcune versioni, si può verificare che: If you have used the more complex form of cmake in step 8.9 above when building rtl-sdr, you won't need the sudo prefix to run the dump1090 command in the future. But you will still need sudo for the other commands where shown, like apt-get.
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 driver DVB che viene aggiunto al SO, per poter permettere la ricezione TV! Questa interferenza con il lavoro del device DVB-T per la ricezione ADS-B, richiede di procedere con degli step di configurazione.
Se ottenete questo errore, occorrerà editare un testo di configurazione per mettere in blacklist i driver interessati e risolvere il problema.
Editare il seguente file /etc/modprobe.d/raspi-blacklist.conf
utilizzando il vostro editor preferito, come nano o vi
sudo vi /etc/modprobe.d/raspi-blacklist.conf
aggiungere le seguenti linee nel file.
blacklist dvb_usb_rtl28xxu blacklist rtl2832 blacklist rtl2830
Salvare e uscire.
È necessario il riavvio, attraverso il seguente comando:
sudo shutdown -r 0
Una volta riavviato e riconnessi al vostro RPi, rifare il test digitando nuovamente:
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.. Normalmenteper 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 di calibrazione, come descritto qui.
Il programma dump1090
ORa scaricate l'ultima versione del programma dump1090, in codice sorgente. È possibile utilizzare le inforamzioni che trovate in questa Web page. Iniziamo seguendo le istruzioni che indicano come scaricare l'applicazione, eseguendo questi comandi sul 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 could non viene trovato nel SO minimale. Installate pkg-config per eliminare questo problema, se avete avuto errori, ma 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 avrete uno schermo che vi visualizzarà degli aeroplani sopra ad una cartina, ricevuti dal vostro RPi. Comunque sia, assicuratevi che i programmi abbiamo il permesso di aprire le porte necessarie e abbiamo i provilegi necessari. Notare il doppio "--" se digitate i comandi a mano, e notare il "./" davanti alla parola "dump1090" pereseguire il comando.
./dump1090 --interactive
Se desiderate ora visualizzare l'output over the network, ricordatevi di aggiungere il sottocomando "--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, ma 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.
Ricompilare dump1090
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, digitate:
sudo /etc/init.d/dump1090.sh stop
Ora seguite questi steps come indicato di seguito, assieme allo step 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 poterbbe 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