sdroxide-brown

Raspberry Pi Zero 2 W come stazione SWL senza schermo (sdroxide)

Una guida breve e pratica per trasformare un Raspberry Pi Zero 2 W e una chiavetta SDR economica in una stazione d’ascolto in rete per onde corte e radiodiffusione: la radio e la decodifica girano sul Pi, e tu lo piloti da un portatile, un tablet o un telefono sulla tua rete domestica. Niente qui richiede una licenza o un trasmettitore.

Per il flusso d’ascolto vero e proprio vedi l’ Avvio rapido all’ascolto; per il dettaglio di ogni comando vedi USER_MANUAL.md; per lo spirito di questo fork vedi il README.

English: pi-zero-2w-swl.en.md. Nederlands: pi-zero-2w-swl.nl.md. Français: pi-zero-2w-swl.fr.md. PDF: pi-zero-2w-swl.it.pdf.

I nomi in grassetto come SETTINGS e SWL LOG sono pulsanti e campi esattamente come appaiono sullo schermo. I comandi nei riquadri grigi si digitano nella shell del Pi.

Leggi prima questo. Il Pi Zero 2 W è un nodo d’ascolto, non un desktop. I suoi quattro piccoli core e i 512 MB di RAM portano il ricevitore, i decoder e la registrazione senza problemi; non portano le vie a banda larga (ADS-B, VDL2, AIS, DAB) né l’interfaccia grafica in pieno dettaglio. Tieni bassa la frequenza di campionamento, resta sui modi stretti, e lascia che il disegno lo faccia il browser.


Cosa ti serve


Parte 1 — Preparare il Pi

  1. Installa Raspberry Pi OS (64 bit, Bookworm) sulla microSD con Raspberry Pi Imager. Nelle impostazioni dell’Imager, imposta l’hostname (per esempio swl), attiva SSH e inserisci i dati Wi-Fi se non usi un cavo. Avvia il Pi.
  2. Accedi via SSH:
    ssh pi@swl.local
    
  3. Aggiorna, e installa i pacchetti che sdroxide richiede:
    sudo apt update && sudo apt full-upgrade -y
    sudo apt install -y libasound2-dev libopus-dev
    

Non installi un compilatore. La build pubblicata è un binario pronto all’uso.


Parte 2 — Installare sdroxide

Il Zero 2 W è a 64 bit (armv8), quindi esegue la build aarch64-compat fatta per Raspberry Pi OS Bookworm. Scaricala sul Pi stesso:

cd /tmp
wget https://github.com/madmedicnl/sdroxide-brown/releases/latest/download/sdroxide-linux-aarch64-compat.AppImage
chmod +x sdroxide-linux-aarch64-compat.AppImage
./sdroxide-linux-aarch64-compat.AppImage --version

--version deve stampare il numero di build SDR Oxide Brown. Se rifiuta di partire con GLIBC_2.39 not found hai preso il file sbagliato — ti serve quello con -compat nel nome.

Mettilo dove puoi chiamarlo per nome:

mkdir -p ~/bin
mv sdroxide-linux-aarch64-compat.AppImage ~/bin/sdroxide
chmod +x ~/bin/sdroxide

Va bene anche un .deb: la stessa pagina delle release contiene sdroxide-linux-aarch64-compat.deb; installalo con sudo apt install ./sdroxide-…-aarch64-compat.deb e il comando è allora semplicemente sdroxide.

Le regole udev contano. Un utente Linux ha bisogno del permesso di aprire una SDR USB. Se hai installato il .deb sono già a posto. Con l’AppImage copia le regole dalla cartella packaging/linux/ del repository in /etc/udev/rules.d/, poi:

sudo udevadm control --reload && sudo udevadm trigger

e stacca e riattacca la chiavetta. Senza questo il Pi vede la chiavetta ma non riesce ad aprirla.


Parte 3 — Primo avvio, sullo schermo del Pi

Ti serve una volta sola, per configurare la radio; dopo, il Pi gira senza schermo.

DISPLAY=:0 ~/bin/sdroxide

(Se non hai alcun desktop, salta alla Parte 4 e fai la configurazione dal browser.)

  1. Apri SETTINGS → Radio. Scegli l’interfaccia — per una RTL-SDR è RTL-SDR — e, soprattutto, imposta una frequenza di campionamento bassa: scegli 1024000 o 900001, non i 2,4 Msps predefiniti. I modi stretti ne usano una frazione, ed è il ritmo basso che tiene il Pi fresco e in tempo. Clicca Apply / reconnect.
  2. In SETTINGS → UI, spunta Start in SWL mode così i comandi di trasmissione non compaiono mai — questa è una stazione d’ascolto. (--swl dalla riga di comando fa lo stesso per una singola esecuzione.)
  3. In SETTINGS → General, imposta il tuo Grid square (la finestra SWL LOG lo usa per il locator di ogni ricezione) e, nella scheda Spots, la tua identità Report as (SWL).
  4. Sintonizza una banda di radiodiffusione — LW, MW o SW — scegli AM o SAM, e verifica di sentire qualcosa. Le finestre SCHEDULE e SWL LOG sono gli strumenti dell’ascoltatore; l’ Avvio rapido all’ascolto le percorre.

Parte 4 — Farlo girare senza schermo, come server

È il punto dell’esercizio: il Pi tiene la radio, e ogni tuo schermo può usarla.

Ferma l’istanza con finestra, poi avvia il server:

~/bin/sdroxide --server --port 4950

Il client browser è servito dalla stessa porta. Su qualsiasi dispositivo della stessa rete, apri:

http://swl.local:4950

Ottieni tutto il programma nel browser — sintonia, waterfall, le finestre SCHEDULE e SWL LOG, i decoder, il registro di ricezione. Il Pi fa la ricezione e la decodifica; il browser fa il disegno, ed è esattamente così che una scheda da 512 MB resta utile.

Un sdroxide nativo su un altro computer può pilotarlo anch’esso, con sdroxide --connect swl.local:4950.

Lasciarlo acceso

Per far partire il server al boot e tenerlo attivo, crea un piccolo servizio:

sudo tee /etc/systemd/system/sdroxide.service >/dev/null <<'EOF'
[Unit]
Description=sdroxide SWL listening server
After=network-online.target sound.target
Wants=network-online.target

[Service]
User=pi
ExecStart=/home/pi/bin/sdroxide --server --swl --port 4950
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now sdroxide

Controlla con systemctl status sdroxide, e segui il suo log con journalctl -u sdroxide -f.


Cosa fa bene questa installazione — e cosa no

Buono su un Zero 2 W:

Scarso o impossibile su un Zero 2 W:


Se qualcosa non funziona


Buon ascolto e buon DX! 73