【问题标题】:No Compatible Devices Found using WebHID on Chrome在 Chrome 上使用 WebHID 未找到兼容设备
【发布时间】:2021-03-12 02:09:34
【问题描述】:

我正在尝试将 ACR122U NFC ReaderWebHID API 一起使用,但我似乎无法让 Chrome 91 Desktop 在 Linux 和 Windows 上找到它。

我知道浏览器正在看到来自chrome://usb-internals 的阅读器向我显示此屏幕:​​

到目前为止,我尝试过的两段代码是here,通过脚本标签中的检查元素工具看到。 脚本中的 VendorID 和 ProductID 与 Chrome 可以识别的内容相匹配,所以我不确定它为什么不适用。

我让读者看到的唯一弹出对话框withinChrome NFC WebUSB,但我不能使用该 API,因为它实现了一个受保护的类,这就是为什么我使用 WebHID 作为替代方案,希望它可以工作。

如何更正我的代码以允许 Chrome 识别此设备;我错过了什么?

【问题讨论】:

    标签: javascript api google-chrome nfc webhid


    【解决方案1】:

    我认为这行不通,因为 ARC122U NFC 阅读器没有实现 HID 协议。根据product page,它使用USB CCID protocol

    【讨论】:

      【解决方案2】:

      我能够通过 WebUSB 控制 ACR122U NFC 阅读器。查看我更新的库https://github.com/beaufortfrancois/chrome-nfc

      什么不适合你?

      【讨论】:

      • 我尝试了该示例,直接在 Windows 10 上的 chrome 或 edge 中运行 example.html。单击“发现”按钮时,它会询问我的设备:“ACR122U PICC 接口”,但是当我按“连接”我在控制台“DOMException:访问被拒绝 chrome-nfc.js:829”中看到一个错误。如果我在那之后再试一次,它会询问我的设备,它会显示为“ACR122U PICC 接口 - 已配对”。我知道阅读器本身通过 nfc-tools 或 WinSCard.dll 工作(使用来自 VB6 的))
      • 您是否在 about://usb-internals 中看到了一些有助于诊断正在发生的事情的信息?您可以尝试在其他操作系统中查看这是否是 WebUSB 的 Windows 问题?
      • 我终于启动了 ubuntu 并通过 virtualbox 运行,我得到了完全相同的结果,从文件资源管理器启动 app.html。在做 usb-internals 时,当我单击“获取设备描述符”按钮时,它也会给出相同的 Failed to read the device descriptor. (Reason: Transfer Error)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多