问题标签 [webusb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-chrome - 无法声明我可以通过 device.configuration.interfaces 看到的唯一接口
尝试通过 WebUSB10.14.1
在 Google Chrome 版本中读取 MacOS 上的 USB 条码扫描仪。71.0.3578.98
设备在 requestDevice 对话框中可见Usb211
并成功打开,我在这里使用的代码:
当我尝试claimInterface(0)
(这是对象中唯一可用的接口时,它会因错误(或DOMException )device
而失败- 由于最近的更改,这是预期的:https ://groups.google.com/a/chromium.org /forum/#!msg/blink-dev/LZXocaeCwDw/GLfAffGLAAAJAn attempt to claim a USB device interface has been blocked because it implements a protected interface class.
SecurityError
The requested interface implements a protected class.
有没有办法以某种方式“更深入地调试”,因为我看不到只使用可用接口的方法。
谢谢!
google-chrome - Chrome (Chromium) 究竟如何处理 WebUSB 协议中的登陆页面?
我正在尝试了解登录页面的功能。根据规范:
iLandingPage 字段在非零时表示设备制造商希望用户访问以控制其设备的登录页面。当设备连接时,UA 可能会建议用户导航到这个 URL。
据我所知,登陆页面的主要目的是向用户提供通知,建议将哪个页面与 WebUSB 投诉设备一起使用。所以我有几个问题:
- 登陆页面是否也阻止用户访问其他网站?Chrome (Chromium) 是否会阻止访问与着陆页不匹配的网站?
- 登陆页面是强制性的吗?我们可以通过简单地将 iLandingPage 设置为 0 来避免使用吗?
- 如果登陆页面的 URL 是强制性的 - 使其可配置的首选方法是什么(例如在将固件上传到设备之后)?
- 我在有关 WebUSB 设备黑名单的线程信息之一中看到了。如何在 Chrome/Chromium 中访问 WebUSB 黑名单?
javascript - WebUsb 上的速度 1.2 mb/sec 正常吗?
我正在制作一个通信网络应用程序,它使用stm32 mcu 将 USB 设备连接到Chrome 浏览器。
当我运行我编写的代码时,我以大约1.2 兆字节/秒的速度获取数据。
这是基于纯“transferIn”函数的执行速度,编码和数据解释除外。就我而言, transferIn 使用批量端点。
我知道1.2 mbytes / sec只是关于usb 1.1 的速度。
这是正常的吗?
我想知道是否有更高级的方法,但我不知道。
google-chrome - Chrome 如何在 Android 上实现 WebUSB?
据我了解,原生 Android 应用程序必须通过一个特殊的 API 才能使用涉及 USB OTG 规范的主机模式。但是,WebUSB 规范似乎将主机模式作为唯一的选项(例如在普通计算机上)并且没有提到 OTG,因此大概的代码都在 Chrome 中。Chrome 如何在 Android 上处理 WebUSB,与桌面相比,这需要代码修改吗?
webusb - 'transferIn()'函数的执行速度是0.16s左右吗?
它从一个transferIn函数接收 2048 个字节作为批量传输。执行一个功能需要 0.16 秒。这意味着获得 1mb 需要 80 多秒。我应该怎么做才能使用 WebUSB 加快我的 JavaScript 代码的速度?还是没有办法?
webusb - USB 设备接口已被阻止
我正在尝试在我们的网站上使用 USB RFID 阅读器。通过使用 navigator.usb.getDevices() 我正在选择我的设备。
open() 和 selectConfiguration(1) 正在工作。但是 device.claimInterface(0); 给我以下错误。
声明 USB 设备接口的尝试已被阻止,因为它实现了受保护的接口类。
google-chrome - 使用 WebUSB,对 USB 设备有什么要求
我正在评估 WebUSB 以使用浏览器与 HID USB 硬件进行通信。我想知道USB硬件方面是否有任何要求。例如,是否需要某些固件才能支持 WebUSB?或者 Chrome 可以访问任何 USB 设备?谢谢!
javascript - 如何找到用于与 USB 设备交互的功能
免责声明:我对从网络访问 USB 设备非常陌生。
阅读此文档,我已成功连接到设备。我的页面有一个按钮,该按钮会弹出连接设备的窗口,然后可以选择配置并声明接口。
据我了解,设备会根据它们的功能而具有不同的功能。我如何知道设备的功能?我已经搜索了记录设备给我的所有内容,但找不到方法或道具或任何东西的列表。
该设备是一个 X 射线传感器,因此我所看到的文档非常稀缺。
如果我问错了问题,对不起。再次,对此非常陌生。可能会以错误的方式进行。
让我连接到设备的代码片段:
webusb - 通过 WebUSB 连接到串行 USB 设备
我有通过 USB 串行模式连接到 mac 或 windows 的硬件。目前,我有一个 nodejs 应用程序,它使用“串行”节点模块向该硬件发送和接收消息。我正在尝试从网页连接到硬件。我使用了 WebUSB serial.js。我能够看到该设备并猜测它正在连接。但是当我尝试发送/接收消息时 - 它说无法声明接口。
我想知道我可以使用带有串行支持的 USB 的 WebUSB 吗?
webusb - 如果是使用 webUSB API 的复合设备(有两个接口),则无法打开设备
我在 Windows 10 上使用 Chrome 浏览器 v72.0.3626.109(Official Build)(32-bit)。
试图声明供应商特定复合 USB 设备的 USB 接口,其中 1 个接口是供应商特定的,另一个 DFU 运行时接口加载 winusb 驱动程序。我已确保尚未加载供应商特定的驱动程序
通过 webUSB API device.open() 打开设备失败,代码:18(安全错误:访问被拒绝。)
我尝试过的其他场景...
我的 USB 设备只有 1 个接口(供应商特定的批量接口)并且没有加载驱动程序。该设备未在 requestDevice 打开的设备选择菜单中列出。
我的 USB 设备只有 1 个接口(DFU 运行时接口),加载了 winusb 驱动程序。该设备被列出、打开并声称接口可以使用 webUSB API 工作。
使用 webUSB API 列出和打开供应商特定的 USB 设备是否有限制?有什么我想念的吗?