在线串口调试工具
无需下载的浏览器串口调试工具,基于Web Serial API实时监控串口数据
连接设置
数据监视器
发送数据
发送历史
统计信息
串口调试工具说明文档
如何使用此工具
- 将串口设备连接到计算机
- 配置连接参数(波特率、数据位、校验位、停止位)
- 点击"连接"建立串口连接
- 实时监控接收的数据
- 以文本或十六进制格式发送数据
- 使用发送历史重复之前的命令
- 查看连接统计信息和数据速率
连接参数说明
实现原理
本工具基于 Web Serial API 实现,这是一个现代浏览器接口,允许 Web 应用程序直接与串口设备通信。以下是核心实现细节:
核心 API:Web Serial API
本工具基于 Web Serial API 构建,该 API 提供了通过浏览器访问串口的 JavaScript 接口。
主要特性:
- 无需安装驱动或插件,浏览器原生支持串口访问
- 支持多种串口配置(波特率、数据位、校验位、停止位、流控制)
- 使用 Readable/Writable Streams 进行双向数据通信
- 基于 Promise 和 async/await 的异步操作
实现步骤
1. 请求串口访问权限
const port = await navigator.serial.requestPort();
使用 navigator.serial.requestPort() 提示用户选择串口设备。这需要用户交互以确保安全性。
2. 配置并打开串口
await port.open({
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: 'none'
});
调用 port.open() 方法并传入配置参数,包括波特率、数据位、校验位、停止位和流控制。
3. 读取数据
const reader = port.readable.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
// 处理接收到的数据(Uint8Array)
const text = new TextDecoder().decode(value);
}
从 port.readable 获取 reader,使用异步循环持续读取数据。接收到的数据是 Uint8Array 格式,需要使用 TextDecoder 解码。
4. 发送数据
const writer = port.writable.getWriter();
const encoder = new TextEncoder();
const data = encoder.encode('Hello Serial!');
await writer.write(data);
从 port.writable 获取 writer,使用 TextEncoder 将字符串转换为 Uint8Array,然后调用 writer.write() 发送数据。
5. 关闭连接
await reader.cancel();
await reader.releaseLock();
await writer.releaseLock();
await port.close();
关闭前需要释放 reader 和 writer 的锁,然后调用 port.close() 关闭串口连接。
使用的关键 API
-
navigator.serial.requestPort() - 请求用户选择串口 -
port.open(options) - 以指定配置打开串口 -
port.readable.getReader() - 获取读取流的 reader -
port.writable.getWriter() - 获取写入流的 writer -
reader.read() - 从串口读取数据 -
writer.write(data) - 向串口写入数据 -
TextDecoder / TextEncoder - 字符串与字节数组的转换 -
port.addEventListener('disconnect') - 监听设备断开事件
主要功能
Web Serial API
无需额外软件即可直接通过浏览器访问串口
实时监控
实时数据监控,支持时间戳和自动滚动
十六进制模式
以十六进制格式发送和接收数据,带有验证功能
发送历史
跟踪并重复之前发送的命令
统计信息
监控数据传输速率和连接时间
多语言支持
支持中文、英文、日文、法文和西班牙文
常见使用场景
开发与调试
- Arduino和ESP32开发
- 嵌入式系统调试
- 固件开发和测试
- 物联网设备配置
测试与通信
- 调制解调器AT命令测试
- 传感器数据监控
- 协议分析和调试
- 工业设备通信
浏览器支持与要求
支持的浏览器
- Chrome 89+
- Edge 89+
- Firefox(不支持)
- Safari(不支持)
系统要求
- 支持Web Serial API的基于Chromium的浏览器
- HTTPS连接(Web Serial API要求)
- 用户授权访问串口的权限
- 已安装兼容的串口设备驱动程序
相关标准和规范
更多信息请参考:Wikipedia RS-232、UART协议标准文档
常见问题
如何在浏览器中使用在线串口调试助手?
在 Chrome 或 Edge(89+ 版本)中打开工具,点击「连接」按鈕,从浏览器弹出的对话框中选择您的串口设备。Web Serial API 可直接与设备通信,无需安装驱动或插件。请确保在 HTTPS 页面下使用,并在提示时授予所需权限。
Web Serial API 支持哪些浏览器?
目前,Chrome 89+ 和 Microsoft Edge 89+ 两款基于 Chromium 的浏览器完整支持 Web Serial API。Firefox 和 Safari 暂不支持该 API。如您使用的是不支持的浏览器,请切换至 Chrome 或 Edge。
如何在浏览器中连接 Modbus 设备?
通过 USB 转串口适配器连接 Modbus RTU/ASCII 设备,打开串口调试助手,选择正确的 COM 口,设置匹配的波特率和校验位,然后点击「连接」。之后可使用 HEX 模式发送原始 Modbus 帧,或使用文本模式与基于 AT 命令的设备通信。
波特率怎么选择?
波特率必须与设备的配置一致。常用值有:9600(GPS 模块、早期调制解调器)、1 15200(Arduino、ESP32 及大多数 IoT 设备)、57600 或 38400(老式系统)。如有疡问,请参阅设备数据手册,或先尝试 115200。
USB 转串口转换器在浏览器中能使用吗?
可以。CH340、CP2102、FTDI、PL2303 等常见 USB 转串口芯片,只需安装对应的操作系统驱动,即可正常使用。插入适配器后,在浏览器端口选择对话框中选择对应的 COM/ttyUSB 端口即可。