我想建立一个与esp 32(通过USB连接到我的PC)和测试网站 chrome (版本118.0.5993.88,Ubuntu 20.04)的串行连接,但串行连接的列表是空的 chrome (在谷歌Chrome的列表显示每个串行端口)
下面是我使用的测试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)
[使用chrome执行脚本](https://i.stack.imgur.com/XehdH.png)
[在调试控制台中打开的脚本与 chrome ] https://i.stack.imgur.com/F3w3N.png)
系统信息:
1.2.
我已经尝试了与谷歌Chrome脚本(如上所示),并有它的工作,我也重新安装 chrome ,以检查是否有问题,我的 chrome 安装.我想得到的脚本工作一样,它在谷歌Chrome工程,需要帮助.
我还检查了Arduino中的串行连接和列表中显示的串行端口,我可以连接到它并打开串行监视器没有问题.用户也在正确的组中可以访问串行端口.
编辑:
- 我尝试使用命令:sudo snap connect chromium:raw-usb - still doesn 't work
- 该用户也在组dialout中以获得正确的权限
2条答案
按热度按时间hec6srdp1#
我记得几年前有一个这样的情况,我只是看了一些旧的笔记,这是与启用usb连接与 chrome ?
字符串
我不知道这是否有帮助,或者这是我当时的系统特有的东西?
最近我倾向于坚持使用NodeIdeJs与我的ESP进行串行通信,但这是一个更复杂的过程,如果你可以通过浏览器来完成,这是一个很好的快捷方式。
好运
eoigrqb62#
我修复了这个问题。问题来自snap。我安装了chromium with snap,似乎snap应用程序受到限制,所以我不得不将这两行添加到chromium snap配置文件中,位于:/var/lib/snapd/apparmor/profile/snap.chromium.chromium
@{PROC}/tty/drivers r,
/run/udev/data/**r,