问题标签 [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.

0 投票
1 回答
494 浏览

javascript - 发送数据闪烁(1) 设备

我刚开始研究 webusb 并尝试使用它来打开blink(1) mk2。我能够发现设备、打开它、声明一个接口并调用controlTransferOut. 我现在遇到的麻烦是不知道我应该发送什么数据以使其闪烁或亮起。

我一直在使用这个示例,其中有人能够使用 Chrome 扩展程序来控制它,使用该chrome.usb界面作为尝试使其工作的灵感。我写了以下代码:

调用时失败并出现传输错误controlTransferOut。但是,如果我将 更改requestType为标准,则在调用transferIn.

如何找出数据需要采用什么数据和格式才能使其正常工作?

0 投票
1 回答
281 浏览

google-chrome-app - Blink1 mk2 Chrome 连接通过 WEBUSB API 灯闪烁问题

我正在开发一个需要使用 Blink(1) mk2 设备通过浏览器发出通知警报的项目。我已经尝试使用 WEBUSB API 连接到 USB 的以下代码。

设置权限弹出窗口后,我可以连接到 USB。在上面的代码打开它之后,selectConfiguration、claimInterface 也可以正常工作,当我调用 controlTransferOut 时,它也会发出命令并将结果返回为:

但 USB 上的闪烁或颜色变化并未反映。

我是否遗漏了某些东西,或者是否需要使用任何其他配置才能在 USB 上点亮?

0 投票
1 回答
7842 浏览

javascript - 使用 navigator.usb.getDevices() 时,Chrome WebUSB API 不返回任何设备

我正在尝试新的 Chrome WebUSB API,但看不到任何连接的设备。

例如,尝试使用不同的 USB 设备连接到我的 Windows 7 PC:

但是没有设备。

我究竟做错了什么?它应该适用于任何设备吗?

0 投票
1 回答
1190 浏览

webusb - 带有 FT230x 串行芯片的 WebUSB

我希望使用新发布的 WebUSB API 与我开发的设备进行通信。该设备使用 FT230X USB 转串口芯片。该芯片的驱动程序已安装在大多数设备上,并且使用 minicom 与其通信可以顺利进行。现在我想尝试通过浏览器与它通信。我首先为 arduino 下载了这个示例:webusb arduino。我将过滤器设置为 { 'vendorId': 0x0403, 'productId': 0x6015 } 显示设备。我能够找到设备,但是当我尝试连接时出现错误:NotFoundError:设备不可用。

有没有办法找到更具体的错误?我应该设置不同的界面还是需要更改一些其他配置?我是 USB 驱动程序的新手,所以任何帮助我上路都会很好。我确实在这里阅读了(简短的)入门文档。我使用 Ubuntu 16.04

0 投票
2 回答
6392 浏览

google-chrome - 智能卡读卡器“拒绝访问”,同时在 Chrome 上声明与 Webusb 的接口

我正在开发一个 javascript 库来使用 CCID 协议通过 chrome webusb API 执行智能卡操作。当我在 Linux 和 MacOS 上插入智能卡读卡器时,一切都很顺利,但是当我尝试声明接口时,我卡在了 Windows 上。我尝试以管理员身份运行 chrome,禁用 Windows 上的智能卡服务/CCID 驱动程序,以防它们声称该接口,但什么也没做。我一直收到“无法声明接口:访问被拒绝(权限不足)”消息。真的是权限问题吗?还是我不知道阻止访问的某些 Windows 服务?

编辑:我在另一台 Mac 上试过,但阅读器无法正常工作。从 CCID 驱动程序 info.plist 中删除特定的供应商 ID/产品 ID 后,我设法使其工作。所以我想同样的问题也发生在 Windows 上,CCID 驱动程序正在“阻塞”访问接口。我的选择是什么?

设备描述符:

0 投票
0 回答
1487 浏览

javascript - WebUSB Api 传输错误和端点

我正在尝试使用 chrome 上的 webusb api 访问 HID 设备类。

到目前为止,我能够检测到设备,打开它,声明接口。但是当发布一个简单的 HID 报告时,我经常得到“传输失败”。

例如,要检索 if 的当前版本,向它发出 HID 报告 0x05,它会回复它。

NetworkError:发生传输错误。

此外,使用标准的 TransferIn 和 TransferOut 命令,我遇到了这个问题:输入和输出端点具有相同的端点编号:

端点

有人能指出我正确的方向吗?


编辑:

虽然我设法从 OS X 获取了一些数据(Windows 仍在校准错误),但尽管我发送了 HID 报告,但数据始终相同。

0 投票
1 回答
4957 浏览

windows - Webusb:访问被拒绝尝试在 Windows 上打开打印机

我正在尝试使用 Chrome webusb API 允许 POS Web 应用程序直接打印到 StarMicronics(或任何收据打印机)。

我在这里使用的示例几乎完全一样,只是我将vendorId过滤器修改为 StarMicronics 的供应商 ID。我也试过用一个完全空的过滤器。它在我测试过的 Mac 电脑上运行良好,但问题出在 Windows 上。

当我单击打印按钮时,Chrome 会打开连接窗口,列出我的设备,我可以选择它并单击连接。navigator.usb.getDevices()工作也很棒。当我刷新窗口时,将网站连接到设备后,Chrome 再次找到该设备,没有问题。

当我尝试做device.open(). 我在控制台中收到此错误:DOMException: Access Denied.从这一点来看,我不能这样做,device.selectConfiguration()或者device.claimInterface()因为我收到必须首先打开设备的错误,显然。

我已经启用了我在 Chrome 中知道的所有标志: #enable-experimental-web-platform-features #enable-webusb #new-usb-backend

但这一切都没有帮助。我也尝试过使用其他打印机,例如 HP deskjet 和 Dymo Label Writer,它们都出现相同的错误消息,即访问被拒绝。

同样,它在 Mac 上运行良好。

对此的任何帮助将不胜感激。

0 投票
0 回答
2576 浏览

javascript - 使用 WebUSB API 和 acr122u 外部 NFC 阅读器读取 NFC 标签 UID

我正在尝试NFC Tag UID通过使用外部USB NFC 阅读器 acr122uWebUSB API来阅读

我可以授权USB device、关闭/打开蜂鸣器、更改 LED 颜色等,但无法读取Tag UID

另一个问题是如何在 NFC 阅读器的范围内检测标签,即不是只检测一次,而是检测放置/移除阅读器上的每个标签。

谢谢你!

0 投票
1 回答
3601 浏览

javascript - 无法打开 /dev/bus/usb/001/007:usb 设备的权限被拒绝

我正在尝试使用 webusb api 从网页连接 USB 设备,但我无法使用以下代码打开配对设备。

它的节目

DOMException Access denied 配对后无法打开usb

0 投票
1 回答
913 浏览

javascript - 开发 webusb api 时声明接口失败

我正在尝试使用 html 和 javascript 开发一个 webusb api,操作系统是 Ubuntu 16.04。我可以从浏览器连接并打开 USB 设备,但出现错误“无法声明接口 0:设备或资源繁忙 (16)”。请给我一个适当的解决方案。

这是脚本代码,var device;

这是我添加的规则文件

SUBSYSTEM=="usb", ATTR{idVendor}=="0930",ATTR{idProduct}=="6544", MODE="0666", GROUP="plugdev"

我是否可以通过将设备与内核分离来做到这一点?怎么可能?