文档

应用可以使用的硬件

屏幕上的应用可以读取条码扫描器和工牌读卡器、NFC 标签、摄像头、麦克风、串口设备、GPIO 线路、Bluetooth LE 传感器和收据打印机,并告知你的智能体发生了什么。本页是各播放器所提供功能的汇总表。

应用可以访问的内容

应用是你的智能体上传并放置到屏幕上的页面。播放器通过 window.screenrig.device 让它使用所在设备的硬件:应用监听扫描、驱动继电器或打印收据,并用 emit 将结果报告给你的智能体,因此“工牌已扫描”或“已请求服务”会进入项目事件日志。

每种硬件都有各自的功能标志。只有在提供该功能的播放器上、在具备该硬件的设备上、对控制屏幕的页面,标志才为 true,因此同一个构建也能在没有该硬件的屏幕上运行。SDK 参考列出了标志、调用和错误。

每个运行应用的播放器上的页面功能

context 中的页面可见性、页面计时、启动参数和屏幕信息在每个运行应用的播放器上都可用:播放器 Web 应用、Android(Google Play 和 Amazon Signage Stick)、Linux 和 Raspberry Pi、macOS、Windows、BrightSign、Samsung Smart Signage (Tizen) 和 LG webOS Signage。它们不需要硬件。Apple TV、iPhone 和 iPad 不运行应用。

每个播放器提供的功能

每个单元格说明播放器的行为。“是”表示该行所述的功能可用,“否”表示播放器不提供该功能。每一行对应的调用见 SDK 参考。

功能AndroidLinux 和 Raspberry PimacOSWindowsBrightSignSamsung (Tizen)、LG webOS播放器 Web 应用
context 中的页面可见性、页面计时、启动参数和屏幕信息是是是是是是是
条码扫描器和工牌读卡器(键盘模拟式)是是是否是是是
NFC 标签是否否否否否否
摄像头条码扫描是是是否否否否
人数统计是否是否否否否
麦克风声音级别是是是是否否否
USB 和 RS-232 串口是(USB CDC-ACM 适配器)是否是是(板载 RS-232 端口和 USB 串口)否WebSerial,仅限 ChromeOS 自助终端
GPIO设备开放可写 sysfs GPIO 芯片的情况(无上下拉)Raspberry Pi;使用 SCREENRIG_GPIO_CHIP 的其他板子否否是:GPIO 接口上的 GPIO 0 到 7,或 BrightSign USB 转 GPIO 适配器否否
Bluetooth LE 传感器(读取和通知)是(Android 12 及更高版本)是(主机的 BlueZ)是是否否否
收据打印机(ESC/POS)是(USB)是否是否否否
PDF 打印否是(CUPS)否否否否否
USB 销售点扫描器(WebHID)否否否否否否仅限 ChromeOS 自助终端
红外遥控(接收和发送)发送,需设备带有红外发射器否否否接收和发送否否
往返屏幕所在网络的 UDP 消息是是否是是否否
实时 HDMI 输入否否否否是:XT1143、XT1144、XT1145、XT2144 和 XT2145否否

Android 涵盖 Google Play 和 Amazon Signage Stick 播放器。Raspberry Pi 软件包就是 Linux 播放器。

各播放器的备注

Android 和 Amazon Signage Stick

串口是 USB CDC-ACM 串口适配器,打印机是 USB 打印机,Bluetooth LE 需要 Android 12 或更高版本,GPIO 线路需要暴露可写 sysfs GPIO 芯片的设备,红外通过设备自带的发射器发送(设备有发射器时;Android 不接收红外)。

适用两类权限,且都不会打断正在运行的屏幕:

  • 摄像头、麦克风和 Bluetooth在设置设备时一次性授予,可在 Android 的应用设置中或用 adb shell pm grant 授予。播放器从不请求这些权限。在授予之前,页面不持有摄像头或麦克风标志,Bluetooth 调用会以 ble_unavailable 拒绝。
  • USB 设备仅在页面首次打开串口或向 USB 打印机打印时才会弹出 Android 的 USB 对话框,每台设备一次。像键盘一样输入的条码扫描器或工牌读卡器不需要权限。

