在线串口调试工具
无需下载的浏览器串口调试工具,基于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协议标准文档