Hamradio/svxspot dashboard/pl
Poradnik dla początkujących o SvxSpot Dashboard: mała strona web, którą instalujesz na swoim węźle SvxLink (hotspot Raspberry Pi lub przemiennik FM), pokazująca, co robi węzeł, i pozwalająca zmieniać talkgrupę, edytować konfigurację i więcej — z telefonu lub komputera. Jeden .deb stawia za ciebie cały stos webowy.
http://svxspot.local/ pokazującą status na żywo / ostatnio słyszane / bieżącą talkgrupę i dającą zmianę TG jednym kliknięciem, klawiaturę DTMF oraz edytory dla svxlink.conf, EchoLink, RF i audio — plus konfigurację Wi-Fi i przyciski restartu/wyłączenia.
Czy tego potrzebuję?
- Prowadzisz węzeł SvxLink — hotspot „SvxSpot” lub przemiennik FM — i chcesz widzieć go i sterować nim z przeglądarki zamiast przez SSH i edytor tekstu.
- Instaluje się na tej samej maszynie co SvxLink (Raspberry Pi lub dowolnej maszynie Debian).
- Opcjonalny dodatek: pozwól zewnętrznemu portalowi zmieniać twoją talkgrupę przez MQTT (przydatne dla panelu klubu). Domyślnie wyłączone — zwykły panel w LAN tego nie potrzebuje.
Czego potrzebujesz najpierw
- Węzeł SvxLink na Debian 12/13 lub Raspberry Pi OS (bookworm/trixie), na Pi 3/4/5, Pi Zero 2 W lub dowolnej maszynie Debian.
- SvxLink zainstalowany i działający z
/etc/svxlink/svxlink.conf(pakietsvxlink-server). - Do sterowania talkgrupą / DTMF z sieci jednym kliknięciem, ta linia w sekcji logic twojego
svxlink.conf:
DTMF_CTRL_PTY=/var/lib/svxlink/dtmf_svx
- (Opcjonalnie, tylko MQTT) host brokera, port (zwykle 8883) i nazwa użytkownika/hasło — tylko jeśli chcesz zdalne sterowanie przez portal.
Nie instalujesz nginx ani PHP samodzielnie — pakiet je pobiera i konfiguruje za ciebie.
Instalacja
Najłatwiej — instalator jednoliniowy (pobiera najnowsze wydanie i instaluje; apt automatycznie pobiera nginx/PHP):
curl -fsSL https://git.sa7aux.se/bjorne/svxspot-dashboard/raw/branch/main/install.sh | sudo bash
Albo zainstaluj .deb, który skopiowałeś:
sudo apt install ./svxspot-dashboard_<version>_all.deb
svxspot-dashboard_1.0.1_all.deb). Pakiet jest niezależny od architektury (_all) — ten sam plik działa na Pi i na x86-64.
O co pyta instalator
Zwykła instalacja zadaje kilka pytań (debconf). Proponowane są rozsądne wartości domyślne — zwykle wystarczy Enter:
| Pytanie | Co wpisać |
|---|---|
| Znak węzła | Wykrywany automatycznie z svxlink.conf. Zaakceptuj.
|
| Użytkownik admin panelu | Nazwa logowania do stron sterowania. Domyślnie admin.
|
| Hasło admina | Wpisz jedno, albo zostaw puste, aby wygenerować losowe 16-znakowe hasło pokazane raz na końcu — zapisz je. |
| Włączyć zdalne sterowanie MQTT? | Domyślnie nie. Powiedz tak tylko, jeśli portal będzie sterował tym węzłem; wtedy pyta o host brokera / użytkownika / hasło. |
Co konfiguruje za ciebie
Instalator robi całą „hydraulikę” (i można go bezpiecznie uruchomić ponownie przez sudo dpkg-reconfigure svxspot-dashboard):
- instaluje i konfiguruje nginx (strona na porcie 80) i php-fpm;
- tworzy login admina (bcrypt
htpasswd); - instaluje ściśle ograniczone reguły sudo, by użytkownik web mógł zapisać konfigurację i zrestartować SvxLink — i nic więcej;
- dodaje użytkownika web do grup
audio, tty, dialout, svxlink; - przygotowuje opcjonalnego agenta MQTT (usługę systemd) — włączanego tylko, gdy włączyłeś MQTT.
Na końcu wypisuje baner z URL panelu, użytkownikiem admin i (jeśli wygenerowane) hasłem.
Otwieranie
- W przeglądarce w tej samej sieci wejdź na
http://svxspot.local/(lubhttp://<ip-węzła>/, jeśli nazwa.localsię nie rozwiązuje). - Strona statusu nie wymaga logowania. Strony sterowania (TG, edytor konfiguracji, power, Wi-Fi, …) pytają o użytkownika/hasło admina, które ustawiłeś.
svxspot / raspberry i panel admin / svxspot. Zmień oba natychmiast (zobacz niżej).
Co jest w panelu
| Strona | Co robi |
|---|---|
| Start / Status | Status na żywo, ostatnio słyszane stacje, bieżąca talkgrupa, przyciski szybkie. (Bez logowania.) |
| TG + klawiatura DTMF | Zmień talkgrupę jednym dotknięciem; wyślij surowe DTMF. |
| Konfiguracja | Edytuj svxlink.conf w przeglądarce z tekstem pomocy; każdy zapis robi kopię z datą i restartuje SvxLink.
|
| EchoLink · RF (SA818) · Audio | Edytory dla EchoLink, częstotliwości/squelcha modułu radiowego i poziomów audio. |
| Wi-Fi / Sieć | Dołączenie do Wi-Fi / ustawienie sieci. |
| Power | Restart, wyłączenie lub restart SvxLink. |
| Zdalne sterowanie (MQTT) | Włącz/wyłącz opcjonalnego agenta MQTT i ustaw broker. |
| Info o węźle · Mapa · Log | Metadane węzła, mapa i log SvxLink. |
Jak steruje SvxLinkiem (wersja prosta)
Nie musisz tego wiedzieć, by używać, ale pomaga przy diagnozie: panel czyta /etc/svxlink/svxlink.conf i /var/log/svxlink, by pokazać status, i steruje węzłem, zapisując ciągi DTMF (np. 91<tg># do zmiany TG) do potoku sterującego /var/lib/svxlink/dtmf_svx. Zmiany konfiguracji są zapisywane, a SvxLink restartowany przez ściśle ograniczone reguły sudo. To wszystko — bez bazy danych.
Opcjonalnie: zdalne sterowanie przez MQTT
Jeśli włączyłeś MQTT, mały agent systemd (svxnode-mqtt) nawiązuje wychodzące połączenie TLS do twojego brokera na porcie 8883 (nic do otwierania w routerze). Zewnętrzny portal publikuje polecenie talkgrupy, a agent zapisuje to samo 91<tg># do potoku DTMF — dokładnie to, co robi przycisk TG w sieci. Włącz/wyłącz go na stronie Zdalne sterowanie panelu lub przez sudo dpkg-reconfigure svxspot-dashboard.
Zmiana hasła admina
No reconfigure needed — nginx re-reads the file on every request:
sudo htpasswd -B /etc/nginx/svxspot-dashboard.htpasswd admin
(Add -c to start a fresh file with only that user.)
Rozwiązywanie problemów
| Objaw | Sprawdź |
|---|---|
| Strona się nie ładuje | systemctl status nginx, sudo nginx -t i ls /etc/nginx/sites-enabled/ (powinno listować svxspot-dashboard). Dalej zepsute → sudo dpkg-reconfigure svxspot-dashboard.
|
| 502 Bad Gateway | php-fpm padł → sudo systemctl restart php*-fpm (twoja rzeczywista wersja, np. php8.4-fpm).
|
| Hasło odrzucone | sudo htpasswd -cB /etc/nginx/svxspot-dashboard.htpasswd admin (-c tworzy od nowa).
|
| Pusta strona statusu / brak znaku | SvxLink nie działa lub brak konfiguracji → systemctl status svxlink, tail -n 30 /var/log/svxlink.
|
| Przyciski TG nic nie robią | Sprawdź grep DTMF_CTRL_PTY /etc/svxlink/svxlink.conf i czy istnieje /var/lib/svxlink/dtmf_svx. Potem sudo dpkg-reconfigure svxspot-dashboard i zrestartuj php-fpm.
|
| Błąd uprawnień przy „Zapisz” | sudo visudo -cf /etc/sudoers.d/svxspot-dashboard musi powiedzieć „parsed OK”.
|
| MQTT pozostaje nieaktywne | journalctl -u svxnode-mqtt -n 30 --no-pager — zwykle złe hasło, zły host lub zablokowany port 8883.
|
php8.4-fpm, ale twoja maszyna może mieć php8.2-fpm. Wstaw swoją: ls /run/php/php*-fpm.sock.
Usuwanie / zaczynanie od nowa
- Zachowaj ustawienia:
sudo apt remove svxspot-dashboard. - Usuń wszystko (łącznie z danymi MQTT):
sudo apt purge svxspot-dashboard, potem zainstaluj ponownie.
Zobacz też
- Hamradio — SvxLink i reszta poradników o głosie cyfrowym.
- Autor: SA7AUX <bjorne@sa7aux.se>. GPL-3.0-or-later. Oparte na SVXLink-Dashboard-V2 / Guru-RF.
