微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Web串行API-未捕获承诺DOMException:无法打开串行端口/所需的成员baudRate未定义

如何解决Web串行API-未捕获承诺DOMException:无法打开串行端口/所需的成员baudRate未定义

下面的代码可以在我的Xubuntu机器上运行,但是现在我在Kubuntu上运行,并且不再工作-无法打开端口。

Arduino IDE可以正常工作(可以在板上编写代码),我可以在Chrome中选择设备(Arduino Uno),但是当我尝试打开端口时,代码将停止:Uncaught (in promise) DOMException: Failed to open serial port或出现required member baudrate is undefined

const filters = [
  // Filter on devices with the Arduino Uno USB vendor/Product IDs.
  { usbvendorId: 0x2341,usbProductId: 0x0043 },{ usbvendorId: 0x2341,usbProductId: 0x0001 },];

  async function getPortAndStartReading() {
    if (!portFound) {
      const port = await navigator.serial.requestPort({ filters });
      await port.open({ baudrate: 9600 }) //problem here
      reader = port.readable.getReader();
      outputStream = port.writable
      readLoop();
      if (port) {
          connectionToPortSuccessfulMessage = 'Connection successful'
          setPortFound(true)
      }
    }
  }

我已经尝试通过遵循this来更改串行端口的权限,所以现在如果我运行groups user会得到user : user adm dialout cdrom sudo dip plugdev lpadmin lxd sambashare,但仍然无法正常工作。

我还检查了chrome://device-log以查看是否可以找到任何错误,但是我得到的只是(物理上)添加删除USB设备的信息。

解决方法

我也遇到同样的问题。 我有一个用于CircuitPython的在线IDE:

https://github.com/Mr-Coxall/CircuitPython-IDE

ide.mths.ca

它工作正常,最近因出现相同错误而停止运行。 不确定最近发生了什么变化。

,

我相信成员名称最近已从“baudrate”更改为“baudRate”。至少在我的情况下,从“波特率”(曾经有效)更改为“波特率”为我修复了它。可能是 Kubuntu 使用的是期望“波特率”的旧版 chrome。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。