Linux 和 Raspberry Pi

Raspberry Pi 软件包就是 Linux 播放器,标注为 Linux 的每一行都适用于 Pi。在 Pi 3、4 和 5 上会自动找到 Pi 的 GPIO 排针;其他板子用 SCREENRIG_GPIO_CHIP 指定其芯片。GPIO 上的按钮和继电器介绍接线以及播放器对芯片的访问。Bluetooth LE 使用主机的 BlueZ,PDF 打印通过 CUPS 进行,因此 PDF 打印机就是一个 CUPS 队列。

macOS

macOS 提供键盘模拟式扫描器、摄像头、麦克风和 Bluetooth LE。它没有串口、GPIO 或打印调用。

Windows

Windows 提供麦克风、串口、Bluetooth LE、收据打印机和 UDP 套接字。它没有键盘模拟式采集:播放器无法得知页面上的字段何时获得焦点,因此不会截取扫描器的按键,扫描器会像任何键盘一样输入到页面当前获得焦点的字段。摄像头和 GPIO 不提供。

BrightSign

BrightSign 播放器上的应用可读取其板载 RS-232 端口和 USB 串口设备、键盘模拟式扫描器和工牌读卡器,以及 GPIO 线路:GPIO 接口上的引脚 0 到 7、USB GPIO 扩展器,以及 BP200 和 BP900 按钮板的线路和 LED。它可以接收遥控器的红外码,向电视或 AV 设备发送红外码,为 Crestron、AMX、Q-SYS 和演出控制器收发 UDP 消息,并在 XT1143、XT1144、XT1145、XT2144 和 XT2145 上显示播放器 HDMI 输入的实时画面。GPIO 上的按钮和继电器列出引脚范围,BrightSign 播放器介绍该播放器。

Samsung Smart Signage (Tizen) 和 LG webOS Signage

这些播放器在浏览器播放器中运行应用。只要连接了键盘式扫描器或工牌读卡器,它们就能使用页面功能和键盘模拟式扫描,没有其他硬件。它们不提供 WebSerial 和 WebHID。

播放器 Web 应用和 ChromeOS

在播放器 Web 应用中,扫描器是键盘模拟式读卡器。WebSerial 串口和 WebHID 销售点扫描器仅在 ChromeOS 自助终端中可用。Chrome 通过其企业策略 SerialAllowUsbDevicesForUrls 或 SerialAllowAllPortsForUrls 向播放器授予串口;ChromeOS 自助终端一节介绍如何设置该自助终端。

隐私

摄像头的画面在设备上分析,没有任何图像离开设备,也没有任何音频离开设备。

MQTT 和网络上的设备

屏幕所在网络上的硬件不需要标志。应用可以从网络上的设备获取数据,并连接到 MQTT 代理的 WebSocket 监听端口,SDK 页面介绍了这两种方式:订阅 MQTT和访问屏幕所在网络上的设备。屏幕网络上的页面列出了每个播放器能访问的内容:Samsung Smart Signage (Tizen)、LG webOS Signage 和 BrightSign 只能访问 https:// 和 wss:// 地址。

常见问题

哪些播放器可以读取条码扫描器或工牌读卡器?
Android、Linux 和 Raspberry Pi、macOS、BrightSign、Samsung Smart Signage (Tizen)、LG webOS Signage 以及播放器 Web 应用可以读取像键盘一样输入的扫描器。Windows 不接收扫描器的按键。
Raspberry Pi 屏幕能响应按钮或切换继电器吗?
可以。运行 Linux 播放器的 Pi 3、4 或 5 可以读取其 GPIO 排针上的按钮和触点,并通过继电器板驱动继电器。
应用需要屏幕前的人授予权限吗?
在屏幕前不需要。在 Android 上,摄像头、麦克风和 Bluetooth 在设置设备时一次性授予,USB 对话框只在页面首次使用 USB 串口或打印机时出现,每台设备一次。
摄像头会把图片发送到别处吗?
不会。摄像头的画面在设备上分析,没有任何图像离开设备。
需要费用吗?
screenRIG 免费。扫描器、传感器、继电器板或打印机的费用由你承担。