提问人:micr0tech 提问时间:10/26/2023 最后编辑:micr0tech 更新时间:10/31/2023 访问量:75
无法在 ubuntu 20.04 上的 chromium 118.0.5993.88 (snap) 中列出具有 Web 串行 API 的串行端口
Could not list serial ports with web serial API in chromium 118.0.5993.88 (snap) on ubuntu 20.04
问:
我想在 chromium(版本 118.0.5993.88,Ubuntu 20.04)上与 esp32(通过 USB 连接到我的 PC)和测试网站建立串行连接,但 chromium 上的串行连接列表是空的(在谷歌浏览器上,列表显示每个串行端口)
这是我使用的测试html脚本:
<!DOCTYPE html>
<html>
<head>
<title>Serial Ports List</title>
</head>
<body>
<h1>Serial Ports Test</h1>
<!-- Button to list available serial ports -->
<button id="listPortsButton">List Serial Ports</button>
<script>
// Function to list available serial ports
async function listSerialPorts() {
try {
// Request access to serial ports
const availablePorts = await navigator.serial.getPorts();
// Log each port
availablePorts.forEach(port => {
console.log('Port:', port);
});
} catch (error) {
console.error('There was an error listing serial ports:', error);
}
}
// Add click event listener to button
document.querySelector("#listPortsButton").addEventListener("click",
async () => {
try {
// Request a port from the user
const port = await navigator.serial.requestPort();
console.log('User-selected port:', port);
// Now list all available ports (including the selected one)
listSerialPorts();
} catch (err) {
console.error('There was an error selecting a port:', err);
}
});
</script>
</body>
</html>
[使用 Google Chrome 执行脚本]https://i.stack.imgur.com/NerEz.png)
[使用 Chromium 执行脚本] (https://i.stack.imgur.com/XehdH.png)
[使用 Chromium 在调试控制台中打开的脚本]https://i.stack.imgur.com/F3w3N.png)
系统信息:
我已经用谷歌浏览器尝试了该脚本(如上所示),它在那里工作,我还重新安装了 chromium 以检查我的 chromium 安装是否存在问题。 我想让脚本像在谷歌浏览器中一样工作,需要帮助。
我还检查了arduino中的串行连接,串行端口显示在列表中,我可以毫无问题地连接到它并打开串行监视器。用户也位于有权访问串行端口的正确组中。
编辑:
我尝试使用以下命令:sudo snap connect chromium:raw-usb - 仍然不起作用
用户也在组拨出中,以获得正确的权限
答:
我记得几年前遇到过这样的情况,我只是看了一些旧笔记,这与启用与 Chromium 的 USB 连接有关吗?
sudo snap connect chromium:raw-usb
我不知道这是否有任何帮助,或者当时是否特定于我的系统?
最近,我现在倾向于坚持使用 Node.js 与我的 ESP 进行串行通信,但这是一个更复杂的过程,如果您可以通过浏览器做到这一点,这是一个很好的快捷方式。
祝你好运
评论
我解决了这个问题。问题来自snap。我安装了带有 snap 的 chromium,但 snap 应用程序似乎受到限制,所以我不得不将这两行添加到 chromium snap 配置文件中 位于:/var/lib/snapd/apparmor/profile/snap.chromium.chromium
@{PROC}/tty/drivers r,
/run/udev/data/** r,
评论