CoderTools

在线串口调试工具

无需下载的浏览器串口调试工具,基于Web Serial API实时监控串口数据

连接设置

状态: 未连接

数据监视器

发送数据

间隔(毫秒):

统计信息

0
已发送字节
0
已接收字节
00:00:00
连接时间
0
数据速率 (B/s)

串口调试工具说明文档

如何使用此工具

  1. 将串口设备连接到计算机
  2. 配置连接参数(波特率、数据位、校验位、停止位)
  3. 点击"连接"建立串口连接
  4. 实时监控接收的数据
  5. 以文本或十六进制格式发送数据
  6. 使用发送历史重复之前的命令
  7. 查看连接统计信息和数据速率

连接参数说明

波特率
数据传输速度(位每秒)
数据位
每个数据帧的位数(5-8)
校验位
错误检测方法(无、偶校验、奇校验)
停止位
帧结束指示符(1位或2位)

实现原理

本工具基于 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要求)
  • 用户授权访问串口的权限
  • 已安装兼容的串口设备驱动程序

相关标准和规范

RS-232: RS-232:经典串口通信标准,定义电气特性和连接器规范
UART: UART:通用异步收发器,串口通信的核心协议
USB-to-Serial: USB-to-Serial:现代设备中常用的串口转换方式

更多信息请参考:Wikipedia RS-232、UART协议标准文档

快捷菜单

暂无访问记录