Jump to content

Hamradio/svxlink node/it

From MediaWiki For Hamradio Analog/Digital and Debian v13 software/Raspberry PI v3/4/5 howto
This page is a translated version of the page Hamradio/svxlink node and the translation is 79% complete.

Una guida completa e passo-passo: da una microSD vuota a un nodo SvxLink funzionante su un Raspberry Pi — scaricare il SO, flasharlo con Wi-Fi e SSH già impostati, trovare il Pi nella tua rete, accedere, compilare SvxLink, inserire una configurazione e aggiungere una dashboard web. Nessuna esperienza Linux necessaria. Da copiare e incollare.

💡 Cosa otterrai alla fine: un Raspberry Pi con SvxLink, connesso a un SVXReflector, con annunci vocali in svedese e inglese, che puoi vedere e controllare da un browser. Conta circa un'ora (per lo più è il Pi che compila da solo).
Eight steps: download Raspberry Pi OS, flash with Pi Imager (hostname/SSH/Wi-Fi), boot, find IP, connect over SSH/PuTTY, install SvxLink, edit svxlink.conf, start it and add the dashboard.

Cosa ti serve

  • Un Raspberry Pi 3, 4 o 5 (un Pi Zero 2 W va bene ma compila lentamente).
  • Una microSD, da 16 GB o più, e un lettore di schede sul tuo PC.
  • Un'interfaccia audio per il lato radio (scheda audio USB, un HAT come il WM8960, o una scheda DRA/ripetitore) — non necessaria solo per far partire il software.
  • Il tuo nominativo e un login reflector (host + AUTH_KEY) per il SVXReflector a cui vuoi unirti.

Parte 1 — Scaricare Raspberry Pi OS

Prendi l'immagine Lite a 64 bit di Raspberry Pi OS 13 (Trixie) — «Lite» non ha desktop, che è ciò che vuoi per un nodo.

Parte 2 — Flashare la SD (con SSH + Wi-Fi preimpostati)

