我有通过USB串行模式连接到Mac或Windows的硬件。当前,我有一个nodejs应用程序,它使用“串行”节点模块向该硬件发送和接收消息。 我正在尝试从WebPage连接到硬件。我使用了WebUSB serial.js。我能够看到该设备并猜测它正在连接。但是,当我尝试发送/接收消息时,它说无法声明该接口。
我想知道可以将WebUSB用于具有串行支持的USB吗?
答案 0 :(得分:0)
claimInterface()
调用失败,因为您的操作系统已经为此设备(或特定于供应商的FTDI)加载了USB串行类驱动程序。 USB接口一次只能声明一件事。可以选择更改设备固件,以便驱动程序不再识别该接口(修改接口类或产品ID),然后您便可以声明该接口并使用找到的Arduino WebUSB库的serial.js之类的代码
另一种选择是等待Chrome完成Serial API的实现。可以跟踪其状态here。
答案 1 :(得分:0)
对我有用的是在控制台中运行sudo modprobe -r ftdi_sio
。
这样,它可以从操作系统卸载USB,并使WebUSB可以使用它并声明接口。