O que um aplicativo pode acessar
Um aplicativo é a página que seu agente envia e coloca em uma tela. O Player dá a ele o hardware do dispositivo em que roda por meio de window.screenrig.device: o aplicativo recebe uma leitura, aciona um relé ou imprime um recibo, e relata o resultado ao seu agente com emit, de modo que "crachá lido" ou "atendimento solicitado" chega ao registro de eventos do projeto.
Cada tipo de hardware tem uma flag de capacidade própria. Uma flag é true somente em um Player que oferece o recurso, em um dispositivo que tem o hardware, para a página que controla a tela, então uma mesma versão também roda em uma tela sem o hardware. A referência do SDK lista as flags, as chamadas e os erros.
Recursos de página em todo Player que executa aplicativos
Visibilidade da página, tempo da página, params de lançamento e os fatos da tela em context funcionam em todo Player que executa aplicativos: o app web do Player, Android (Google Play e o Amazon Signage Stick), Linux e Raspberry Pi, macOS, Windows, BrightSign, Samsung Smart Signage (Tizen) e LG webOS Signage. Eles não precisam de hardware. Apple TV, iPhone e iPad não executam aplicativos.
O que cada Player oferece
Uma célula indica o que o Player faz. "Sim" é o recurso como a linha o descreve, e "Não" é um Player que não o oferece. As chamadas de cada linha estão na referência do SDK.
| Capacidade | Android | Linux e Raspberry Pi | macOS | Windows | BrightSign | Samsung (Tizen), LG webOS | App web do Player |
|---|---|---|---|---|---|---|---|
Visibilidade da página, tempo da página, params de lançamento e fatos da tela em context | Sim | Sim | Sim | Sim | Sim | Sim | Sim |
| Scanners de código de barras e leitores de crachá (keyboard wedge) | Sim | Sim | Sim | Não | Sim | Sim | Sim |
| Tags NFC | Sim | Não | Não | Não | Não | Não | Não |
| Leitura de códigos de barras pela câmera | Sim | Sim | Sim | Não | Não | Não | Não |
| Contagem de pessoas | Sim | Não | Sim | Não | Não | Não | Não |
| Nível sonoro do microfone | Sim | Sim | Sim | Sim | Não | Não | Não |
| Serial USB e RS-232 | Sim (adaptadores USB CDC-ACM) | Sim | Não | Sim | Sim (a porta RS-232 integrada e serial USB) | Não | WebSerial, somente quiosque ChromeOS |
| GPIO | Onde o dispositivo expõe um chip GPIO sysfs gravável (sem pull) | Raspberry Pi; outras placas com SCREENRIG_GPIO_CHIP | Não | Não | Sim: GPIO 0 a 7 no conector GPIO, ou um adaptador USB para GPIO da BrightSign | Não | Não |
| Sensores Bluetooth LE (leitura e notificação) | Sim (Android 12 e posterior) | Sim (o BlueZ do host) | Sim | Sim | Não | Não | Não |
| Impressoras de recibo (ESC/POS) | Sim (USB) | Sim | Não | Sim | Não | Não | Não |
| Impressão de PDF | Não | Sim (CUPS) | Não | Não | Não | Não | Não |
| Scanners USB de ponto de venda (WebHID) | Não | Não | Não | Não | Não | Não | Somente quiosque ChromeOS |
| Controle remoto infravermelho (recepção e envio) | Enviar, em um dispositivo com emissor de infravermelho | Não | Não | Não | Receber e enviar | Não | Não |
| Mensagens UDP de e para a rede da tela | Sim | Sim | Não | Sim | Sim | Não | Não |
| Entrada HDMI ao vivo | Não | Não | Não | Não | Sim: XT1143, XT1144, XT1145, XT2144 e XT2145 | Não | Não |
Android abrange os Players do Google Play e do Amazon Signage Stick. O pacote Raspberry Pi é o Player Linux.
Notas para cada Player
Android e o Amazon Signage Stick
As portas seriais são adaptadores seriais USB CDC-ACM, as impressoras são impressoras USB, o Bluetooth LE exige Android 12 ou posterior, as linhas GPIO exigem um dispositivo que exponha um chip GPIO sysfs gravável, e o infravermelho envia pelo emissor do próprio dispositivo onde ele tem um (o Android não recebe infravermelho).
Dois tipos de permissão se aplicam, e nenhum interrompe uma tela em execução:
- A câmera, o microfone e o Bluetooth são concedidos uma vez, quando você configura o dispositivo, nas configurações de apps do Android ou com
adb shell pm grant. O Player nunca os solicita. Até você concedê-los, a página não tem flag de câmera nem de microfone, e as chamadas de Bluetooth são rejeitadas comble_unavailable. - Dispositivos USB exibem a caixa de diálogo USB do Android somente quando uma página abre uma porta serial ou imprime em uma impressora USB pela primeira vez, uma vez para cada dispositivo. Um scanner de código de barras ou leitor de crachá que digita como um teclado não precisa de permissão.
Linux e Raspberry Pi
O pacote Raspberry Pi é o Player Linux, e toda linha marcada para o Linux funciona em um Pi. O header GPIO de um Pi 3, 4 e 5 é encontrado automaticamente; outra placa indica seu chip com SCREENRIG_GPIO_CHIP. Botões e relés no GPIO descreve as ligações e o acesso do Player ao chip. O Bluetooth LE usa o BlueZ do host, e a impressão de PDF passa pelo CUPS, então uma impressora de PDF é uma fila do CUPS.
macOS
O macOS oferece scanners keyboard-wedge, a câmera, o microfone e o Bluetooth LE. Ele não tem chamadas de serial, GPIO nem de impressão.
Windows
O Windows oferece microfone, portas seriais, Bluetooth LE, impressoras de recibo e sockets UDP. Ele não tem captura keyboard-wedge: o Player não consegue saber quando um campo da página tem foco, então não captura as teclas de um scanner, e um scanner digita no campo com foco da página como qualquer teclado. A câmera e o GPIO não são oferecidos.
BrightSign
Um aplicativo em um player BrightSign lê a porta RS-232 integrada e dispositivos seriais USB, scanners e leitores de crachá keyboard-wedge, e linhas GPIO: os pinos 0 a 7 no conector GPIO, expansores GPIO USB, e as linhas e os LEDs das placas de botões BP200 e BP900. Ele recebe códigos infravermelhos de um controle remoto, envia códigos infravermelhos a uma TV ou equipamento de AV, envia e recebe mensagens UDP para Crestron, AMX, Q-SYS e controladores de show, e mostra a imagem ao vivo da entrada HDMI do player nos XT1143, XT1144, XT1145, XT2144 e XT2145. Botões e relés no GPIO lista as faixas de pinos, e Players BrightSign descreve o player.
Samsung Smart Signage (Tizen) e LG webOS Signage
Esses Players executam aplicativos no Player web. Eles têm os recursos de página e a leitura keyboard-wedge onde houver um scanner ou leitor de crachá estilo teclado conectado, e nenhum outro hardware. WebSerial e WebHID não são oferecidos neles.
O app web do Player e o ChromeOS
No app web do Player, um scanner é um leitor keyboard-wedge. As portas seriais WebSerial e os scanners de ponto de venda WebHID funcionam somente em um quiosque ChromeOS. O Chrome concede uma porta serial ao Player por meio da política corporativa SerialAllowUsbDevicesForUrls ou SerialAllowAllPortsForUrls; a seção quiosque ChromeOS configura o quiosque.
Privacidade
A câmera é analisada no dispositivo e nenhuma imagem sai dele, e nenhum áudio sai do dispositivo.
MQTT e dispositivos na rede
O hardware na rede da própria tela não precisa de flag. Um aplicativo busca dados em um dispositivo da rede e se conecta ao listener WebSocket de um broker MQTT, e a página do SDK descreve os dois: Assinar MQTT e Acessar dispositivos na rede da tela. Páginas na rede da tela lista o que cada Player alcança: Samsung Smart Signage (Tizen), LG webOS Signage e BrightSign alcançam apenas endereços https:// e wss://.
Perguntas
- Quais Players leem um scanner de código de barras ou leitor de crachá?
- Android, Linux e Raspberry Pi, macOS, BrightSign, Samsung Smart Signage (Tizen), LG webOS Signage e o app web do Player leem um scanner que digita como um teclado. O Windows não captura as teclas do scanner.
- Uma tela com Raspberry Pi pode reagir a um botão ou acionar um relé?
- Sim. Um Pi 3, 4 ou 5 executando o Player Linux lê botões e contatos no header GPIO e aciona relés por meio de uma placa de relé.
- Um aplicativo precisa de permissão da pessoa que está diante da tela?
- Não diante da tela. No Android, a câmera, o microfone e o Bluetooth são concedidos uma vez quando você configura o dispositivo, e a caixa de diálogo USB aparece somente na primeira vez que uma página usa uma porta serial USB ou uma impressora, uma vez para cada dispositivo.
- A câmera envia imagens para algum lugar?
- Não. A câmera é analisada no dispositivo e nenhuma imagem sai dele.
- Custa alguma coisa?
- O screenRIG é gratuito. O scanner, o sensor, a placa de relé ou a impressora são custo seu.