RTL-SDR - Raspberry Pi

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

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

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

Dire Wolf - Verifica installazione
Dire Wolf – Verifica installazione

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

Dire Wolf - RTL SDR
Dire Wolf – RTL SDR

A questo punto, trattandosi di traffico APRS, Dire Wolf ne mostrerà a schermo la decodifica

Dire Wolf - APRS
Dire Wolf – APRS

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

  1. Dire Wolf repository su GitHub.
  2. rtl-sdr repository su GitHub;

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 *