angular - WINDOWS 上的 WebSerial API - “DOMException:无法打开串行端口。”
问题描述
我正在尝试在 Windows 上使用WebSerial API,因为它在 macOS 上运行良好且没有问题。该设备已插入 Macbook,无需额外操作。当我将设备(USB 到串行适配器)连接到 Windows 机器并使用 Google Chrome 访问我的 Angular 网站时,我收到此错误:
DOMException: 无法打开串口。
当我访问chrome://device-log/
我看到这个错误:
[USB][ERROR][17:09:20] 无法从节点连接读取描述符:连接到系统的设备无法运行。(0x1F)
下面是我正在使用的代码,当代码运行 line 时会显示错误await this.scale.open({ baudRate: 9600 });
。
const VENDOR_ID = 1027;
const PRODUCT_ID = 24577;
...
let button = document.getElementById('request-device');
button.addEventListener('click', async () => {
try {
this.scale = await navigator.serial.requestPort({
filters: [{
usbProductId: PRODUCT_ID,
usbVendorId: VENDOR_ID
}]
});
await this.scale.open({ baudRate: 9600 }); //ERROR HAPPENS HERE
} catch (error) {
console.log(error)
}
});
}
解决方案
这是一个驱动程序问题。
大多数旧型号的 USB 到串行适配器在 Windows 10 上都存在问题。在尝试了几个驱动程序后,我发现这个解决了我的问题。
它以我不懂的语言链接到 Youtube 视频。但是,这些步骤很容易遵循。下载驱动程序并按照步骤操作后,它工作得很好。
推荐阅读
- python - 双击 .py tkinter 文件不起作用
- node.js - 通过谷歌云函数转储谷歌 API SQL 数据库
- r - R - Shiny - 动态选择条图
- python - 创建 tar.gz 文件并使用变量命名
- bash - Bash命令从文件末尾截断字节
- java - Cube.java:19:错误:类 Object 中的构造函数 Object 不能应用于给定类型;
- apache-spark - 日期无效:使用 pySpark 将 CSV 导入 Cassandra 时出错
- automation - 如何使用 Cluecumber 生成报告?
- typescript - 我无法在我的 ionic 应用程序中创建和写入文本文件
- reactjs - 从数组中渲染有状态组件 - 孙状态和父状态未对齐