串口实时绘图仪

通过 Web Serial 读取串口数据并实时绘制多通道曲线:自动发现通道,支持命名通道(如 temp=25.3)与多列数字、分隔符与时间戳列选择、左右双 Y 轴、折线/散点、时间窗口缩放、窗口统计和 CSV 导出。仅 Chrome/Edge 89+,需 HTTPS 与串口授权。

免费在线工具
Loading…

使用说明

  1. 使用 Chrome 89+ 或 Edge 89+ 通过 HTTPS 打开页面,选择波特率(300–921600,默认 9600),点击「打开串口」并授权设备。
  2. 选择分隔符(自动检测、逗号、Tab、分号、空格、竖线)和时间轴模式(接收时间相对秒、首列时间戳秒、首列时间戳毫秒)。切换只影响之后接收的数据。
  3. 设备输出数据后,通道会根据列名或命名键自动出现;在「数据通道」表中勾选显示、选择左/右 Y 轴以及折线/散点类型。
  4. 设置显示窗口秒数(0 表示全部,范围 0–3600),也可在图表上滚动滚轮缩放时间窗口。
  5. 查看窗口统计(当前、最小、最大、平均、样本数);需要时点「暂停」只暂停解析(串口仍继续读取并记录原始数据),或点「保存 CSV」导出。
  6. 没有硬件时点「加载示例数据」播放 temp/hum/press 三个通道的演示数据;示例与串口读取互斥。

数据格式:命名通道如 temp=25.3,hum=55.1,或纯数字多列如 25.3,55.1,1013。最多保留 5000 个采样点,超出后丢弃最旧数据;串口文本按行解析,发送框会在文本后追加换行。

功能介绍

  • 通过 Web Serial 直接读取串口并按行解析,实时绘制多通道曲线,无需安装串口助手或绘图软件。
  • 自动发现通道:支持命名通道(speed:1.2、rpm=4567)以及逗号、Tab、分号、空格、竖线等分隔的数字列;命名通道优先于分隔符解析。
  • 时间轴支持使用接收时间(相对秒),或把首列当作秒/毫秒时间戳;分隔符与时间轴切换只影响之后接收的数据。
  • 每个通道可单独设置显示/隐藏、左轴或右轴、折线与散点,颜色自动分配,并显示当前值。
  • 显示窗口可设 0–3600 秒(0 为全部),也可在图表上滚轮缩放(约 1–600 秒);窗口统计给出当前、最小、最大、平均与样本数。
  • 支持暂停解析、清空、保存 CSV(UTF-8 BOM,列为 time 加各通道);暂停时串口仍继续读取,原始数据面板持续记录。
  • 可向设备发送文本(自动追加换行),并提供 180 个点的内置演示数据(temp/hum/press),没有硬件也能查看绘图效果。
  • 内存最多保留 5000 个采样点,超出后丢弃最旧的数据;原始串口文本也做了长度上限。

使用场景

调试 Arduino/ESP32 传感器输出
把串口打印的温度、湿度、压力等数值实时绘制成曲线,快速判断传感器读数是否稳定、是否有跳变。
PID 与电机调参
同时观察目标值、实际值与输出量的曲线,利用双 Y 轴和散点模式分析超调、振荡与响应速度。
串口数据记录与导出
长时间采集设备输出,暂停分析后导出 CSV,用 Excel 或脚本做进一步统计与复盘。
无硬件教学演示
使用内置示例数据展示多通道绘图、窗口缩放和统计功能,适合课堂或方案演示。

常见问题

支持哪些浏览器?没有串口硬件能试用吗?
需要支持 Web Serial 的 Chrome 89+ 或 Edge 89+,并通过 HTTPS 访问。Firefox 与 Safari 目前不支持。没有硬件时可以点「加载示例数据」播放 temp/hum/press 三个通道的演示数据,绘图、统计和 CSV 导出都可正常使用。
串口数据支持什么格式?
支持两种格式:命名通道(如 temp=25.3,hum=55.1 或 speed:1.2,rpm=4567)和纯数字多列(如 25.3,55.1,1013)。多列可用自动检测、逗号、Tab、分号、空格或竖线分隔;时间轴可选择接收时间(相对秒),或把首列作为秒/毫秒时间戳。
如何配置左右双 Y 轴和折线/散点?
在「数据通道」表中,每个通道都有显示复选框、Y 轴下拉框(左轴/右轴)和类型下拉框(折线/散点)。左右轴各自计算数值范围,适合同时观察量纲不同的信号。
点击暂停会停止读取串口吗?
不会。暂停只停止解析新数据,串口仍在读取,原始串口数据面板会继续记录;恢复解析后只处理之后收到的完整行。暂停时会清空未完成的行缓冲。
数据能保存多少?CSV 包含什么?
工具最多保留 5000 个采样点,超出后丢弃最旧的数据。保存的 CSV 使用 UTF-8 BOM,首列为 time(秒),其后每列对应一个通道;某个采样点缺少某通道时会留空。
示例数据和串口能同时使用吗?
不能。示例数据与串口读取互斥:播放示例时打开串口会先停止示例并清空数据;串口已连接时点击示例按钮会提示先关闭串口。