Dispositivos
La pestaña Dispositivos lista todas las pantallas vinculadas a tu empresa.
Columnas de la lista
| Columna | Significado |
|---|---|
| Estado | Icono verde / rojo según si el agente ha hecho heartbeat reciente |
| Nombre / ID | Dispositivo_USUARIO_RDSXXXX y su código RDSXXXX corto |
| Empresa / sucursal | A quién pertenece y dónde está |
| Estado playlist | "Descargando", "Descarga finalizada", "Reproduciendo", "No iniciada" (con tooltip al pasar el ratón) |
| Último latido | Última vez que el agente se comunicó con el servidor |
| Cobertura | Calidad de la conexión reportada por el agente (si aplica) |
| Acciones | Menú desplegable con operaciones |
Filtros
Por empresa, sucursal, fecha o texto libre (busca por nombre, RDSXXXX, ubicación, departamento). Los filtros se mantienen mientras navegas.
Menú "Acciones"
Sobre cada fila tienes dos desplegables:
Acciones (usuario)
- Editar kiosk — modo Web/Playlist, URL inicio, whitelist, contraseña admin. Detalle.
- Enviar mensaje a soporte — envía una incidencia.
- Logs — muestra los últimos logs del agente. Útil para diagnóstico.
- Captura de pantalla — pide al dispositivo una captura JPEG de lo que está mostrando. Abre un diálogo con un spinner; en ≤60 s, la imagen aparece dentro del propio diálogo y queda guardada en la ficha del dispositivo. Si el dispositivo está apagado, la solicitud queda pendiente y se sube en cuanto vuelve a estar online. Detalle.
- Editar — nombre, ubicación, empresa/sucursal, observaciones.
- Desbloquear token — sólo aparece si el token de comunicación se ha bloqueado por intentos repetidos fallidos.
- Eliminar — borra el dispositivo del plan (libera la plaza).
Admin (sólo Promotienda)
Acciones internas de soporte: activar/desactivar manualmente, retirar, conectar, atender incidencia, etc.
Añadir un dispositivo
Botón "+ Añadir" en la esquina superior derecha.
- Si tu plan tiene plazas libres, el dispositivo se crea inmediatamente sin coste.
- Si no tiene plazas libres, el sistema te pedirá ampliar el plan: paga el prorrateo con tu tarjeta y se crean tanto las plazas nuevas como los dispositivos.
- Recibirás un correo de confirmación con el listado de IDs creados y, si hubo pago, la factura en PDF adjunta.
Importante: el dispositivo recién creado existe sólo en el panel. Para que reproduzca contenido necesitas instalar el agente en el hardware y emparejarlo con el ID asignado. Si compraste el dispositivo a Promotienda esto ya viene hecho.
Comprar un dispositivo
Botón "Comprar dispositivo". Abre el catálogo con la opción de envío directo a tu local con la playlist y el WiFi preconfigurados. Incluye 1 año de licencia RDS gratuita.
Estado de envío
Cuando compras dispositivos por catálogo, durante el tiempo que tardan en enviarse aparecen con un "Pendiente envío" y las acciones del usuario están deshabilitadas. Promotienda los marca como enviados cuando salen del almacén — entonces las acciones se reactivan y recibes un correo de aviso.
Información del dispositivo en la tarjeta
Al pasar el ratón por encima de un dispositivo se abre una tarjeta con sus datos en tiempo real. Las filas relevantes:
| Fila | Significado |
|---|---|
| IP | Última IP pública vista por el servidor |
| Versión | Versión del agente instalada (badge EOL si está por debajo del mínimo soportado: 2.0.0 en Android, 1.0.0 en Linux) |
| Cobertura | Calidad de la conexión reportada por el agente |
| Modelo | Modelo de hardware. Android: Build.DEVICE (p.ej. emu64xa, RMX2061). Linux: nombre DMI (VirtualBox, ThinkPad X1, etc.) |
| Android | Versión de Android (sólo agentes Android) |
| OS | Distribución y versión del sistema operativo (sólo agentes Linux, leído de /etc/os-release. Ej.: Debian GNU/Linux 13 (trixie)) |
| Uptime | Tiempo desde el último arranque. Útil para detectar reinicios inesperados |
| Último latido | Hora del último heartbeat recibido |
El agente Android usa
SystemClock.elapsedRealtime()(incluye tiempo en deep-sleep). El agente Linux lee/proc/uptime.
Capturas de pantalla
Desde Acciones → Captura de pantalla puedes pedir al dispositivo una imagen JPEG de lo que está mostrando en pantalla en ese momento. Funciona en Android y Linux.
Cómo funciona
- Al pulsar la opción se abre un diálogo modal con un spinner y el mensaje "Captura solicitada. Esperando al dispositivo…". El contador en gris muestra los segundos transcurridos.
- El servidor marca la solicitud (
screenshot_pending=1) y la inyecta como flag en la siguiente respuesta de heartbeat al agente (≤ 60 s). - El agente:
- Linux captura con
scrotla pantalla:0(todo lo que se ve, incluido el navegador WebKit del modo kiosk o el reproductor de playlist). - Android captura con
PixelCopyla ventana de la Activity en primer plano (PlayerActivityoKioskBrowserActivity). Eso incluye el contenido WebView/Surface acelerado por GPU.
- Linux captura con
- El JPEG (calidad 70, ~150-400 KB típico) se firma con HMAC-SHA256 v2 y se envía a
/suport/upload_screenshot.phppor POST. - El servidor verifica la firma, guarda la imagen como
/screenshots/<num_serie_gprs>.jpg(siempre una sola imagen por dispositivo, se sobrescribe), limpia el flag y stamp elscreenshot_at. - El diálogo, que estaba haciendo polling cada 4 s, detecta la imagen nueva y la reemplaza por una vista previa clicable (abre la imagen original en una pestaña aparte).
Tiempos y reintentos
- En condiciones normales, la imagen aparece en 5–60 s.
- Si el dispositivo está apagado, sin red, o el agente está parado, el diálogo agota a los 120 s y muestra: "El dispositivo no respondió a tiempo. La solicitud queda pendiente — si vuelve a estar online la imagen se subirá igualmente." La solicitud no se cancela: en cuanto el agente vuelve a hacer heartbeat, recoge el flag y sube la imagen. Sólo tienes que refrescar la ficha del dispositivo para verla.
- En Android, sólo se captura mientras la Activity del kiosk está en primer plano (
onResume). Si el dispositivo está bloqueado o muestra otra app, la captura espera al siguiente regreso al kiosk.
Privacidad y permisos
- Sólo usuarios con permiso Gestión > Pantallas > Modificar (o Admin > Pantallas > Crear) pueden solicitar capturas.
- La imagen se sirve sólo a través del panel y queda atada al
num_serie_gprsdel dispositivo. No hay endpoint público para listarlas. - Cada nueva captura sobrescribe la anterior — sólo se conserva la más reciente.
Ver la imagen más tarde
Si cierras el diálogo, la última captura sigue accesible:
- En la ficha del dispositivo (clic sobre el nombre o el ID) hay una sección "Captura de pantalla" con la imagen y la fecha/hora de cuando se tomó.