- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试连接到串行 USB 接口(interface) (FT232),但找不到任何有关如何配置它的信息...
我需要使用WebUSB连接到这个接口(interface),发送消息,读取消息。
现在,我可以连接到该界面并“读取”某些内容。
我在网上找不到任何关于如何配置 USB 接口(interface)的信息,串行端口配置必须是 57600 波特/秒、E、8、1,但我找不到任何关于如何配置这些值的信息...
请参阅以下代码,根据我的理解,我必须在 controlTransferOut
中放入一些值,但我找不到要放入的内容以及原因。
device = await navigator.usb.requestDevice({ 'filters': [] });
console.log(device);
await device.open();
if (device.configuration === null) {
await device.selectConfiguration(1);
}
await device.claimInterface(0);
await device.selectAlternateInterface(0, 0);
await device.controlTransferOut({ /* WHAT DO I PUT HERE?? */ });
let result = await device.transferIn(1, 64);
console.log((new TextDecoder).decode(result.data));
我可以从“我所取得的成就”部分中读到的是单个字符,因为串行配置不正确。
我调整了它,但为了让它工作,我用另一个软件打开了串行端口,配置了它,关闭了其他软件,然后用 webusb 连接到 USB 接口(interface)并读取消息。这有效,但是太复杂了......
任何帮助将非常感激:)
最佳答案
根据datasheet您的 TTL-232RG-VSW5V-WE 电缆包含 FT232R 芯片。其数据表为 here 。我希望找到芯片支持的协议(protocol)的描述,但我发现的只是 documentation对于他们的专有驱动程序。
另一方面,我知道Linux支持这些芯片,因此内核驱动程序中必须有用于设置波特率的代码。有问题的函数是 ftdi_sio.c 中的 change_speed()
.
由此看来,您需要发送的控制传输是,
device.controlTransferOut({ requestType: 'vendor',
recipient: 'device',
request: 3 /* FTDI_SIO_SET_BAUDRATE_REQUEST */,
value: divisor_value,
index: divisor_index });
divisor_value
和divisor_index
是芯片时钟分频器的低16位和高16位,由ftdi_232bm_baud_to_divisor
函数根据波特率计算出来要求的费率。
希望这是阅读代码并弄清楚您需要什么的良好开端。
关于WebUSB 和 FTDI232,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48889874/
我尝试连接到串行 USB 接口(interface) (FT232),但找不到任何有关如何配置它的信息... 我有什么: FTDI 的串行转 USB 接口(interface),它是 TTL-232R
是否可以使用 webusb ( https://wicg.github.io/webusb ) 连接/配对 USB 指纹扫描仪? 我有数字角色 U.are.U 4500,想用 react.js 连接到
更新代码 我正在使用此代码声明使用串行 2-USB 设备。它出现了,我可以查询有关它的信息,即。 “连接到USB2.0-Serial VID:6790 PID:29987”(秦恒的CH34x)。需要明
有人成功配置了 webusb 来扫描文档吗?我能够连接到 USB 扫描仪,但找不到有关扫描文档的命令的任何文档: $lsusb -v Bus 001 Device 007: ID 1083:163e
在 Windows 10 PRO 版本 1511(操作系统内部版本 10586.753)上运行 Chrome 56.0.2924.76(64 位)。在 chrome 上启用了 experimental
我正在尝试通过网页(通过 HTTPS)访问我的 USB 设备。我的 USB 设备已启动并正在运行,并且还启用了实验性 Web 平台功能 chrome://flags/#enable-experimen
我正在尝试在我们的网站上使用 USB RFID 阅读器。 通过使用 navigator.usb.getDevices() 我正在选择我的设备。 open() 和 selectConfiguration
两个WebUSB和 Web Serial API可用于与通过 Web 浏览器通过 USB 插头连接到计算机的设备进行通信。 我对使用硬件/微 Controller 进行编程(之前只有 Web 开发)是
对于使用 stm32f1xx-hal 的爱好项目,我想定期读取传感器,然后推送这些值,以便我可以在 webUSB 应用程序中实时绘制它们。 我在 webusb_blinky 中找到了一个示例mvirk
我正在开发一个涉及使用浏览器访问 USB 端口的项目。我见过WebUSB API 和WebSerial API。虽然我似乎无法理解它们之间有什么区别?有人能强调一下区别吗? 最佳答案 这两个 API
我正在开发一个涉及使用浏览器访问 USB 端口的项目。我见过WebUSB API 和WebSerial API。虽然我似乎无法理解它们之间有什么区别?有人能强调一下区别吗? 最佳答案 这两个 API
所以我尝试在运行 claimInterface() 函数时连接到 openEEG NetworkError: Unable to claim interface lsusb 显示此问题可能是因为某些
我正在尝试使用 Chrome webusb API 允许 POS 网络应用程序直接打印到 StarMicronics(或任何收据打印机)。 我正在使用示例 here几乎完全不同,只是我将 vendor
我想知道是否有人有让 RFID 阅读器通过 WebUSB 工作的经验。我使用的阅读器是 https://www.parallax.com/product/28340 . 根据我的阅读,我必须编写一个驱
我尝试使用以下代码通过 WebUSB API 使用 POS 打印机,但在 .claimInterface() 处失败,并出现错误 DOMException: 无法声明接口(interface)。所有测
我似乎无法使用 webusb 声明隐藏接口(interface)。我正在尝试编写一个 yubikey OATH 包装器 navigator.usb.requestDevice({filters: fi
我在 Chrome 上测试新的 webusb api ( https://wicg.github.io/webusb/ ) 并测试从 USB 设备发送 (transferOut) 和接收 (trans
我最近尝试使用 Web API 获取我的 USB 设备。但是,存在一些问题。 首先,我在网上找到的例子都是关于Arduino的,我从来没有尝试过,所以不知道它是否适用于我的电脑。我尝试与我的智能手机
我正在尝试使用 WebUSB API 通过 Web 与 Samsung J7 进行通信。我目前正在使用这个基本代码: Click me function myFun
我有一个自定义硬件,它作为安卓配件通过 USB 连接到手机。我设法通过 native android 应用程序与它通信。我想知道是否可以通过 WebUSB API 与它通信。 到目前为止,我只是尝试使
我是一名优秀的程序员,十分优秀!