Hamradio/svxspot dashboard/es
Una guía para principiantes del SvxSpot Dashboard: una pequeña página web que instalas en tu nodo SvxLink (un hotspot Raspberry Pi o un repetidor FM) que muestra lo que hace el nodo y te permite cambiar de talkgroup, editar la configuración y más — desde el móvil o el PC. Un .deb monta toda la pila web por ti.
http://svxspot.local/ que muestra estado en vivo / últimos oídos / talkgroup actual y te da cambio de TG con un clic, un teclado DTMF y editores para svxlink.conf, EchoLink, RF y audio — además de configuración Wi-Fi y botones de reinicio/apagado.
¿Necesito esto?
- Operas un nodo SvxLink — un hotspot «SvxSpot» o un repetidor FM — y quieres verlo y controlarlo desde un navegador en vez de por SSH y un editor de texto.
- Se instala en la misma máquina que SvxLink (una Raspberry Pi o cualquier equipo Debian).
- Extra opcional: deja que un portal externo cambie tu talkgroup por MQTT (útil para el panel de control de un club). Desactivado por defecto — un panel LAN sencillo no necesita nada de eso.
Qué necesitas primero
- Un nodo SvxLink corriendo en Debian 12/13 o Raspberry Pi OS (bookworm/trixie), en una Pi 3/4/5, Pi Zero 2 W o cualquier equipo Debian.
- SvxLink instalado y en ejecución con
/etc/svxlink/svxlink.conf(paquetesvxlink-server). - Para control de talkgroup / DTMF con un clic desde la web, esta línea en la sección logic de tu
svxlink.conf:
DTMF_CTRL_PTY=/var/lib/svxlink/dtmf_svx
- (Opcional, solo MQTT) host del broker, puerto (normalmente 8883) y usuario/contraseña — solo si quieres control remoto por portal.
No instalas nginx ni PHP tú mismo — el paquete los trae y los configura por ti.
Instalación
Lo más fácil — el instalador de una línea (descarga la última release y la instala; apt trae nginx/PHP automáticamente):
curl -fsSL https://git.sa7aux.se/bjorne/svxspot-dashboard/raw/branch/main/install.sh | sudo bash
O instala un .deb que hayas copiado:
sudo apt install ./svxspot-dashboard_<version>_all.deb
svxspot-dashboard_1.0.1_all.deb). El paquete es independiente de la arquitectura (_all) — el mismo archivo vale para una Pi y para x86-64.
Qué te pregunta el instalador
Una instalación normal lanza unas preguntas (debconf). Se ofrecen valores por defecto sensatos — normalmente basta con pulsar Enter:
| Pregunta | Qué introducir |
|---|---|
| Indicativo del nodo | Autodetectado desde svxlink.conf. Acéptalo.
|
| Usuario admin del panel | Nombre de acceso para las páginas de control. Por defecto admin.
|
| Contraseña admin | Escribe una, o déjala vacía para que se genere una contraseña aleatoria de 16 caracteres y se muestre una vez al final — apúntala. |
| ¿Activar control remoto MQTT? | Por defecto no. Di sí solo si un portal va a controlar este nodo; entonces pide host del broker / usuario / contraseña. |
Qué configura por ti
El instalador hace toda la fontanería (y puede volver a ejecutarse sin riesgo con sudo dpkg-reconfigure svxspot-dashboard):
- instala y configura nginx (un sitio en el puerto 80) y php-fpm;
- crea el acceso admin (bcrypt
htpasswd); - instala reglas sudo muy acotadas para que el usuario web pueda guardar la configuración y reiniciar SvxLink — y nada más;
- añade el usuario web a los grupos
audio, tty, dialout, svxlink; - prepara el agente MQTT opcional (un servicio systemd) — activado solo si encendiste MQTT.
Al final imprime un banner con tu URL del panel, el usuario admin y (si se generó) la contraseña.
Abrirlo
- En un navegador de la misma red ve a
http://svxspot.local/(ohttp://<ip-del-nodo>/si el nombre.localno resuelve). - La página de estado no necesita login. Las páginas de control (TG, editor de configuración, power, Wi-Fi, …) piden el usuario/contraseña admin que pusiste.
svxspot / raspberry y panel admin / svxspot. Cámbialos de inmediato (ver abajo).
Qué hay en el panel
| Página | Qué hace |
|---|---|
| Inicio / Estado | Estado en vivo, últimas estaciones oídas, talkgroup actual, botones rápidos. (Sin login.) |
| TG + teclado DTMF | Cambia de talkgroup con un toque; envía DTMF en bruto. |
| Configuración | Edita svxlink.conf en el navegador con texto de ayuda; cada guardado hace una copia con fecha y reinicia SvxLink.
|
| EchoLink · RF (SA818) · Audio | Editores para EchoLink, frecuencia/squelch del módulo de radio y niveles de audio. |
| Wi-Fi / Red | Conectarse a una Wi-Fi / configurar la red. |
| Power | Reiniciar, apagar o reiniciar SvxLink. |
| Control remoto (MQTT) | Encender/apagar el agente MQTT opcional y configurar el broker. |
| Info del nodo · Mapa · Log | Metadatos del nodo, mapa y el log de SvxLink. |
Cómo controla SvxLink (versión simple)
No necesitas saber esto para usarlo, pero ayuda al diagnosticar: el panel lee /etc/svxlink/svxlink.conf y /var/log/svxlink para mostrar el estado, y controla el nodo escribiendo cadenas DTMF (p. ej. 91<tg># para cambiar de TG) en la tubería de control /var/lib/svxlink/dtmf_svx. Los cambios de configuración se guardan y SvxLink se reinicia mediante las reglas sudo acotadas. Eso es todo — sin base de datos.
Opcional: control remoto por MQTT
Si activaste MQTT, un pequeño agente systemd (svxnode-mqtt) establece una conexión TLS saliente a tu broker en el puerto 8883 (nada que abrir en el router). Un portal externo publica una orden de talkgroup, y el agente escribe el mismo 91<tg># en la tubería DTMF — exactamente lo que hace el botón TG de la web. Enciéndelo/apágalo desde la página Control remoto del panel, o con sudo dpkg-reconfigure svxspot-dashboard.
Cambiar la contraseña admin
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.)
Resolución de problemas
| Síntoma | Comprobar |
|---|---|
| La página no carga | systemctl status nginx, sudo nginx -t y ls /etc/nginx/sites-enabled/ (debe listar svxspot-dashboard). Sigue roto → sudo dpkg-reconfigure svxspot-dashboard.
|
| 502 Bad Gateway | php-fpm caído → sudo systemctl restart php*-fpm (tu versión real, p. ej. php8.4-fpm).
|
| Contraseña rechazada | sudo htpasswd -cB /etc/nginx/svxspot-dashboard.htpasswd admin (-c la recrea).
|
| Página de estado vacía / sin indicativo | SvxLink no está en ejecución o sin configuración → systemctl status svxlink, tail -n 30 /var/log/svxlink.
|
| Los botones TG no hacen nada | Comprueba grep DTMF_CTRL_PTY /etc/svxlink/svxlink.conf y que exista /var/lib/svxlink/dtmf_svx. Luego sudo dpkg-reconfigure svxspot-dashboard y reinicia php-fpm.
|
| Error de permisos al «Guardar» | sudo visudo -cf /etc/sudoers.d/svxspot-dashboard debe decir «parsed OK».
|
| MQTT sigue inactivo | journalctl -u svxnode-mqtt -n 30 --no-pager — normalmente contraseña incorrecta, host incorrecto o puerto 8883 bloqueado.
|
php8.4-fpm pero tu máquina podría usar php8.2-fpm. Pon la tuya: ls /run/php/php*-fpm.sock.
Desinstalar / empezar de cero
- Conservar la configuración:
sudo apt remove svxspot-dashboard. - Borrar todo (incl. credenciales MQTT):
sudo apt purge svxspot-dashboard, luego reinstala.
Véase también
- Hamradio — SvxLink y el resto de las guías de voz digital.
- Autor: SA7AUX <bjorne@sa7aux.se>. GPL-3.0-or-later. Basado en SVXLink-Dashboard-V2 / Guru-RF.