Questo è il passo che ti risparmia tastiera e monitor. In Raspberry Pi Imager:

  1. Choose Device: il tuo modello di Pi.
  2. Choose OS: Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit).
  3. Choose Storage: la tua SD.
  4. Clicca Next → Edit Settings (l'ingranaggio / «would you like to apply OS customisation?»). Imposta:
Impostazione Cosa mettere
Hostname es. svxnode — raggiungerai il Pi come svxnode.local.
Enable SSH Sì → «Use password authentication» (il più semplice).
Username / password scegline di tuoi, es. utente pi. Annotali.
Configure wireless LAN la tua SSID Wi-Fi + password, e il tuo paese Wi-Fi (importante o il Wi-Fi resta spento).
Locale / timezone / keyboard il tuo paese.

Salva, poi Write. Quando finisce, espelli la scheda.

⚠ Se salti la personalizzazione Wi-Fi/SSH, il Pi si avvia senza modo di entrare. Rifai questo passo, oppure collega un cavo Ethernet (SSH è attivo solo se l'hai spuntato).

Parte 3 — Avviare il Pi

Inserisci la scheda nel Pi, collega l'hardware radio/audio se ce l'hai e accendilo. Il primo avvio richiede un minuto o due (espande il filesystem e si unisce al Wi-Fi). Dagli tempo prima di cercarlo.

Parte 4 — Trovare l'indirizzo IP del Pi

Ti serve l'IP del Pi (o il suo nome .local) per accedere. Scegli ciò che funziona:

  • Hostname (il più facile): usa semplicemente svxnode.local (l'hostname che hai impostato + .local). Funziona sulla maggior parte delle reti domestiche.
  • Il tuo router: apri la pagina di amministrazione del router → l'elenco client DHCP / dispositivi connessi → trova svxnode e annota il suo IP (es. 192.168.1.42).
  • Scansiona la rete dal tuo PC:
ping svxnode.local
# oppure scansiona la sottorete (Linux/Mac):   nmap -sn 192.168.1.0/24

Parte 5 — Connettersi via SSH

Windows: scarica ed esegui PuTTY — https://www.putty.org/ . In Host Name scrivi svxnode.local (o l'IP), Port 22, Open. Accetta l'avviso della chiave la prima volta, poi accedi con l'utente/password che hai impostato.

macOS / Linux: usa semplicemente un terminale:

ssh pi@svxnode.local

Una volta dentro, aggiorna il sistema:

sudo apt update && sudo apt full-upgrade -y

SvxLink non è presente come build attuale nei repo predefiniti del Pi, quindi lo compili (il Pi fa il lavoro). Questo unico script installa gli strumenti di build, prende il codice da GitHub, lo compila e installa, e scarica gli annunci vocali in svedese (sv_SE) e inglese (en_US). Incollalo nella sessione SSH:

#!/bin/bash
set -e
cd ~
mkdir -p ./projects/svxlink
cd ./projects/svxlink
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
sudo apt update
sudo apt dist-upgrade -y
sudo apt autoremove -y
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
sudo apt install -y \
  build-essential cmake git wget \
  libgpiod3 libgpiod-dev \
  alsa-utils \
  libsigc++-2.0-dev libgsm1-dev libpopt-dev \
  tcl8.6-dev \
  libgcrypt20-dev libspeex-dev libasound2-dev libopus-dev librtlsdr-dev \
  doxygen groff vorbis-tools curl \
  qtbase5-dev qttools5-dev-tools qttools5-dev \
  libjsoncpp-dev libcurl4-gnutls-dev libogg-dev \
  sox
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# system user for svxlink (ignored if it already exists)
if ! id -u svxlink >/dev/null 2>&1; then
  sudo useradd -r -G audio,plugdev,dialout svxlink
fi
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# fetch the source
if [ ! -d svxlink ]; then
  git clone https://github.com/sm0svx/svxlink.git
fi
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
mkdir -p svxlink/src/build
cd svxlink/src/build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc \
      -DLOCAL_STATE_DIR=/var -DWITH_SYSTEMD=yes ..
make -j"$(nproc)"
make doc
sudo make install
sudo ldconfig
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# voice prompts: Swedish + English
cd ~/projects/svxlink
cp svxlink/src/svxlink/scripts/filter_sounds.sh ./
cp svxlink/src/svxlink/scripts/play_sound.sh   ./
[ -d svxlink-sounds-en_US-heather ] || git clone https://github.com/sm0svx/svxlink-sounds-en_US-heather.git
[ -d svxlink-sounds-sv_SE-elin ]    || git clone https://github.com/sm0svx/svxlink-sounds-sv_SE-elin.git
sudo ./filter_sounds.sh svxlink-sounds-en_US-heather en_US
sudo ./filter_sounds.sh svxlink-sounds-sv_SE-elin   sv_SE
cd /usr/share/svxlink/sounds
sudo tar xvjf ~/projects/svxlink/svxlink-sounds-en_US.tar.bz2
sudo tar xvjf ~/projects/svxlink/svxlink-sounds-sv_SE.tar.bz2
💡 make -j"$(nproc)" compila su tutti i core della CPU. Su un Pi 3 la compilazione può durare 20–40 minuti — è normale. Vai a prenderti un caffè; sta lavorando.

Parte 7 — Configurare svxlink.conf

La configurazione è in /etc/svxlink/svxlink.conf. Modificala:

sudoedit /etc/svxlink/svxlink.conf

Le parti che devi impostare sono le sezioni logic. La più importante è la connessione al reflector — ecco un [ReflectorLogic] funzionante (segreti sostituiti con CHANGE_ME):

[ReflectorLogic]
TYPE=Reflector
ID=9
HOSTS=svx.sa7aux.se          ; your reflector's hostname
CALLSIGN="MYCALL"            ; your callsign
AUTH_KEY="CHANGE_ME_long_random_secret"   ; the key your reflector expects
CERT_EMAIL=you@example.org   ; for the auto TLS certificate
DEFAULT_TG=0
MONITOR_TGS=9,240,24016,24020,24021   ; talkgroups you want to hear
UDP_HEARTBEAT_INTERVAL=5
NODE_INFO_FILE=/etc/svxlink/node_info.json
EVENT_HANDLER=/usr/share/svxlink/events.tcl
📥 Vuoi il file completo? Scarica un set completo e ripulito di configurazioni d'esempio — svxlink.conf, node_info.json, gpio.conf e i file dei moduli, con tutti i segreti azzerati: svxlink-config-example.zip. Decomprimilo in /etc/svxlink/ e cambia nominativo, host del reflector, AUTH_KEY e posizione con i tuoi.

Altre sezioni da guardare:

Sezione A cosa serve
[GLOBAL] Quali logic vengono caricate (LOGICS=SimplexLogic,ReflectorLogic) e la lingua degli annunci — imposta LANG=sv_SE o LANG=en_US.
[SimplexLogic] L'ID nominativo del nodo stesso, i comandi DTMF e a quale logic di reflector si collega.
[Rx1] / [Tx1] I dispositivi audio e PTT/COS per la tua interfaccia radio (dispositivo ALSA, squelch, CTCSS).
[LocationInfo] Beacon APRS opzionale (posizione, frequenza) — tutto commentato di default.
⚠ Non pubblicare mai il tuo AUTH_KEY reale, password o email. L'esempio sopra è volutamente vuoto. Metti i tuoi valori, tieni il file leggibile solo da root e non incollare il file reale in forum o chat.

Parte 8 — Avviare e verificare

Attiva e avvia il nodo, poi osserva il log:

sudo systemctl enable --now svxlink
sudo systemctl status svxlink
sudo journalctl -u svxlink -f

Nel log dovresti vederlo connettersi al reflector e annunciare nella lingua scelta. Se qualcuno parla su una talkgroup monitorata, lo sentirai (e lo vedrai nel log). Ctrl-C smette di seguire il log (il servizio continua a girare).

💡 Stai configurando un reflector invece di un nodo? La stessa build ha installato anche svxreflector — attiva quel servizio (sudo systemctl enable --now svxreflector) e configura /etc/svxlink/svxreflector.conf.

Aggiungere la dashboard web

Quando il nodo funziona, concediti una pagina browser per vedere lo stato e cambiare talkgroup — installa la SvxSpot Dashboard sullo stesso Pi. Legge lo stesso svxlink.conf e controlla il nodo per te.

Risoluzione dei problemi

Sintomo Controlla
Non raggiungo svxnode.local Usa l'IP dal tuo router. Su alcune reti .local (mDNS) è bloccato.
SSH «connection refused» SSH non è stato attivato nell'Imager, o il Pi non è ancora avviato — aspetta, o riflasha con SSH spuntato.
Niente Wi-Fi Paese Wi-Fi errato nell'Imager, o SSID/password sbagliati. Riflasha, o usa Ethernet.
make fallisce Di solito manca un pacchetto di build — riesegui la riga apt install della Parte 6, poi make di nuovo.
Non si connette al reflector HOSTS, CALLSIGN o AUTH_KEY errati — chiedi all'operatore del reflector. Osserva journalctl -u svxlink -f.
Niente audio / nessun annuncio vocale Controlla LANG in [GLOBAL] e che i tarball dei suoni siano stati estratti in /usr/share/svxlink/sounds.

Vedi anche

  • SvxSpot Dashboard — il pannello di controllo via browser per questo nodo.
  • chan_svx / chan_svx_sat — in alternativa, collegare un nodo AllStarLink a un SVXReflector.
  • Hamradio — il resto delle guide di voce digitale.
  • Autore: SA7AUX <bjorne@sa7aux.se>. SvxLink © SM0SVX, GNU GPL.