A qué puede acceder una aplicación
Una aplicación es la página que su agente sube y coloca en una pantalla. El Player le da el hardware del dispositivo en el que se ejecuta mediante window.screenrig.device: la aplicación escucha un escaneo, controla un relé o imprime un recibo, e informa del resultado a su agente con emit, de modo que "credencial escaneada" o "servicio solicitado" llega al registro de eventos del proyecto.
Cada tipo de hardware tiene su propia marca de capacidad. Una marca es true solo en un Player que ofrece la función, en un dispositivo que tiene el hardware, para la página que controla la pantalla, de modo que una misma compilación también se ejecuta en una pantalla sin el hardware. La referencia del SDK enumera las marcas, las llamadas y los errores.
Funciones de página en todos los Player que ejecutan aplicaciones
La visibilidad de la página, los tiempos de página, los parámetros de lanzamiento y los datos de la pantalla en context funcionan en todos los Player que ejecutan aplicaciones: la app web Player, Android (Google Play y el Amazon Signage Stick), Linux y Raspberry Pi, macOS, Windows, BrightSign, Samsung Smart Signage (Tizen) y LG webOS Signage. No necesitan hardware. Apple TV, iPhone y iPad no ejecutan aplicaciones.
Qué ofrece cada Player
Cada celda indica qué hace el Player. "Sí" es la función tal como la describe la fila, y "No" es un Player que no la ofrece. Las llamadas de cada fila están en la referencia del SDK.
| Capacidad | Android | Linux y Raspberry Pi | macOS | Windows | BrightSign | Samsung (Tizen), LG webOS | App web del reproductor |
|---|---|---|---|---|---|---|---|
Visibilidad de la página, tiempos de página, parámetros de lanzamiento y datos de la pantalla en context | Sí | Sí | Sí | Sí | Sí | Sí | Sí |
| Escáneres de códigos de barras y lectores de credenciales (emulación de teclado) | Sí | Sí | Sí | No | Sí | Sí | Sí |
| Etiquetas NFC | Sí | No | No | No | No | No | No |
| Lectura de códigos de barras con cámara | Sí | Sí | Sí | No | No | No | No |
| Recuento de personas | Sí | No | Sí | No | No | No | No |
| Nivel de sonido del micrófono | Sí | Sí | Sí | Sí | No | No | No |
| Serie USB y RS-232 | Sí (adaptadores USB CDC-ACM) | Sí | No | Sí | Sí (el puerto RS-232 integrado y serie USB) | No | WebSerial, solo kiosco ChromeOS |
| GPIO | Donde el dispositivo expone un chip GPIO sysfs escribible (sin pull) | Raspberry Pi; otras placas con SCREENRIG_GPIO_CHIP | No | No | Sí: GPIO 0 a 7 en el conector GPIO, o un adaptador USB a GPIO de BrightSign | No | No |
| Sensores Bluetooth LE (lectura y notificación) | Sí (Android 12 y posterior) | Sí (BlueZ del host) | Sí | Sí | No | No | No |
| Impresoras de recibos (ESC/POS) | Sí (USB) | Sí | No | Sí | No | No | No |
| Impresión de PDF | No | Sí (CUPS) | No | No | No | No | No |
| Escáneres USB de punto de venta (WebHID) | No | No | No | No | No | No | Solo kiosco ChromeOS |
| Mando a distancia infrarrojo (recepción y envío) | Enviar, en un dispositivo con emisor infrarrojo | No | No | No | Recibir y enviar | No | No |
| Mensajes UDP hacia y desde la red de la pantalla | Sí | Sí | No | Sí | Sí | No | No |
| Entrada HDMI en vivo | No | No | No | No | Sí: XT1143, XT1144, XT1145, XT2144 y XT2145 | No | No |
Android abarca los Players de Google Play y de Amazon Signage Stick. El paquete de Raspberry Pi es el Player de Linux.
Notas para cada Player
Android y el Amazon Signage Stick
Los puertos serie son adaptadores serie USB CDC-ACM, las impresoras son impresoras USB, Bluetooth LE necesita Android 12 o posterior, las líneas GPIO necesitan un dispositivo que exponga un chip GPIO sysfs escribible, y el infrarrojo se envía por el emisor propio del dispositivo cuando lo tiene (Android no recibe infrarrojos).
Se aplican dos tipos de permiso, y ninguno interrumpe una pantalla en funcionamiento:
- La cámara, el micrófono y Bluetooth se conceden una vez al configurar el dispositivo, en los ajustes de aplicaciones de Android o con
adb shell pm grant. El Player nunca los solicita. Hasta que los conceda, la página no tiene ninguna marca de cámara ni de micrófono, y las llamadas de Bluetooth se rechazan conble_unavailable. - Los dispositivos USB muestran el diálogo USB de Android solo cuando una página abre por primera vez un puerto serie o imprime en una impresora USB, una vez por dispositivo. Un escáner de códigos de barras o lector de credenciales que escribe como un teclado no necesita permiso.
Linux y Raspberry Pi
El paquete de Raspberry Pi es el Player de Linux, y toda fila marcada para Linux funciona en una Pi. El conector GPIO de una Pi 3, 4 y 5 se encuentra solo; otra placa nombra su chip con SCREENRIG_GPIO_CHIP. Botones y relés en GPIO explica el cableado y el acceso del Player al chip. Bluetooth LE usa BlueZ del host, y la impresión de PDF pasa por CUPS, de modo que una impresora de PDF es una cola de CUPS.
macOS
macOS ofrece escáneres con emulación de teclado, la cámara, el micrófono y Bluetooth LE. No tiene llamadas de serie, GPIO ni impresión.
Windows
Windows ofrece el micrófono, los puertos serie, Bluetooth LE, las impresoras de recibos y los sockets UDP. No tiene captura con emulación de teclado: el Player no puede saber cuándo un campo de la página tiene el foco, así que no recibe las pulsaciones de teclas de un escáner, y un escáner escribe en el campo enfocado de la página como cualquier teclado. La cámara y GPIO no se ofrecen.
BrightSign
Una aplicación en un reproductor BrightSign lee su puerto RS-232 integrado y los dispositivos serie USB, los escáneres y lectores de credenciales con emulación de teclado, y las líneas GPIO: los pines 0 a 7 del conector GPIO, los expansores GPIO USB, y las líneas y LED de las placas de botones BP200 y BP900. Recibe códigos infrarrojos de un mando a distancia, envía códigos infrarrojos a un TV o a equipos AV, envía y recibe mensajes UDP para Crestron, AMX, Q-SYS y controladores de espectáculos, y muestra la imagen en vivo de la entrada HDMI del reproductor en los XT1143, XT1144, XT1145, XT2144 y XT2145. Botones y relés en GPIO enumera los rangos de pines, y Reproductores BrightSign describe el reproductor.
Samsung Smart Signage (Tizen) y LG webOS Signage
Estos Players ejecutan aplicaciones en el Player del navegador. Obtienen las funciones de página y el escaneo con emulación de teclado dondequiera que haya un escáner o lector de credenciales de tipo teclado conectado, y ningún otro hardware. WebSerial y WebHID no se ofrecen en ellos.
La app web Player y ChromeOS
En la app web Player un escáner es un lector con emulación de teclado. Los puertos serie WebSerial y los escáneres de punto de venta WebHID funcionan solo en un kiosco ChromeOS. Chrome concede un puerto serie al Player mediante su política empresarial SerialAllowUsbDevicesForUrls o SerialAllowAllPortsForUrls; la sección Kiosco ChromeOS configura el kiosco.
Privacidad
La cámara se analiza en el dispositivo y ninguna imagen sale de él, y ningún audio sale del dispositivo.
MQTT y dispositivos en la red
El hardware de la propia red de la pantalla no necesita marca. Una aplicación obtiene datos de un dispositivo de la red y se conecta al listener WebSocket de un broker MQTT, y la página del SDK explica ambos casos: Suscribirse a MQTT y Acceder a dispositivos de la red de la pantalla. Páginas en la red de la pantalla enumera lo que alcanza cada Player: Samsung Smart Signage (Tizen), LG webOS Signage y BrightSign alcanzan solo direcciones https:// y wss://.
Preguntas
- ¿Qué Players leen un escáner de códigos de barras o un lector de credenciales?
- Android, Linux y Raspberry Pi, macOS, BrightSign, Samsung Smart Signage (Tizen), LG webOS Signage y la app web Player leen un escáner que escribe como un teclado. Windows no recibe las pulsaciones de teclas del escáner.
- ¿Puede una pantalla Raspberry Pi reaccionar a un botón o accionar un relé?
- Sí. Una Pi 3, 4 o 5 con el Player de Linux lee botones y contactos en su conector GPIO y controla relés mediante una placa de relés.
- ¿Una aplicación necesita un permiso de la persona que está frente a la pantalla?
- No frente a la pantalla. En Android, la cámara, el micrófono y Bluetooth se conceden una vez al configurar el dispositivo, y el diálogo USB aparece solo la primera vez que una página usa un puerto serie USB o una impresora, una vez por dispositivo.
- ¿La cámara envía imágenes a algún lugar?
- No. La cámara se analiza en el dispositivo y ninguna imagen sale de él.
- ¿Tiene algún costo?
- screenRIG es gratis. El escáner, el sensor, la placa de relés o la impresora corren por su cuenta.