Un guide court et pratique pour transformer un Raspberry Pi Zero 2 W et une clé SDR bon marché en station d’écoute en réseau pour les ondes courtes et la radiodiffusion : la radio et le décodage tournent sur le Pi, et vous le pilotez depuis un ordinateur portable, une tablette ou un téléphone sur votre réseau domestique. Rien ici n’exige une licence ni un émetteur.
Pour le déroulé de l’écoute elle-même, voir le
Démarrage rapide écoute ; pour le détail de chaque
commande, voir USER_MANUAL.md ; pour l’esprit de ce fork,
voir le README.
English: pi-zero-2w-swl.en.md. Nederlands: pi-zero-2w-swl.nl.md. Italiano: pi-zero-2w-swl.it.md. PDF : pi-zero-2w-swl.fr.pdf.
Les noms en gras comme SETTINGS et SWL LOG sont des boutons et des champs tels qu’ils apparaissent à l’écran. Les commandes dans les encadrés gris se tapent dans le shell du Pi.
À lire d’abord. Le Pi Zero 2 W est un nœud d’écoute, pas un bureau. Ses quatre petits cœurs et ses 512 Mo de RAM portent le récepteur, les décodeurs et l’enregistrement sans peine ; ils ne portent pas les voies large bande (ADS-B, VDL2, AIS, DAB) ni l’interface graphique en pleine finesse. Gardez une fréquence d’échantillonnage basse, restez sur les modes étroits, et laissez le navigateur faire le dessin.
swl), activez SSH, et saisissez vos identifiants Wi-Fi si
vous n’utilisez pas de câble. Démarrez le Pi.ssh pi@swl.local
sudo apt update && sudo apt full-upgrade -y
sudo apt install -y libasound2-dev libopus-dev
Vous n’installez pas de compilateur. La version publiée est un binaire prêt à l’emploi.
Le Zero 2 W est 64 bits (armv8), il exécute donc la version aarch64-compat
faite pour Raspberry Pi OS Bookworm. Téléchargez-la sur le Pi lui-même :
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 doit afficher le numéro de build SDR Oxide Brown. S’il refuse de
se lancer avec GLIBC_2.39 not found, vous avez pris le mauvais fichier — il vous
faut celui dont le nom contient -compat.
Placez-le là où vous pouvez l’appeler par son nom :
mkdir -p ~/bin
mv sdroxide-linux-aarch64-compat.AppImage ~/bin/sdroxide
chmod +x ~/bin/sdroxide
Un .deb convient aussi : la même page de publication contient
sdroxide-linux-aarch64-compat.deb ; installez-le avec
sudo apt install ./sdroxide-…-aarch64-compat.deb et la commande est alors
simplement sdroxide.
Les règles udev comptent. Un utilisateur Linux a besoin de la permission d’ouvrir une SDR USB. Si vous avez installé le
.deb, elles sont déjà en place. Avec l’AppImage, copiez les règles du dossierpackaging/linux/du dépôt vers/etc/udev/rules.d/, puis :sudo udevadm control --reload && sudo udevadm triggeret débranchez puis rebranchez la clé. Sans cela, le Pi voit la clé mais ne peut pas l’ouvrir.
Vous n’en avez besoin qu’une fois, pour configurer la radio ; ensuite le Pi tourne sans écran.
DISPLAY=:0 ~/bin/sdroxide
(Si vous n’avez aucun bureau, passez à la Partie 4 et faites la configuration depuis le navigateur.)
--swl en
ligne de commande fait la même chose pour une exécution.)C’est le but de l’exercice : le Pi garde la radio, et tous vos écrans peuvent l’utiliser.
Arrêtez l’instance à fenêtre, puis lancez le serveur :
~/bin/sdroxide --server --port 4950
Le client navigateur est servi depuis le même port. Sur n’importe quel appareil du même réseau, ouvrez :
http://swl.local:4950
Vous obtenez tout le programme dans le navigateur — l’accord, la chute d’eau, les fenêtres SCHEDULE et SWL LOG, les décodeurs, le journal de réception. Le Pi fait la réception et le décodage ; le navigateur fait le dessin, et c’est exactement ainsi qu’une carte de 512 Mo reste utile.
Un sdroxide natif sur un autre ordinateur peut aussi le piloter, avec
sdroxide --connect swl.local:4950.
Pour que le serveur démarre au boot et reste actif, créez un petit service :
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
Vérifiez avec systemctl status sdroxide, et suivez son journal avec
journalctl -u sdroxide -f.
Bon sur un Zero 2 W :
Mauvais ou impossible sur un Zero 2 W :
systemctl status sdroxide) et que vous utilisez l’adresse du Pi
(http://swl.local:4950, ou l’IP qu’affiche hostname -I).linux-aarch64-compat pour le Pi.Bonne écoute et bon DX ! 73