工具

串口调试助手网页版

不用下载、不用安装,浏览器直接连串口。HEX / ASCII 双向收发,带时间戳与自动合帧,还能直接发 Modbus RTU 请求并解析响应。

正在检测浏览器能力…

怎么用

先按设备手册把波特率、数据位、校验位、停止位四项对齐——手册上通常写成 9600-8-N-1 这种紧凑形式,页面上也会同步显示成这个格式方便逐项核对。 这四项错任何一项都是完全读不到,不会出现「读到一半」的中间状态。

然后点「选择串口并连接」。浏览器会弹出系统级的设备选择框,选中你的 USB 转串口设备即可。 如果列表是空的,说明串口驱动没装或者线只有供电没有数据线,先去设备管理器确认能看到 COM 口。

它和「在线 Modbus 计算器」不是一回事

网上多数所谓的在线 Modbus 工具,其实只是离线报文计算器:帮你把功能码、地址、数量拼成一串 HEX,算好 CRC,然后你还得把这串字节复制到另一个能连串口的软件里去发。 这个页面不一样,它本身就能把帧发出去并收回响应——中间那一步复制粘贴省掉了。

调不通时按这个顺序查

一、串口选对了没有。多个 USB 转串口同时插着时很容易选错,断开重连换一个试试最快。

二、TX/RX 有没有接反。接反不会报任何错,只会一直收不到东西。 转换器的 TX 接设备的 RX、RX 接设备的 TX,地必须共。怀疑接反就直接对调一次,比用万用表量快。

三、看有没有回复,还是回了异常。这两种情况排查方向是相反的: 日志里只有 没有 ,说明请求根本没到设备,问题在物理层和寻址; 如果收到了响应但内容不对,说明链路是通的,问题在应用层(寄存器地址、数据类型、字节序)。 把这两种情况当成同一个问题去查,是最常走的弯路。

四、最后才怀疑波特率。线太长、没接地或者转换器质量差时,高速率下容易出错。 降到 9600 或 19200 再试一次,能通就说明是信号质量问题而不是逻辑问题。

浏览器支持情况

Web Serial 目前是 Chrome 89+ / Edge / Opera / Firefox 151+ 支持, Safari 完全不支持(含 iPhone、iPad),安卓 Chrome 只支持蓝牙 RFCOMM 模拟出来的串口。 插着 USB 转串口线做调试,请用桌面版 Chrome 或 Edge。该能力还要求页面运行在 HTTPS 下,本站已满足。

常见问题

网页真的能直接读串口吗?会不会是要装插件?
不用装任何插件。浏览器有一个叫 Web Serial 的标准能力,Chrome 89 以上、Edge、Opera、Firefox 151 以上都支持,网页可以在你手动授权后直接访问串口设备。点「选择串口并连接」时浏览器会弹出一个系统级的设备选择框,你选哪个口、网页才能访问哪个口,不选就什么都读不到。Safari(包括 iPhone 和 iPad)完全不支持这个能力,安卓 Chrome 只支持蓝牙模拟出来的串口,所以插着 USB 转串口线做调试请用桌面版 Chrome 或 Edge。另外这个能力强制要求 HTTPS,本站已经是全站 HTTPS。
我的数据会不会被传到你们服务器?
不会。这个页面是纯静态的,串口的收发全部发生在你的浏览器和串口设备之间,本站没有任何接收数据的接口,页面上也没有埋任何上报收发内容的逻辑。你可以断网之后再用一次——只要页面已经加载完成,拔掉网线照样能连串口收发数据,这就是最直接的验证方式。
为什么设备回的一帧数据被拆成了好几行?
串口本质是字节流,协议层面没有「一帧」这个边界,操作系统把数据交给浏览器时按什么节奏拆分是不确定的,波特率越低、数据越长越容易拆。本工具的做法是按静默间隔合帧:相邻字节间隔超过 20 毫秒就认为上一帧结束、另起一行。这和 Modbus RTU 用 3.5 个字符时间判帧是同一个思路。如果你在 1200 这种低波特率下仍看到一帧被拆开,是因为单个字节本身就要 8 毫秒以上,属于正常现象,按内容读即可,不是丢包。
发中文为什么提示不让发?
这是刻意拦下来的。串口对面的 MCU、传感器、PLC 绝大多数按单字节解析,而中文在浏览器里是 UTF-8 编码、一个汉字占三个字节,直接发过去设备只会收到几个它不认识的字节。如果放行,你看到的现象是「设备没反应」或者「回了乱码」,排查方向会直接跑偏到接线和波特率上。所以工具在这里直接拒绝并说明原因。确实需要发多字节内容时,请自己确定好编码,切到 HEX 模式把字节写出来发。
「自动追加 Modbus CRC16」这个勾选框有什么用?
手工拼 Modbus RTU 报文时,最后两个字节是 CRC 校验,算错或者字节序写反都会让从站直接不理你。勾上之后,你只需要填数据部分,工具会自动算出 CRC-16/MODBUS 并按协议规定的「低字节在前」追加到帧尾。这里特别提醒:Modbus 里除了 CRC,其它所有 16 位量都是高字节在前,唯独 CRC 反过来,这是最容易写反的地方。需要单独核对校验值可以用站内的 CRC / Modbus 校验计算器。

延伸阅读

需要单独核对校验值,用 CRC / Modbus 校验计算器; 串口参数换算见 进制与波特率换算。 想装本地客户端的话, 软件与工具库 里有串口与 Modbus 调试工具的选型、官方下载与安装排错。