Ce qu’une application peut atteindre
Une application est la page que votre agent téléverse et place sur un écran. Le Player lui donne le matériel de l’appareil sur lequel il s’exécute par window.screenrig.device : l’application écoute un scan, pilote un relais ou imprime un reçu, et rapporte le résultat à votre agent avec emit, de sorte que « badge scanné » ou « service demandé » arrive dans le journal des événements du projet.
Chaque type de matériel a son propre indicateur de capacité. Un indicateur n’est vrai que sur un Player qui offre la fonctionnalité, sur un appareil qui a le matériel, pour la page qui contrôle l’écran, de sorte qu’une même version s’exécute aussi sur un écran sans le matériel. La référence du SDK liste les indicateurs, les appels et les erreurs.
Fonctionnalités de page sur chaque Player qui exécute des applications
La visibilité de la page, le minutage de la page, les params de lancement et les données d’écran dans context fonctionnent sur chaque Player qui exécute des applications : l’application Web Player, Android (Google Play et l’Amazon Signage Stick), Linux et Raspberry Pi, macOS, Windows, BrightSign, Samsung Smart Signage (Tizen) et LG webOS Signage. Ils n’exigent aucun matériel. Apple TV, iPhone et iPad n’exécutent aucune application.
Ce que chaque Player offre
Une cellule nomme ce que fait le Player. « Oui » est la fonctionnalité telle que la ligne la décrit, et « Non » est un Player qui ne l’offre pas. Les appels de chaque ligne sont dans la référence du SDK.
| Capacité | Android | Linux et Raspberry Pi | macOS | Windows | BrightSign | Samsung (Tizen), LG webOS | Application Web du lecteur |
|---|---|---|---|---|---|---|---|
Visibilité de la page, minutage de la page, params de lancement et données d’écran dans context | Oui | Oui | Oui | Oui | Oui | Oui | Oui |
| Scanners de codes à barres et lecteurs de badges (émulation de clavier) | Oui | Oui | Oui | Non | Oui | Oui | Oui |
| Étiquettes NFC | Oui | Non | Non | Non | Non | Non | Non |
| Lecture de codes-barres par caméra | Oui | Oui | Oui | Non | Non | Non | Non |
| Comptage des personnes | Oui | Non | Oui | Non | Non | Non | Non |
| Niveau sonore du microphone | Oui | Oui | Oui | Oui | Non | Non | Non |
| USB et série RS-232 | Oui (adaptateurs USB CDC-ACM) | Oui | Non | Oui | Oui (le port RS-232 intégré et le série USB) | Non | WebSerial, kiosque ChromeOS seulement |
| GPIO | Là où l’appareil expose une puce GPIO sysfs accessible en écriture (sans pull) | Raspberry Pi ; autres cartes avec SCREENRIG_GPIO_CHIP | Non | Non | Oui : GPIO 0 à 7 sur le connecteur GPIO, ou un adaptateur USB-GPIO BrightSign | Non | Non |
| Capteurs Bluetooth LE (lecture et notification) | Oui (Android 12 et plus récent) | Oui (le BlueZ de l’hôte) | Oui | Oui | Non | Non | Non |
| Imprimantes de reçus (ESC/POS) | Oui (USB) | Oui | Non | Oui | Non | Non | Non |
| Impression PDF | Non | Oui (CUPS) | Non | Non | Non | Non | Non |
| Scanners de point de vente USB (WebHID) | Non | Non | Non | Non | Non | Non | Kiosque ChromeOS seulement |
| Télécommande infrarouge (réception et envoi) | Envoi, sur un appareil doté d’un émetteur infrarouge | Non | Non | Non | Réception et envoi | Non | Non |
| Messages UDP vers et depuis le réseau de l’écran | Oui | Oui | Non | Oui | Oui | Non | Non |
| Entrée HDMI en direct | Non | Non | Non | Non | Oui : XT1143, XT1144, XT1145, XT2144 et XT2145 | Non | Non |
Android couvre les Players Google Play et Amazon Signage Stick. Le paquet Raspberry Pi est le Player Linux.
Notes pour chaque Player
Android et l’Amazon Signage Stick
Les ports série sont des adaptateurs série USB CDC-ACM, les imprimantes sont des imprimantes USB, le Bluetooth LE exige Android 12 ou plus récent, les lignes GPIO exigent un appareil qui expose une puce GPIO sysfs accessible en écriture, et l’infrarouge envoie par l’émetteur propre à l’appareil lorsqu’il en a un (Android ne reçoit pas d’infrarouge).
Deux types d’autorisation s’appliquent, et aucun n’interrompt un écran en cours de lecture :
- La caméra, le microphone et le Bluetooth sont accordés une seule fois lors de la configuration de l’appareil, dans les paramètres d’applications d’Android ou avec
adb shell pm grant. Le Player ne les demande jamais. Tant que vous ne les accordez pas, la page ne détient aucun indicateur de caméra ou de microphone, et les appels Bluetooth rejettentble_unavailable. - Les appareils USB font apparaître la boîte de dialogue USB d’Android seulement lorsqu’une page ouvre un port série ou imprime sur une imprimante USB pour la première fois, une fois pour chaque appareil. Un scanner de codes à barres ou un lecteur de badges qui saisit comme un clavier n’exige aucune autorisation.
Linux et Raspberry Pi
Le paquet Raspberry Pi est le Player Linux, et chaque ligne marquée pour Linux fonctionne sur un Pi. La barrette GPIO d’un Pi est trouvée d’elle-même sur un Pi 3, 4 et 5 ; une autre carte nomme sa puce avec SCREENRIG_GPIO_CHIP. Boutons et relais sur GPIO décrit le câblage et l’accès du Player à la puce. Le Bluetooth LE utilise le BlueZ de l’hôte, et l’impression PDF passe par CUPS : une imprimante PDF est donc une file CUPS.
macOS
macOS offre les scanners à émulation de clavier, la caméra, le microphone et le Bluetooth LE. Il n’a aucun appel série, GPIO ou d’impression.
Windows
Windows offre le microphone, les ports série, le Bluetooth LE, les imprimantes de reçus et les sockets UDP. Il n’a pas de capture par émulation de clavier : le Player ne peut pas savoir quand un champ de la page a le focus, donc il ne capte pas les frappes d’un scanner, et un scanner saisit dans le champ actif de la page comme n’importe quel clavier. La caméra et le GPIO ne sont pas offerts.
BrightSign
Une application sur un lecteur BrightSign lit son port RS-232 intégré et ses appareils série USB, des scanners et des lecteurs de badges à émulation de clavier, ainsi que des lignes GPIO : broches 0 à 7 du connecteur GPIO, expanseurs GPIO USB, et lignes et DEL des cartes de boutons BP200 et BP900. Elle reçoit des codes infrarouges d’une télécommande, envoie des codes infrarouges à un téléviseur ou à un équipement AV, envoie et reçoit des messages UDP pour Crestron, AMX, Q-SYS et des contrôleurs de spectacle, et affiche l’image en direct de l’entrée HDMI du lecteur sur les XT1143, XT1144, XT1145, XT2144 et XT2145. Boutons et relais sur GPIO liste les plages de broches, et Lecteurs BrightSign décrit le lecteur.
Samsung Smart Signage (Tizen) et LG webOS Signage
Ces Players exécutent les applications dans le Player du navigateur. Ils obtiennent les fonctionnalités de page et la lecture par émulation de clavier partout où un scanner ou un lecteur de badges de type clavier est branché, et aucun autre matériel. WebSerial et WebHID n’y sont pas offerts.
L’application Web Player et ChromeOS
Dans l’application Web Player, un scanner est un lecteur à émulation de clavier. Les ports série WebSerial et les scanners de point de vente WebHID ne fonctionnent que sur un kiosque ChromeOS. Chrome accorde un port série au Player par sa politique d’entreprise SerialAllowUsbDevicesForUrls ou SerialAllowAllPortsForUrls ; la section Kiosque ChromeOS configure le kiosque.
Confidentialité
La caméra est analysée sur l’appareil et aucune image ne le quitte, et aucun son ne quitte l’appareil.
MQTT et appareils sur le réseau
Le matériel sur le réseau propre de l’écran n’exige aucun indicateur. Une application récupère des données d’un appareil du réseau et se connecte à l’écouteur WebSocket d’un courtier MQTT, et la page du SDK décrit les deux : S’abonner à MQTT et Joindre les appareils du réseau de l’écran. Pages sur le réseau de l’écran liste ce que chaque Player atteint : Samsung Smart Signage (Tizen), LG webOS Signage et BrightSign n’atteignent que les adresses https:// et wss://.
Questions
- Quels Players lisent un scanner de codes à barres ou un lecteur de badges ?
- Android, Linux et Raspberry Pi, macOS, BrightSign, Samsung Smart Signage (Tizen), LG webOS Signage et l’application Web Player lisent un scanner qui saisit comme un clavier. Windows ne capte pas les frappes du scanner.
- Un écran Raspberry Pi peut-il réagir à un bouton ou commuter un relais ?
- Oui. Un Pi 3, 4 ou 5 sous le Player Linux lit des boutons et des contacts sur sa barrette GPIO et pilote des relais par une carte relais.
- Une application a-t-elle besoin d’une autorisation de la personne devant l’écran ?
- Pas devant l’écran. Sur Android, la caméra, le microphone et le Bluetooth sont accordés une seule fois lors de la configuration de l’appareil, et la boîte de dialogue USB n’apparaît que la première fois qu’une page utilise un port série USB ou une imprimante, une fois pour chaque appareil.
- La caméra envoie-t-elle des images quelque part ?
- Non. La caméra est analysée sur l’appareil et aucune image ne le quitte.
- Cela coûte-t-il quelque chose ?
- screenRIG est gratuit. Le scanner, le capteur, la carte relais ou l’imprimante sont à votre charge.