WebUSB 和 WebSerial 的区别

问题描述

我正在做一个涉及使用浏览器访问 USB 端口的项目。我见过 WebUSB API 和 WebSerial API。虽然我似乎无法理解它们之间有什么区别?有人能强调一下区别吗?

解决方法

WebUSB API 用于从 Web 提供对 USB(通用串行总线)设备的访问,但是 WebSerial API 用于从 Web 提供对符合 RS232 标准的串行端口的访问,如旧打印机端口或旧鼠标端口。 RS232 用于医疗设备等许多设备。

,

这两个 API 之间的区别在于它们如何与操作系统交互以与设备进行通信。 WebUSB 使用特定于平台的 USB API,而 Web Serial 使用特定于平台的串行 API。这很重要,因为 USB 的级别低于串行,而且并非每个串行设备都是 USB 设备。使用 WebUSB,您将能够与许多不同类别的 USB 设备进行通信,包括串行设备,但它需要操作系统允许浏览器“声明”USB 接口,这意味着不能已经存在 USB 设备驱动程序.使用 Web Serial,您将能够与 USB 串行设备以及其他类型的串行设备(例如蓝牙)以及内置 RS-232 端口和其他 UART 进行通信。使用 Web Serial 连接到 USB 设备的权衡是操作系统需要安装正确的 USB 串行驱动程序,以便该设备可通过浏览器使用的特定于平台的串行 API 来实现 Web Serial。