Control AV sin programar la instalación.

Das de alta el proyector desde el navegador y su control queda publicado al instante como API HTTP. Dibujas el mando arrastrando botones. Lo abres en una tablet. Sin recompilar, sin volver a la obra.

Pedir una demo Ver cómo funciona

Software, no hardware propietario: un binario y un contenedor en un mini-PC con Ubuntu.

El diseñador de mandos: a la izquierda la paleta de elementos, en el centro el lienzo con un panel de sala a medio dibujar con botones de proyector y pantalla, y a la derecha el panel de propiedades del elemento seleccionado.
El diseñador de mandos. Arrastras el botón, eliges el equipo, generas.

Lo que hoy cuesta una visita a obra

Cinco cosas que un integrador AV da por perdidas porque siempre han sido así.

  • Cada cambio es programar

    Añadir un proyector o mover un botón significa abrir el entorno del fabricante, escribir código, compilar y subir. Un cambio de cinco minutos se convierte en un desplazamiento.

  • Dependes del fabricante

    Herramienta propietaria, certificación, licencia por procesador. Un ecosistema del que no se sale.

  • El cliente no puede tocar nada

    Todo pasa por ti, incluso lo trivial. Y lo trivial es la mayoría de las llamadas.

  • No sabes qué hay montado

    La configuración vive dentro de un programa compilado, no en algo que se pueda abrir y leer.

  • El mando es lo más caro y lo más rígido

    Panel táctil propietario, licencia por pantalla, y mover un botón de sitio es un ticket. Y el cliente siempre quiere mover un botón de sitio.

Das de alta el equipo. El control se publica solo. El mando lo dibujas tú.

Cuatro pasos, y en ninguno se escribe una línea de código.

  1. 1

    Das de alta el equipo

    Eliges tipo → marca → modelo en el catálogo, y el driver, el puerto y los comandos ya vienen puestos. Tú pones la IP.

    Formulario de alta de un equipo: los desplegables de tipo, marca y modelo ya han rellenado el driver PJLink y el puerto, y solo queda escribir la dirección IP del proyector de la sala 1.
  2. 2

    El control se publica solo

    Aparecen los endpoints HTTP de ese equipo, listos para llamar. Sin recompilar y sin reiniciar el servicio: la configuración se recarga en caliente.

    Lista de endpoints HTTP publicados para el proyector recién dado de alta: encender, apagar, seleccionar entrada y consultar estado.
  3. 3

    Dibujas el mando

    Arrastras botones y sliders a un lienzo y eliges el equipo y el comando de un desplegable, que sale del propio servidor y no de tu memoria.

    El desplegable de comandos abierto sobre un botón del lienzo, mostrando los equipos y los comandos reales que publica el servidor de control.
  4. 4

    Lo cuelgas en la pared

    Generas, y la tablet abre una URL. Sin app que instalar, sin tienda de aplicaciones y sin licencia por pantalla.

    El panel generado, funcionando en una tablet colgada en la pared de una sala de reuniones.
Tablet / Web / App  ──HTTP JSON──▶  front-rc  ──HTTP JSON──▶  jaso-rc  ──PJLink · SICP · OSC · RS-232 · DALI──▶  Equipo
   (el panel generado)              (diseña, genera,          (publica el control)
                                    sirve y pone el token)
jaso-rc habla con los equipos. front-rc es la cara que toca la gente. Tú no tocas un protocolo, y tampoco un editor de código.

El diseñador de mandos

El mando de la sala se dibuja arrastrando, en el navegador. Es la parte que ve el cliente final, y la que hasta ahora era la más cara de cambiar.

Arrastras, no programas

Botones, sliders, imágenes, etiquetas, líneas y rectángulos. Varias pantallas por diseño —vídeo, audio, luces— con navegación entre ellas.

Con la cara del cliente

Fondos, gradientes, su logo, y 36 iconos SVG de AV incluidos.

Cambiar un botón de sitio son dos minutos

Lo mueves, generas, y la tablet lo tiene al recargar. Sin compilar nada, sin volver a la sala.

El panel no miente

El botón se ilumina porque el proyector dice que está encendido, no porque alguien lo haya pulsado. El fader se coloca en el nivel real de la mesa. Y el equipo que no responde se ve apagado en el panel. Si alguien enciende el proyector con el mando de la pared, el panel se entera.

