1

免责声明:我对从网络访问 USB 设备非常陌生。

阅读此文档,我已成功连接到设备。我的页面有一个按钮,该按钮会弹出连接设备的窗口,然后可以选择配置并声明接口。

据我了解,设备会根据它们的功能而具有不同的功能。我如何知道设备的功能?我已经搜索了记录设备给我的所有内容,但找不到方法或道具或任何东西的列表。

该设备是一个 X 射线传感器,因此我所看到的文档非常稀缺。

如果我问错了问题,对不起。再次,对此非常陌生。可能会以错误的方式进行。

让我连接到设备的代码片段:

navigator.usb.requestDevice({ filters: [{ vendorId: 0x0547 }] })
                .then(device => {
                    console.log(device);
                })
            .catch(error => { console.log(error.message); });

控制台日志输出

4

2 回答 2

1

我从未使用过 USB 连接,但通过查看它的文档并没有看到任何询问设备功能的能力。我怀疑与设备的交互可能类似于套接字连接,因为没有特定于该设备的方法,但可能是在声明接口后发送/接收的 json 。然后,controlTransferIn()并且controlTransferOut()可能用于向/从设备发送/接收信息。

请注意controlTransferIn/controlTransferOut都描述了特定于供应商的request/value属性。

我认为最好的方法是直接联系供应商以获取有关如何与他们的 USB 设备交互的文档。对于您希望支持的任何设备,都需要执行此操作。还要记住,从代码架构的角度来看,抽象是你的朋友。

于 2019-01-26T11:51:28.880 回答
1

查看此示例(它是关于设置 USB 热敏打印机,虽然不一样,但它帮助了我):https ://github.com/drffej/webusb.printer/blob/master/printer.html

我和你的情况相似,我想使用我拥有的非常特定的硬件,但我不清楚如何与之交互。

问候,

于 2019-02-06T16:42:17.230 回答