无需登录 数据私有 本地保存

Web Serial 终端记录器 - 捕获串口输出并保存

34
0
0
0
Web Serial Terminal 未连接
--:--:--等待连接串口设备...
--:--:--请点击右上角「连接设备」按钮,选择串口端口。
--:--:--提示:需要 Chrome/Edge 浏览器 + HTTPS 或 localhost 环境。
|
波特率
数据位
停止位
校验位
流控
接收: 0 字节 发送: 0 字节 行数: 0 运行: 00:00
您的浏览器不支持 Web Serial API。请使用 Google Chrome 89+Microsoft Edge 89+,并确保在 HTTPS 或 localhost 环境下访问。 查看兼容性

常见问题与知识点

Web Serial API 是一项现代浏览器标准,允许网页直接与用户计算机上的串口(Serial Port)设备通信,无需安装任何驱动程序或中间软件。

典型应用场景:

  • 调试 ArduinoESP32STM32 等单片机开发板
  • 读取 GPS 模块、传感器、扫码枪等串口设备数据
  • 与工业设备(PLC、CNC)进行数据采集和监控
  • 通过 USB 转串口适配器与老旧设备通信
  • 固件升级、AT 指令调试、Modbus 协议测试

该工具将串口数据实时显示在终端中,并支持日志记录与导出,非常适合开发调试和数据采集场景。

支持的浏览器:

  • Google Chrome 89+(桌面版)
  • Microsoft Edge 89+(桌面版)
  • Opera 75+(桌面版)
  • 基于 Chromium 的浏览器(部分支持)

Firefox 和 Safari 目前不支持 Web Serial API。

为什么需要 HTTPS? Web Serial API 属于高权限 API,可直接访问硬件设备。浏览器出于安全考虑,要求必须在安全上下文(HTTPS 或 localhost)中才能调用。这是为了防止恶意网站未经授权访问用户的串口设备。

波特率(Baud Rate):每秒传输的符号数,常见值有 9600、115200 等。必须与设备端设置完全一致,否则会出现乱码或无法通信。常见设备默认波特率:Arduino Uno 常用 9600/115200,ESP32 常用 115200,GPS 模块常用 9600。

数据位(Data Bits):每个数据包的有效数据位数,几乎总是 8(少数老旧设备使用 7)。

停止位(Stop Bits):数据包结束标志,绝大多数设备使用 1 个停止位。

校验位(Parity):用于检测传输错误的机制,常见设置为 None(无校验)。Even(偶校验)和 Odd(奇校验)较少使用。

一般调试 Arduino/ESP32 时,使用 115200-8-N-1(115200波特率、8数据位、无校验、1停止位)即可。

  • 端口被占用:检查是否有其他程序(如 Arduino IDE、串口调试助手、Putty)正在使用该端口,关闭它们后重试。
  • 驱动问题:确保 USB 转串口芯片(CH340、CP2102、FT232 等)的驱动程序已正确安装。
  • 权限不足:在 Linux 系统上,可能需要将用户添加到 dialoutuucp 用户组。
  • 波特率不匹配:确认设备端的波特率设置与工具中选择的波特率一致。
  • 浏览器不支持:确认使用 Chrome/Edge 浏览器,且页面通过 HTTPS 或 localhost 访问。
  • macOS 权限:首次使用需在系统弹窗中授予浏览器访问串口的权限。

启用 HEX 模式后,接收到的每个字节将以十六进制格式显示(如 48 65 6C 6C 6F),同时附 ASCII 可打印字符对照。这在以下场景非常有用:

  • 调试二进制通信协议(如 Modbus RTU、自定义协议)
  • 分析非文本数据(传感器原始数据、控制指令)
  • 排查乱码问题——当文本显示出现异常时,切换 HEX 模式可查看原始字节
  • 验证CRC 校验码、数据包边界等

正常文本通信时关闭 HEX 模式即可获得可读的文本输出。

点击底部工具栏的下载按钮即可导出日志。导出格式为 TXT 纯文本,包含所有时间戳和收发标记,可直接用文本编辑器打开。

文件名自动包含时间戳(如 serial-log-2024-01-15-143022.txt),方便归档管理。

小贴士:如果需要导入 Excel 分析,可以先导出 TXT,然后用 Excel 的「从文本/CSV 导入」功能打开,选择合适的分隔符即可将时间戳和数据分列显示。

Web Serial API 理论上支持同时打开多个串口端口。但本工具目前设计为单端口终端,一次只能连接一个设备。如果需要同时监控多个串口,可以打开多个浏览器标签页,每个标签页连接不同的设备。

对于多设备同时采集的场景,建议使用独立的标签页分别记录,导出后合并分析。