Ricevere e decodificare l’APRS ed il Packet radio con RTL-SDR su Raspberry Pi e Dire Wolf
Dire Wolf di WB2OSZ [1] (acronimo di Decoded Information from Radio Emission for Windows Or Linux Fans) è un sound modem, ovvero un software che emula su scheda audio un modem/TNC packet AX.25. A ciò unisce anche la capacità di codifica/decodifica APRS, con funzioni di tracker, digipeater, igate.
Un dongle RTL SDR può essere utilizzato come ricevitore radio per il packet ed interfacciato a Dire Wolf, tramite l’utility rtl_fm del pacchetto rtl-sdr di Osmocom [2].
Installazione rtl-sdr
Se non sono stati installati precedentemente, procedere all’installazione di driver e utility rtl-sdr sull’ RPi:
Installare le librerie necessarie al funzionamento
sudo apt-get install libusb-1.0-0.dev
sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install build-essential
Scaricare il codice sorgente di rtl-sdr dal repository GitHub
git clone git://git.osmocom.org/rtl-sdr.git
Oppure, se non si vuole usare git, scaricare attraverso un browser l’archivio .zip da GitHub [1] e copiarne il contenuto su RPi nella cartella rtl-sdr sulla home.
Compilare rtl-sdr
cd rtl-sdr/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
Creare una blacklist per evitare che la chiavetta RTL venga riconosciuta come ricevitore DVB-T e quindi caricato il suo driver standard
sudo nano /etc/modprobe.d/blacklist-rtl.conf
e nel file appena creato inserire le seguenti linee
blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
Spegnere RPi
sudo poweroff
Collegare il dongle RTL-SDR ad una delle porte USB
Accendere RPi
Controllare che la pennetta sia riconosciuta ed il driver attivo
lsusb
rtl_test -t
Installazione Dire Wolf
Installare la libreria audio
sudo apt-get install libasound2-dev
Scaricare Dire Wolf dal repository
git clone https://www.github.com/wb2osz/direwolf
Oppure, se non si vuole usare git, scaricare attraverso un browser l’archivio .zip da GitHub [2] e copiarne il contenuto su RPi nella cartella direwolf sulla home ~/direwolf.
Compilare ed installare Dire Wolf
cd direwolf
make
sudo make install
Creare i file di configurazione di esempio (solo per la prima installazione, per gli aggiornamenti mantenere i vecchi)
make install-conf
(Sulla home saranno ora disponibili il file di default direwolf.conf ed altri esempi)
Eseguire Dire Wolf per verificarne la corretta installazione
cd ~
direwolf
Creazione file di configurazione per RTL SDR
Nella cartella home, creare il file di configurazione sdr_rx.conf
sudo nano sdr_rx.conf
Scrivere all’interno le seguenti linee
ADEVICE stdin null
CHANNEL 0
quindi salvare ed uscire dall’editor
Dire Wolf
Lanciare rtl_fm con il dongle sintonizzato sulla frequenza desiderata (nell’esempio sulla classica frequenza APRS 144.800 MHz) e passando lo streaming audio a direwolf
rtl_fm -f 144.8M - | direwolf -c sdr_rx.conf -r 24000 -D 1
A questo punto, trattandosi di traffico APRS, Dire Wolf ne mostrerà a schermo la decodifica
Interfaccia con altri software
Dire Wolf agisce come server ed i dati packet sono resi disponibili via rete su protocollo TCP/IP verso software esterni con emulazione AGW e KISS, rispettivamente sulla porta 8000 e 8001. Quindi visibili anche su un computer remoto che non sia quello dove fisicamente sono installatati il dongle RTL e direwolf.
Xastir, Ui-View, YAAC supportano l’interfaccia network AGW.
APRSISCE/32 e SARTrack sia AGW che KISS.
Ad esempio su Xastir, in Interface -> Properties, selezionare Networked AGWPE ed impostare indirizzo IP del Raspberry e porta 8000 (se avete lasciato quella di default).
Dire Wolf consente anche d’inoltrare i dati del protocollo KISS su una porta seriale virtuale o fisica, per essere quindi instradati verso software o dispositivi esterni. Maggiori informazioni sul manuale.
Riferimenti
Argomenti correlati
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.