问题标签 [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.
javascript - 未能声明接口 0:设备或资源繁忙
我正在尝试使用WEBUSB API
. 但是当我试图声明接口时,它显示
“DOMException:无法声明接口”
bConfigurationvalue
is1
和接口号是0
。我在lsusb -v
下面添加命令的输出
为什么显示设备或资源繁忙。如何声明接口?
google-chrome - Webusb 扫描文件
有人成功配置了 webusb 来扫描文档吗?我能够连接到 USB 扫描仪,但找不到有关扫描文档的命令的任何文档:
$lsusb -v
下面的代码测试了一个低级别的传输,但是即使 PromiseStatus 被标记为已解决,状态也是停止并且 device.transferIn 状态保持挂起。我无法更进一步,因为我没有找到我的扫描仪或任何其他扫描仪的任何文档。
谢谢 !
javascript - WebUSB 支持是否需要确切的设备描述符?
我在 Windows 7 上运行 Chrome 的 WebUSB 来尝试打开智能卡读卡器。当我使用没有过滤器的 navigator.usb.requestDevices() 时,设备有时会出现。如果我在过滤器中包含 vendorId 和 productId,则该设备无法在 Chrome 中选择/列出。此外,当我尝试使用
我被拒绝访问(权限不足)。在实践中,为了将设备连接到 Chrome 并对其进行操作,是否真的需要每个设备都具有与WebUSB 文档上发布的设备描述符格式完全相同的设备描述符?我也尝试过使用 Zadig 将驱动程序更改为 WinUSB,但这并没有改变任何东西。
google-chrome - WebUSB 限制控制TransferOut?
我使用 usbmon 来分析 usb 数据包,并在 webusb 中实现它,但是我无法找到解决方案。这是 Sane 发送到 USB 的内容:
这类似于 controlTransferOut() 命令,requestType=Standard,receiver: 'endpoint', request: 1, index: 0x00, value:129
这里的“值”非常棘手,因为根据文档,所有其他参数都应该是正确的,但是发送 value:129 应该发送如下内容:
但是我得到的是:
而 value 是一个无符号的 short,最大 0xffff !所以显然值应该是0,下一个半字节0x0081。我的问题是如何用第二个半字节的值触发控制输出(Co)?
代码是这样的:
例如,所有其他组合都与响应“Stall”一起发送(类,接口:21 - 供应商,设备:40 ...等)。
设备描述和端点描述符可在此处获得
谢谢
android - WebUSB API 错误:设备已断开连接
我正在尝试使用 WebUSB API 通过 Web 与三星 J7 通信。我目前正在使用这个基本代码:
电话device.open()
正在返回
DOMException:设备已断开连接
我用 Chrome 在 Windows 和 Ubuntu 机器上测试了代码。两者都给出了相同的结果。对问题原因有任何帮助吗?
dart - 使用 chromebook 时 USBdevice.open() 访问被拒绝
我正在尝试使用 WebUS,或者更准确地说,通过使用 DART(Angular DART)编写的网页访问 USB 设备。
在摆弄了一下之后,我了解了在 Windows 10 台式电脑上使用 Chrome V63 的基本概念。它允许我向 USB 端点发送和接收数据。到目前为止,一切都很好 :-)
但是,当在运行 Chrome 版本 63 的 (Samsung 500C) Chromebook上尝试相同的 URL时,调用时会出现问题USBdevice.open()
,我收到“未捕获的 DOMException:访问被拒绝”异常。
在调试器中,查看 USB 设备属性,opened: false
并且接口claimed: false
指示没有其他人正在使用 USB 适配器。
再看一些,device_event_log
它下面的 Chrome://system 显示一个USB EVENT: usb_device_linux.cc:99 Permission broker failed to open the device: org.freedesktop.DBus.Error.Failed: permission_broker/permission_denied:Permission to open '/dev/bus/001/032' denied (2)
欢迎任何建议。
webusb - WebUSB - 这只是一个在现有 JavaScript API 之上工作的 USB 库吗?
假设:
- 所有网络浏览器都可以使用 JavaScript 与 HID 设备通信
- 当某些 JavaScript 代码正在与 HID 设备通信时,Web 浏览器不会告诉用户
- WebUSB 是一个 JavaScript 库。
我的假设在这里正确吗?或者,我错过了什么?
我问这个问题是因为 WebUSB 声称它将使 USB 通信更安全。但是,我不得不想知道如果用户不知道它是否/何时发生,USB 通信会有多安全。我的理解是,现在,网站可以与 USB 设备通信,而浏览器不必告诉用户这种情况正在发生。
WebUSB 看起来会让事情变得更安全,因为用户将被引导到一个安全的网站,有一个安全的界面等等,但在我看来,它似乎并没有解决恶意网站可以攻击你的 USB 的巨大问题你永远不知道的设备。我错了吗?
serial-port - 防止 cdc-acm 驱动程序加载设备
我正在尝试在 linux 下将串行设备与 Webusb 连接。
我已经能够列出设备并打开它,但我无法声明接口。Chrome 抱怨设备很忙,为了解决这个问题,我需要取消注册 CDC-ACM 驱动程序。
有没有办法防止 CDC-ACM 驱动程序加载设备,而无需更改 destkop?也许我可以更改 USB 描述符?
webusb - WebUSB 和 FTDI232
我尝试连接到串行 USB 接口(FT232),但找不到任何关于如何配置它的信息......
我有什么:
- 一个来自 FTDI 的串行到 USB 接口,它是来自此页面的 TTL-232RG-VSW5V-WE
- 通过 RS232 发送消息的自定义板
我需要的 :
我需要使用 WebUSB 连接到这个接口,发送消息,阅读消息。
我所取得的成就:
现在,我可以连接到界面并“读取”一些东西。
我的问题 :
我在网上找不到任何关于如何配置 USB 接口的信息,串口配置必须是 57600 baud/s, E, 8, 1 但我找不到任何关于如何配置这些值的信息...
请参阅以下代码,据我了解,我必须在其中添加一些价值,controlTransferOut
但我找不到要放置的内容以及原因..
我可以从“我已经取得的成就”部分读到的是单个字符,因为串行配置不正确。
我对其进行了调整以使其正常工作,我用另一个软件打开了串口,配置它,关闭了另一个软件,然后用 webusb 连接到 USB 接口并读取消息。那行得通,但是方法很复杂...
任何帮助将非常感激 :)
javascript - WebUSB:如何通过 Arduino 按下按钮来调用事件监听器
我正在尝试使用 WebUSB API 制作一个外部控制器。我想从我的 Arduino 板上获取按钮状态并将其转换为 chrome 中的按钮按下。(例如:当我按下引脚 8 上的按钮时,我想让一个 div 元素变为红色,当我释放它时它会变回原来的状态。)唯一的问题是我不知道如何调用这样的事件。
到目前为止,我一直在使用 webUSB 页面给出的示例:https ://webusb.github.io/arduino/