Javascript 如何找到用于与USB设备交互的功能

Javascript 如何找到用于与USB设备交互的功能,javascript,usb,webusb,Javascript,Usb,Webusb,免责声明:我对从网络访问USB设备非常陌生 ,我已成功连接到设备。我的页面有一个按钮,该按钮打开连接到设备的窗口,然后它可以选择一个配置并声明一个接口 据我所知,设备根据其功能的不同而具有不同的功能。如何知道设备的功能?我已经搜索了记录设备给我的所有东西,但找不到方法、道具或任何东西的列表 该设备是一个x射线传感器,因此从我所看到的情况来看,文档资料非常稀少 如果我问错了,对不起。再一次,这是非常新的。可能是走错了路 使我连接到设备的代码段: navigator.usb.requestDevic

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

,我已成功连接到设备。我的页面有一个按钮,该按钮打开连接到设备的窗口,然后它可以选择一个配置并声明一个接口

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

该设备是一个x射线传感器,因此从我所看到的情况来看,文档资料非常稀少

如果我问错了,对不起。再一次,这是非常新的。可能是走错了路

使我连接到设备的代码段:

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


我从来没有使用过USB连接,但从查看到没有看到任何询问设备功能的能力。我怀疑与设备的交互可能类似于套接字连接,因为没有特定于该设备的方法,但可能是一次发送/接收的json。然后,可能用于向设备发送/接收信息

请注意,
controlTransferIn
/
controlTransferOut
都描述了特定于供应商的
请求
/
属性

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

请查看此示例(它是关于设置USB热敏打印机的,虽然不同,但对我有帮助):

我和你的处境相似,我想使用我拥有的一个非常特殊的硬件,但我不清楚如何与它交互


关于,

值得注意的是,似乎USB连接一般都是实验性的,在这一点上浏览器支持有限。根据libusb,我发现您可以将bmRequest作为适当的十六进制来传递。这在WebUSB中是不可能的吗?