需启用Chrome实验性功能、通过用户点击触发授权、检查站点串口权限、确保HTTPS或localhost安全上下文、验证navigator.serial可用性。
如果您在使用谷歌浏览器访问支持 Web Serial API 的网页时,无法与 Arduino、ESP32 或 STM32 等单片机建立串口通信,则可能是由于 Web Serial 功能未启用、权限未授予或运行环境不满足安全要求。以下是开启网页端串口通信并完成单片机联调的具体操作步骤:
一、启用 Chrome 实验性 Web Serial 功能
Web Serial API 在 Chrome 中默认处于禁用状态,需手动启用对应实验性标志,以激活底层接口支持,使 navigator.serial 对象可在网页 JavaScript 中被识别和调用。
1、在 Chrome 地址栏输入 chrome://flags 并回车进入实验性功能页面。
2、在页面顶部搜索框中输入 Web Serial,定位到 “Enable Web Serial API” 选项。
3、点击该选项右侧下拉菜单,选择 Enabled。
4、点击页面右下角的 Relaunch 按钮,重启浏览器使设置生效。
二、通过用户手势触发设备授权
Web Serial API 强制要求所有设备访问必须由明确的用户交互(如点击按钮)发起,禁止网页自动连接。该步骤用于唤起系统级串口设备选择弹窗,并完成首次权限绑定。
1、访问已集成 Web Serial 的调试网页,例如官方示例页 https://webserial.dev 或国内镜像 https://www.itldg.com/web_serial_debug/。
2、点击网页上标有 Connect to serial device、连接串口 或类似文字的按钮。
3、在弹出的设备选择窗口中,确认目标设备名称(如 Arduino Uno、CP2102 USB to UART Bridge Controller 或 CH340),并勾选 Remember this decision for future visits(如需持久化授权)。
4、点击 Connect 完成授权。
三、检查并重置当前网站的串口权限
Chrome 将 Web Serial 权限按域名独立存储。若此前拒绝过授权、清除过浏览数据或更换过设备,该站点的权限可能处于 Blocked 状态,导致 requestPort() 调用直接失败。
1、在当前网页地址栏左侧点击 锁形图标 ?。
Comet AI 浏览器
下载 Comet AI 浏览器,体验由 Perplexity AI 驱动的革命性上网方式。内置 AI 助手可实时总结网页、跨标签页对比信息、自动执行任务。告别繁琐操作,让 AI 成为你的浏览副驾,大幅提升研究与工作效率。支持 Windows、macOS、Android 和 iOS。
下载
2、点击 Site settings 进入权限管理页。
3、向下滚动至 Permissions 区域,找到 Serial ports 项。
4、点击右侧箭头展开设置,将状态设为 Allow;若显示 Blocked,则点击 Reset permissions 后刷新页面。
四、验证并确保安全上下文环境
Web Serial API 仅在安全上下文中可用,这是浏览器强制实施的安全策略,防止恶意网站未经许可访问本地硬件。非安全环境会导致 navigator.serial 为 undefined,授权流程无法启动。
1、确认当前网页 URL 以 https:// 或 http://localhost 开头。
2、若部署在本地开发服务器,请使用 http://localhost:8080 等形式,避免使用 http://127.0.0.1 或文件协议 file://。
3、在开发者工具控制台(F12 → Console)执行:console.log('serial' in navigator),返回 true 表示环境就绪。
五、安装并使用 Web Serial 浏览器插件(替代方案)
对于不希望修改实验性标志或需快速启动调试的用户,可借助专为 Web Serial 设计的浏览器插件,绕过 flags 设置与页面 HTTPS 限制(插件自身具备权限代理能力)。
1、访问 Chrome 网上应用店,搜索 Web Serial Online。
2、点击 添加至 Chrome 安装插件。
3、安装完成后,点击浏览器右上角 USB 图标启动插件界面。
4、在插件界面中选择已连接的串口设备(如 COM3 或 /dev/ttyUSB0),设置波特率(如 115200),点击 打开串口 即可收发数据。