El estado se consulta cada pocos segundos, no se empuja: refleja el equipo de verdad, pero no es instantáneo. Y solo puede reflejar lo que cada driver publica.

El panel que sale

Es una web, no una app

HTML, CSS y JavaScript planos, sin framework ni dependencias. Cualquier tablet, Mac, PC o móvil con navegador. Nada que instalar, nada que caduque, ninguna tienda de aplicaciones de por medio.

Cuelga los paneles que quieras

Son URLs. Sin licencia por pantalla, sin hardware homologado, sin contar dispositivos.

Dura años

No hay build que mantener ni framework que dentro de tres años pida una migración. Una tablet vieja lo abre igual que una nueva.

Tu instalación, en un fichero que puedes leer

No hay un programa compilado escondiendo tu sala. Hay un YAML, y se entiende sin que nadie te lo explique.

configs/devices.yaml
# Equipos a controlar. Gestionado desde la web de administración.
devices:
    - id: proyector-sala1
      driver: pjlink
      network:
        host: 192.168.10.50
        port: 4352
        transport: tcp
        timeout_ms: 2000
      commands:
        power_on: POWR 1
        power_off: POWR 0
        input_hdmi1: INPT 31

Lo escribe la web de administración por ti —tú eliges marca y modelo del catálogo—, pero puedes abrirlo, leerlo, versionarlo y llevártelo. Dentro de tres años seguirá diciendo qué hay montado en esa sala.

Y cuando lo cambias, el servidor recarga en caliente: los equipos nuevos quedan publicados sin reiniciar el servicio y sin recompilar nada.

Qué controla hoy

Solo lo que existe y está en el código. Ni una casilla de más.

Familias de equipo, driver y qué controla cada uno
FamiliaDriverQué controla
Proyectores PJLink Clase 1 Cualquier proyector Clase 1 —Epson, NEC, Panasonic, Sony, Christie, Optoma…— con solo dar de alta la IP: encendido, entradas, mutes, lámpara y errores
Displays y cartelería Philips SICP · Samsung MDC · LG (control externo) Encendido, entradas, volumen y mute, por IP o RS-232
Audio: mesas Midas M32 / Behringer X32 (OSC) Faders, mutes, escenas
Audio: DSP de sala Biamp Tesira (TTP) · QSC Q-SYS (QRC) Volumen, mute, presets y snapshots — sobre el TCP genérico
Matrices Extron SIS · Kramer Protocol 3000 Ties de vídeo y audio, routing y consultas, por IP o serie
Iluminación DALI vía pasarela Direcciones, grupos, escenas y regulación 0–254
Cualquier equipo TCP/UDP TCP genérico La cadena cruda que el equipo entienda
Cualquier equipo serie RS-232 Matrices, pantallas motorizadas, relés

Esos son los protocolos, no la lista de equipos. Los equipos concretos viven en un catálogo — y el catálogo lo amplías tú.

Todo lo que jaso-rc controla, front-rc lo dibuja. El editor no tiene una lista propia de equipos: lee la del servidor.

El soporte DALI está verificado de punta a punta contra pasarela simulada, no todavía contra una pasarela física. Lo digo aquí y no en la letra pequeña de un contrato.

En Biamp, QSC y las matrices, los comandos del catálogo vienen preparados, no adivinados: las etiquetas de control —Level1, MainGain, Sala1— las define el integrador en el proyecto de cada sala, y se ajustan al dar de alta el equipo. Vienen escritos; no vienen adivinados.

Seguridad

Si has visto instalaciones abiertas de par en par, esta sección es para ti.

  • Redes permitidas

    Solo se aceptan peticiones desde la LAN de control. El resto, 403.

  • Un token por panel

    Revocas el del vestíbulo sin tocar los demás. Del token solo se guarda su huella: quien lea el fichero de configuración no entra.

  • Login con contraseña

    Para las personas que administran, con freno a la fuerza bruta.

  • HTTPS

    Servido por el propio binario, con certificado incluido.

Y lo que no protege, porque lo vas a preguntar

Los paneles no piden contraseña, a propósito. Una tablet en la pared no puede escribirla. Quien alcance el servidor de paneles puede pulsar un botón, igual que quien alcanza el mando físico de la pared.

