1

我有通过 USB 串行模式连接到 mac 或 windows 的硬件。目前,我有一个 nodejs 应用程序,它使用“串行”节点模块向该硬件发送和接收消息。我正在尝试从网页连接到硬件。我使用了 WebUSB serial.js。我能够看到该设备并猜测它正在连接。但是当我尝试发送/接收消息时 - 它说无法声明接口。

我想知道我可以使用带有串行支持的 USB 的 WebUSB 吗?

4

2 回答 2

3

调用失败是因为您的claimInterface()操作系统已经加载了此设备的 USB 串行类驱动程序(或者可能是供应商特定的驱动程序,例如 FTDI)。USB 接口一次只能由一件事声明。更改设备固件的选项,以便驱动程序不再识别接口(修改接口类或产品 ID),然后您将能够声明接口并使用您找到的 Arduino WebUSB 库的 serial.js 之类的代码.

另一种选择是等待 Chrome 完成实现Serial API。可以在此处跟踪其状态。

于 2019-01-30T20:55:25.823 回答
0

对我有用的是sudo modprobe -r ftdi_sio在控制台中运行。

这样,它会从操作系统中卸载 USB 并使其可供 WebUSB 使用并声明接口。

于 2019-11-08T14:01:33.453 回答