无需登录 数据私有 本地保存

Web USB调试工具 - 连接Arduino等设备

16
0
0
0
未连接
接收数据 0 字节
等待设备连接...
发送数据
ms
0 字节
快捷发送:
常见问题与知识点
Web Serial API 是浏览器提供的串口通信接口,允许网页与通过串口(COM口)连接的设备进行通信。相比 WebUSB,Web Serial API 更适合 Arduino、ESP32 等使用串口通信的设备,无需额外的 USB 协议配置,兼容性更广。Arduino 设备在电脑上通常显示为串口设备(如 COM3 或 /dev/ttyUSB0),Web Serial API 可直接与之通信。
目前支持 Web Serial API 的浏览器包括:Chrome 89+(桌面版)、Edge 89+Opera 75+。Firefox 和 Safari 暂不支持。手机端(Android Chrome)部分支持,但需要 OTG 线连接串口设备。iOS 设备目前不支持。建议使用最新版 Chrome 桌面版获得最佳体验。
这是常见现象。当串口打开时,DTR 信号变化会触发 Arduino 自动复位(尤其是 Uno、Nano 等使用 ATmega328P 的板子)。解决方法:①在连接后 取消勾选 DTR 开关;②在 Arduino 的 RESET 和 GND 之间并联一个 10μF 电容;③使用不带自动复位功能的板子(如 Arduino Mini)。注意:DTR 切换发生在打开端口的瞬间,即使之后立即关闭 DTR,复位可能已经发生。可通过板级电容方案彻底解决。
波特率必须与设备端代码中 Serial.begin() 设置的波特率完全一致。常见值:9600(默认常用)、115200(高速传输)、5760038400。ESP8266/ESP32 常用 74880 或 115200。如果接收数据显示为乱码,首先检查波特率是否匹配。注意:某些设备(如 GPS 模块)有固定波特率,请查阅设备手册。
常见原因及排查:①波特率不匹配——确认设备端代码中的波特率设置;②数据位/停止位/校验位不匹配——大多数设备使用 8-N-1(8数据位、无校验、1停止位);③编码问题——确认设备发送的是 UTF-8/ASCII 编码;④接地问题——确保设备与电脑共地;⑤尝试开启HEX显示模式查看原始字节,帮助诊断问题。
勾选发送区的"HEX发送"开关,然后在输入框中输入十六进制字符串。支持多种格式:48 65 6C 6C 6F(空格分隔)、48,65,6C,6C,6F(逗号分隔)、0x48 0x65(0x前缀)、48656C6C6F(连续)。大小写不敏感。每个字节由两位十六进制数表示(00-FF)。接收区也可开启HEX显示模式查看原始字节。
大多数 Arduino 官方板(Uno、Nano、Mega)在 Windows/macOS/Linux 上无需额外驱动。部分国产克隆板使用 CH340/CH341 串口芯片,需要在 Windows 上安装 CH340 驱动(macOS/Linux 通常内置支持)。CP210x 芯片的设备同样可能需要驱动。如果设备不显示在端口列表中,请检查设备管理器中是否有未识别的设备。
勾选"定时发送"开关,设置发送间隔(毫秒),工具将按照设定的时间间隔自动重复发送输入框中的内容。这对于压力测试、周期性数据采集、模拟传感器数据等场景非常实用。最小间隔为 100ms。取消勾选或断开连接后自动停止定时发送。发送期间仍可修改发送内容。
DTR(Data Terminal Ready)和RTS(Request To Send)是串口硬件流控制信号。对于 Arduino:DTR 通常用于自动复位(上传程序时触发复位);RTS 较少使用。普通调试时通常保持默认开启状态。如果遇到连接时 Arduino 意外复位的问题,可尝试关闭 DTR。流控制选项中的"硬件(RTS/CTS)"用于高速数据传输时的流量控制,一般调试不需要开启。
Web Serial API 设计时充分考虑了安全性:①需要用户主动授权——浏览器会弹出端口选择器,用户必须手动选择设备;②仅HTTPS/localhost可用——防止中间人攻击;③页面刷新后需重新授权——授权不是永久性的(可通过 getPorts() 获取已授权端口);④数据仅在本地处理——串口通信数据不会上传到服务器。您可以放心使用。