La defensa de los paneles es la red: una VLAN de control y la lista blanca de IPs. Es una decisión, no un descuido, y prefiero contártela ahora que el día de la puesta en marcha.

Instalación y operación

Escrito para quien va a mantenerlo dentro de tres años.

El control es un binario

Sin base de datos y sin runtime que actualizar. Un servicio systemd endurecido, con instalador idempotente: reinstalar no pisa tu configuración, ni tus equipos, ni tu certificado.

El diseñador es un contenedor

Un docker compose up -d en la misma máquina, y solo lo necesitas cuando diseñas. Lo que gobierna la sala —lo que no se puede caer— no tiene runtime.

Todo cabe en dos carpetas de texto

La configuración es YAML legible; los diseños y las imágenes, ficheros. Copia de seguridad, restauración y reset desde las propias webs. Clonar una instalación entera en otro edificio es restaurar una copia.

Un mini-PC con Ubuntu Server

Sin hardware propietario, sin procesador homologado, sin nube. Ni cuentas, ni suscripciones, ni datos saliendo de tu red.

Frente a un sistema propietario

Solo hechos comprobables. Ni una opinión.

Comparación entre un sistema de control AV propietario típico y Jasodev
Aspecto Sistema propietario típico Jasodev
Añadir un equipo Programar, compilar, subir Un formulario web
Diseñar el mando Entorno propietario y programación Arrastrar y soltar en el navegador
Paneles táctiles Hardware propietario, licencia por pantalla Cualquier tablet con navegador. Sin licencia
Cambios en caliente Reinicio del procesador Sin reiniciar
Entorno de desarrollo Propietario, con certificación Ninguno
Configuración Dentro de un programa compilado YAML legible y HTML plano
Integrar con otro software SDK del fabricante API HTTP y JSON

AMX y Crestron son marcas registradas de sus respectivos propietarios, y no tienen relación con este proyecto. Se nombran solo como referencia de categoría.

Preguntas que me hacen siempre

¿Necesito saber programar?

No. Das de alta el equipo en un formulario y dibujas el mando arrastrando. No hay entorno de desarrollo que instalar ni certificación que sacarse.

¿Y si se cae el servidor?

El control es un servicio systemd que rearranca solo. Y los equipos conservan su estado físico: una sala encendida no se apaga porque el control se reinicie.

¿Funciona sin internet?

Sí. Todo funciona en la red local. No hay nube, no hace falta ninguna cuenta y el sistema no envía datos a servidores externos.

¿Puedo controlar un equipo que no está en la lista?

Casi siempre sí, y sin esperarme. El catálogo de marcas y modelos lo amplías tú desde la web: creas el modelo, le asignas un driver y escribes sus comandos. Si el equipo habla PJLink, SICP o MDC, hereda el driver nativo; y si no, los drivers genéricos de TCP, UDP y RS-232 mandan la cadena cruda que el equipo entienda. Solo un protocolo verdaderamente nuevo necesita código, y eso es un fichero Go, no un rediseño.

¿Cuántas tablets puedo colgar?

Las que quieras. El panel es una URL: no se cuentan dispositivos ni se licencian pantallas.

¿Puedo seguir usando mis paneles actuales?

Si saben abrir una URL, sí: los comandos se ejecutan también por GET.

¿Puedo hacerme mi propio panel en vez de usar el editor?

Sí, contra la API HTTP. El editor es la vía cómoda, no una jaula.

¿El panel se adapta a cualquier pantalla?

El diseño se dibuja en un lienzo de tamaño fijo y se escala al viewport, que no es lo mismo que un diseño web adaptativo. En la práctica, dibujas para el formato de la tablet que vas a colgar.

¿Quién es el dueño de la configuración y de los diseños?

Tú. Son ficheros de texto en tu máquina, y te los llevas cuando quieras.

Hablemos de tu instalación

Cuéntame qué sala quieres montar y qué equipos tiene. Te respondo yo, y si encaja te enseño el sistema funcionando de verdad: dando de alta un proyector y dibujando su mando en directo.

Escríbeme hola@jasodev.es

No hay formulario ni nube: escribes a una persona, y esa persona te contesta.