Was eine Anwendung erreichen kann
Eine Anwendung ist die Seite, die Ihr Agent hochlädt und auf einem Bildschirm platziert. Der Player gibt ihr über window.screenrig.device die Hardware des Geräts, auf dem sie läuft: Die Anwendung wartet auf einen Scan, steuert ein Relais an oder druckt einen Beleg und meldet das Ergebnis mit emit an Ihren Agenten, sodass „Ausweis gescannt“ oder „Service angefordert“ im Ereignisprotokoll des Projekts landet.
Jede Art von Hardware hat ein eigenes Fähigkeits-Flag. Ein Flag ist nur auf einem Player true, der die Funktion bietet, auf einem Gerät, das die Hardware hat, und für die Seite, die den Bildschirm steuert; so läuft ein Build auch auf einem Bildschirm ohne die Hardware. Die SDK-Referenz listet die Flags, die Aufrufe und die Fehler auf.
Seitenfunktionen auf jedem Player, der Anwendungen ausführt
Sichtbarkeit der Seite, Seitenzeiten, Startparameter und die Fakten des Bildschirms in context funktionieren auf jedem Player, der Anwendungen ausführt: der Player-Web-App, Android (Google Play und Amazon Signage Stick), Linux und Raspberry Pi, macOS, Windows, BrightSign, Samsung Smart Signage (Tizen) und LG webOS Signage. Sie brauchen keine Hardware. Apple TV, iPhone und iPad führen keine Anwendungen aus.
Was jeder Player bietet
Eine Zelle nennt, was der Player tut. „Ja“ ist die Funktion, wie die Zeile sie beschreibt, und „Nein“ ist ein Player, der sie nicht bietet. Die Aufrufe zu jeder Zeile stehen in der SDK-Referenz.
| Fähigkeit | Android | Linux und Raspberry Pi | macOS | Windows | BrightSign | Samsung (Tizen), LG webOS | Player-Web-App |
|---|---|---|---|---|---|---|---|
Sichtbarkeit der Seite, Seitenzeiten, Startparameter und Bildschirmfakten in context | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
| Barcode-Scanner und Ausweisleser (Keyboard Wedge) | Ja | Ja | Ja | Nein | Ja | Ja | Ja |
| NFC-Tags | Ja | Nein | Nein | Nein | Nein | Nein | Nein |
| Barcode-Erkennung mit der Kamera | Ja | Ja | Ja | Nein | Nein | Nein | Nein |
| Personenzählung | Ja | Nein | Ja | Nein | Nein | Nein | Nein |
| Schallpegel des Mikrofons | Ja | Ja | Ja | Ja | Nein | Nein | Nein |
| Serielle Schnittstellen über USB und RS-232 | Ja (USB-CDC-ACM-Adapter) | Ja | Nein | Ja | Ja (der integrierte RS-232-Port und USB seriell) | Nein | WebSerial, nur ChromeOS-Kiosk |
| GPIO | Wo das Gerät einen beschreibbaren sysfs-GPIO-Chip bereitstellt (kein Pull) | Raspberry Pi; andere Boards mit SCREENRIG_GPIO_CHIP | Nein | Nein | Ja: GPIO 0 bis 7 am GPIO-Anschluss oder ein BrightSign-USB-zu-GPIO-Adapter | Nein | Nein |
| Bluetooth-LE-Sensoren (Lesen und Benachrichtigen) | Ja (Android 12 und neuer) | Ja (das BlueZ des Hosts) | Ja | Ja | Nein | Nein | Nein |
| Belegdrucker (ESC/POS) | Ja (USB) | Ja | Nein | Ja | Nein | Nein | Nein |
| PDF-Druck | Nein | Ja (CUPS) | Nein | Nein | Nein | Nein | Nein |
| USB-Kassenscanner (WebHID) | Nein | Nein | Nein | Nein | Nein | Nein | Nur ChromeOS-Kiosk |
| Infrarot-Fernbedienung (Empfangen und Senden) | Senden, auf einem Gerät mit Infrarot-Sender | Nein | Nein | Nein | Empfangen und senden | Nein | Nein |
| UDP-Nachrichten an das Netzwerk des Bildschirms und von ihm | Ja | Ja | Nein | Ja | Ja | Nein | Nein |
| Live-HDMI-Eingang | Nein | Nein | Nein | Nein | Ja: XT1143, XT1144, XT1145, XT2144 und XT2145 | Nein | Nein |
Android umfasst die Player für Google Play und Amazon Signage Stick. Das Paket für Raspberry Pi ist der Linux-Player.
Hinweise zu jedem Player
Android und der Amazon Signage Stick
Serielle Ports sind serielle USB-CDC-ACM-Adapter, Drucker sind USB-Drucker, Bluetooth LE braucht Android 12 oder neuer, GPIO-Leitungen brauchen ein Gerät, das einen beschreibbaren sysfs-GPIO-Chip bereitstellt, und Infrarot sendet über den eigenen Infrarotsender des Geräts, wo es einen hat (Android empfängt kein Infrarot).
Es gelten zwei Arten von Berechtigungen, und keine unterbricht einen laufenden Bildschirm:
- Kamera, Mikrofon und Bluetooth werden einmal bei der Einrichtung des Geräts erteilt, in den App-Einstellungen von Android oder mit
adb shell pm grant. Der Player fragt nie danach. Solange Sie sie nicht erteilen, hat die Seite kein Kamera- oder Mikrofon-Flag, und Bluetooth-Aufrufe werden mitble_unavailableabgelehnt. - USB-Geräte lösen den USB-Dialog von Android nur aus, wenn eine Seite zum ersten Mal einen seriellen Port öffnet oder auf einem USB-Drucker druckt, einmal für jedes Gerät. Ein Barcode-Scanner oder Ausweisleser, der wie eine Tastatur tippt, braucht keine Berechtigung.
Linux und Raspberry Pi
Das Paket für Raspberry Pi ist der Linux-Player, und jede für Linux markierte Zeile funktioniert auf einem Pi. Der GPIO-Header eines Pi wird bei einem Pi 3, 4 und 5 von selbst gefunden; ein anderes Board nennt seinen Chip mit SCREENRIG_GPIO_CHIP. Taster und Relais an GPIO behandelt die Verdrahtung und den Zugriff des Players auf den Chip. Bluetooth LE nutzt das BlueZ des Hosts, und der PDF-Druck läuft über CUPS, ein PDF-Drucker ist also eine CUPS-Warteschlange.
macOS
macOS bietet Keyboard-Wedge-Scanner, die Kamera, das Mikrofon und Bluetooth LE. Es hat keine Aufrufe für seriell, GPIO oder Druck.
Windows
Windows bietet das Mikrofon, serielle Ports, Bluetooth LE, Belegdrucker und UDP-Sockets. Es hat keine Keyboard-Wedge-Erfassung: Der Player kann nicht erkennen, wann ein Feld der Seite den Fokus hat, übernimmt daher die Tastenanschläge eines Scanners nicht, und ein Scanner tippt wie jede Tastatur in das fokussierte Feld der Seite. Die Kamera und GPIO werden nicht angeboten.
BrightSign
Eine Anwendung auf einem BrightSign-Player liest dessen integrierten RS-232-Port und serielle USB-Geräte, Keyboard-Wedge-Scanner und Ausweisleser sowie GPIO-Leitungen: die Pins 0 bis 7 am GPIO-Anschluss, USB-GPIO-Expander und die Leitungen und LEDs der Tastenplatinen BP200 und BP900. Sie empfängt Infrarotcodes von einer Fernbedienung, sendet Infrarotcodes an einen Fernseher oder AV-Geräte, sendet und empfängt UDP-Nachrichten für Crestron, AMX, Q-SYS und Show-Controller und zeigt das Live-Bild des HDMI-Eingangs des Players bei den Modellen XT1143, XT1144, XT1145, XT2144 und XT2145. Taster und Relais an GPIO listet die Pin-Bereiche auf, und BrightSign-Player behandelt den Player.
Samsung Smart Signage (Tizen) und LG webOS Signage
Diese Player führen Anwendungen im Browser-Player aus. Sie erhalten die Seitenfunktionen und das Keyboard-Wedge-Scanning, wo immer ein Scanner oder Ausweisleser im Tastaturstil angeschlossen ist, und sonst keine Hardware. WebSerial und WebHID werden auf ihnen nicht angeboten.
Die Player-Web-App und ChromeOS
In der Player-Web-App ist ein Scanner ein Keyboard-Wedge-Leser. Serielle WebSerial-Ports und WebHID-Kassenscanner funktionieren nur in einem ChromeOS-Kiosk. Chrome gibt dem Player einen seriellen Port über seine Unternehmensrichtlinie SerialAllowUsbDevicesForUrls oder SerialAllowAllPortsForUrls frei; der Abschnitt ChromeOS-Kiosk richtet den Kiosk ein.
Datenschutz
Die Kamera wird auf dem Gerät analysiert, und kein Bild verlässt es; ebenso verlässt kein Audio das Gerät.
MQTT und Geräte im Netzwerk
Hardware im eigenen Netzwerk des Bildschirms braucht kein Flag. Eine Anwendung ruft Daten von einem Gerät im Netzwerk ab und verbindet sich mit dem WebSocket-Listener eines MQTT-Brokers, und die SDK-Seite behandelt beides: MQTT abonnieren und Geräte im Netzwerk des Bildschirms erreichen. Seiten im Netzwerk des Bildschirms nennt, was jeder Player erreicht: Samsung Smart Signage (Tizen), LG webOS Signage und BrightSign erreichen nur https://- und wss://-Adressen.
Fragen
- Welche Player lesen einen Barcode-Scanner oder Ausweisleser?
- Android, Linux und Raspberry Pi, macOS, BrightSign, Samsung Smart Signage (Tizen), LG webOS Signage und die Player-Web-App lesen einen Scanner, der wie eine Tastatur tippt. Windows übernimmt die Tastenanschläge des Scanners nicht.
- Kann ein Bildschirm mit Raspberry Pi auf einen Taster reagieren oder ein Relais schalten?
- Ja. Ein Pi 3, 4 oder 5 mit dem Linux-Player liest Taster und Kontakte an seinem GPIO-Header und steuert Relais über eine Relaisplatine an.
- Braucht eine Anwendung eine Berechtigung von der Person am Bildschirm?
- Nicht am Bildschirm. Unter Android werden Kamera, Mikrofon und Bluetooth einmal bei der Einrichtung des Geräts erteilt, und der USB-Dialog erscheint nur beim ersten Mal, wenn eine Seite einen seriellen USB-Port oder USB-Drucker nutzt, einmal für jedes Gerät.
- Sendet die Kamera Bilder irgendwohin?
- Nein. Die Kamera wird auf dem Gerät analysiert, und kein Bild verlässt es.
- Kostet es etwas?
- screenRIG ist kostenlos. Der Scanner, der Sensor, die Relaisplatine oder der Drucker gehen auf Ihre Kosten.