2

我最近尝试使用 Web API 来获取我的 USB 设备。但是,有一些问题。

首先,我在网上找到的例子都是关于我从未尝试过的Arduino的,所以不知道它是否适用于我的电脑。我试图与我的智能手机 SAMSUNG J7 通信。我将 VID 和 PID 设置为与在设备管理器中找到的相同。然后,没有可以选择的设备,只显示“没有找到兼容的设备”。

什么都没找到图片

然后,我将过滤器部分删除为空白以获取所有设备。但是,我得到的只是内部英特尔 USB 芯片或其他东西。我仍然找不到我的设备。

无滤镜图片

下面是我的javascript代码

const filters = [{}];
  navigator.usb.requestDevice({
      filters: filters
    })
    .then(usbDevice => {
      console.log("Product name: " + usbDevice.productName);
      console.log(usbDevice.manufacturerName);
    })
    .catch(e => {
      console.log("There is no device. " + e);
    });

谁能告诉我我哪里错了或者对 Webusb 有什么误解吗

4

1 回答 1

1

您应该能够连接到您的 SAMSUNG J7,但是如果您使用的是 Windows,那么您需要确保系统正在加载 WinUSB.sys 驱动程序(这是让 Chrome 作为应用程序访问设备的原因)。相关说明在这里:https ://developer.android.com/studio/run/win-usb

如果您正在构建自己的设备(并且只是使用手机进行测试),那么基于 Arduino 的示例是了解您的设备应该实现哪些描述符以利用 WebUSB 功能并兼容多个操作系统(主要是只是与 Windows 相关的问题)。

于 2018-06-14T16:43:10.827 回答