Hamradio/svxspot dashboard/sv
En nybörjarguide till SvxSpot Dashboard: en liten webbsida du installerar på din SvxLink-nod (en Raspberry Pi-hotspot eller en FM-repeater) som visar vad noden gör och låter dig byta talgrupp, redigera konfigurationen och mer — från mobil eller dator. Ett .deb sätter upp hela webb-stacken åt dig.
http://svxspot.local/ som visar livestatus / senast hörda / aktuell talgrupp och ger dig TG-byte med ett klick, en DTMF-knappsats och redigerare för svxlink.conf, EchoLink, RF och ljud — plus Wi-Fi-inställning och knappar för omstart/avstängning.
Behöver jag det här?
- Du kör en SvxLink-nod — en "SvxSpot"-hotspot eller en FM-repeater — och vill se och styra den från en webbläsare i stället för SSH och en textredigerare.
- Den installeras på samma box som SvxLink (en Raspberry Pi eller valfri Debian-maskin).
- Valfritt tillägg: låt en extern portal byta din talgrupp via MQTT (bra för en klubbs kontrollpanel). Avstängt som standard — en vanlig LAN-dashboard behöver inget av det.
Vad du behöver först
- En SvxLink-nod på Debian 12/13 eller Raspberry Pi OS (bookworm/trixie), på en Pi 3/4/5, Pi Zero 2 W, eller valfri Debian-box.
- SvxLink installerat och igång med
/etc/svxlink/svxlink.conf(paketetsvxlink-server). - För talgrupps-/DTMF-styrning från webben: den här raden i logic-sektionen i
svxlink.conf:
DTMF_CTRL_PTY=/var/lib/svxlink/dtmf_svx
- (Valfritt, endast MQTT) broker-host, port (oftast 8883) och användarnamn/lösenord — bara om du vill ha fjärrstyrning via portal.
Du installerar inte nginx eller PHP själv — paketet drar in och konfigurerar dem åt dig.
Installera
Enklast — enradsinstalleraren (laddar ner senaste releasen och installerar den; apt hämtar nginx/PHP automatiskt):
curl -fsSL https://git.sa7aux.se/bjorne/svxspot-dashboard/raw/branch/main/install.sh | sudo bash
Eller installera ett .deb du kopierat över:
sudo apt install ./svxspot-dashboard_<version>_all.deb
svxspot-dashboard_1.0.1_all.deb). Paketet är arkitektur-oberoende (_all) — samma fil fungerar på en Pi och på x86-64.
Vad installeraren frågar
En vanlig installation ställer några frågor (debconf). Vettiga standardval föreslås — du kan oftast bara trycka Enter:
| Fråga | Vad du anger |
|---|---|
| Nodens anropssignal | Autodetekteras från svxlink.conf. Godta den.
|
| Admin-användare | Inloggningsnamn för styrsidorna. Standard admin.
|
| Admin-lösenord | Skriv ett, eller lämna tomt för att få ett slumpat 16-teckens lösenord som skrivs ut en gång på slutet — skriv ner det. |
| Aktivera MQTT-fjärrstyrning? | Standard nej. Säg ja bara om en portal ska styra noden; då frågas broker-host / användarnamn / lösenord. |
Vad den sätter upp åt dig
Installeraren gör allt rörmokeri (och går att köra om med sudo dpkg-reconfigure svxspot-dashboard):
- installerar och konfigurerar nginx (en sajt på port 80) och php-fpm;
- skapar admin-inloggningen (bcrypt
htpasswd); - installerar snävt avgränsade sudo-regler så webb-användaren kan spara config och starta om SvxLink — och inget annat;
- lägger webb-användaren i grupperna
audio, tty, dialout, svxlink; - förbereder den valfria MQTT-agenten (en systemd-tjänst) — aktiveras bara om du slog på MQTT.
På slutet skrivs en banner ut med dashboardens URL, admin-användare och (om genererat) lösenordet.
Öppna den
- Gå till
http://svxspot.local/i en webbläsare på samma nätverk (ellerhttp://<nod-ip>/om.local-namnet inte funkar). - Statussidan kräver ingen inloggning. Styrsidorna (TG, config-redigerare, power, Wi-Fi, …) frågar efter admin-användaren/lösenordet du satte.
svxspot / raspberry och dashboard admin / svxspot. Byt båda direkt (se nedan).
Vad finns på dashboarden
| Sida | Vad den gör |
|---|---|
| Start / Status | Livestatus, senast hörda stationer, aktuell talgrupp, snabbknappar. (Ingen inloggning.) |
| TG + DTMF-knappsats | Byt talgrupp med en tryckning; skicka rå DTMF. |
| Config | Redigera svxlink.conf i webbläsaren med hjälptext; varje sparning gör en tidsstämplad backup och startar om SvxLink.
|
| EchoLink · RF (SA818) · Ljud | Redigerare för EchoLink, radiomodulens frekvens/squelch och ljudnivåer. |
| Wi-Fi / Nätverk | Anslut till ett Wi-Fi / ställ in nätverk. |
| Power | Starta om, stäng av eller starta om SvxLink. |
| Fjärrstyrning (MQTT) | Slå på/av den valfria MQTT-agenten och ställ in brokern. |
| Nodinfo · Karta · Logg | Nodens metadata, karta och SvxLink-loggen. |
Hur den styr SvxLink (enkelt förklarat)
Du behöver inte veta det här för att använda den, men det hjälper vid felsökning: dashboarden läser /etc/svxlink/svxlink.conf och /var/log/svxlink för att visa status, och styr noden genom att skriva DTMF-strängar (t.ex. 91<tg># för att byta TG) till styr-pipen /var/lib/svxlink/dtmf_svx. Config-ändringar sparas och SvxLink startas om via de snäva sudo-reglerna. Det är allt — ingen databas.
Valfritt: fjärrstyrning via MQTT
Om du aktiverat MQTT gör en liten systemd-agent (svxnode-mqtt) en utgående TLS-anslutning till din broker på port 8883 (inget att öppna i routern). En extern portal publicerar ett talgruppskommando, och agenten skriver samma 91<tg># till DTMF-pipen — precis vad webbens TG-knapp gör. Slå på/av den från dashboardens Fjärrstyrning-sida, eller kör om sudo dpkg-reconfigure svxspot-dashboard.
Byt admin-lösenordet
Ingen omkonfigurering behövs — nginx läser om filen vid varje anrop:
sudo htpasswd -B /etc/nginx/svxspot-dashboard.htpasswd admin
(Lägg till -c för att börja om med en ny fil med bara den användaren.)
Felsökning
| Symptom | Kolla |
|---|---|
| Sidan laddar inte | systemctl status nginx, sudo nginx -t, och ls /etc/nginx/sites-enabled/ (ska lista svxspot-dashboard). Fortfarande trasig → sudo dpkg-reconfigure svxspot-dashboard.
|
| 502 Bad Gateway | php-fpm är nere → sudo systemctl restart php*-fpm (använd din faktiska version, t.ex. php8.4-fpm).
|
| Lösenord nekas | sudo htpasswd -cB /etc/nginx/svxspot-dashboard.htpasswd admin (-c återskapar filen).
|
| Statussidan tom / ingen signal | SvxLink är inte igång eller saknar config → systemctl status svxlink, tail -n 30 /var/log/svxlink.
|
| TG-knapparna gör inget | Kolla grep DTMF_CTRL_PTY /etc/svxlink/svxlink.conf och att /var/lib/svxlink/dtmf_svx finns. Sedan sudo dpkg-reconfigure svxspot-dashboard och starta om php-fpm.
|
| "Spara"-rättighetsfel | sudo visudo -cf /etc/sudoers.d/svxspot-dashboard ska säga "parsed OK".
|
| MQTT förblir inaktiv | journalctl -u svxnode-mqtt -n 30 --no-pager — oftast fel lösenord, fel host, eller port 8883 blockerad.
|
php8.4-fpm men din box kanske kör php8.2-fpm. Byt till din egen: ls /run/php/php*-fpm.sock.
Avinstallera / börja om
- Behåll inställningarna:
sudo apt remove svxspot-dashboard. - Rensa allt (inkl. MQTT-uppgifter):
sudo apt purge svxspot-dashboard, installera sedan om.
Se även
- Hamradio — SvxLink och resten av howto:erna för digital röst.
- Författare: SA7AUX <bjorne@sa7aux.se>. GPL-3.0-or-later. Baserad på SVXLink-Dashboard-V2 / Guru-RF.