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

USB 温度传感器读取 - WebUSB 数据显示

27
0
0
0
USB 温度传感器
未连接
等待数据...
--.- °C
等待数据
温度曲线 最近 60 个数据点
平均温度
--.-°C
最低温度
--.-°C
最高温度
--.-°C
采样数量
0
数据记录
# 时间 温度 单位
暂无数据,请连接设备或开启模拟模式
原始数据 / 调试
等待数据...
高级设置
常见问题与知识点
什么是 WebUSB?哪些浏览器支持?

WebUSB 是一项允许网页直接与 USB 设备通信的浏览器 API。目前仅 Chromium 内核浏览器支持,包括 Google Chrome、Microsoft Edge、Opera、Brave 等(版本61+)。Firefox 和 Safari 暂不支持。

使用 WebUSB 需要 HTTPS 环境(或 localhost),并且需要用户主动授权才能连接设备。

为什么连接不上我的USB温度传感器?

常见原因及解决方案:

  • 驱动问题(Windows):许多USB转串口芯片(CP2102、CH340等)默认使用厂商专用驱动,WebUSB需要 WinUSB 驱动。可使用 Zadig 工具 将驱动替换为 WinUSB。
  • macOS 驱动冲突:系统可能自动加载了 CDC 驱动,可通过 sudo kextunload 卸载或使用 systemextensionsctl 管理。
  • Linux 权限:需要配置 udev 规则,将设备权限赋予当前用户。创建 /etc/udev/rules.d/99-usb.rules 并添加对应规则。
  • 设备被其他程序占用:关闭串口监视器、Arduino IDE 等可能占用设备的程序。
如何查看我的USB设备的 VID 和 PID?

Windows:打开设备管理器 → 找到设备 → 右键属性 → 详细信息 → 硬件ID,可看到类似 USB\VID_10C4&PID_EA60 的信息。

macOS:在终端运行 system_profiler SPUSBDataType 查看USB设备列表。

Linux:运行 lsusb 命令,输出中会显示 ID 格式为 10C4:EA60(VID:PID)。

温度传感器数据格式是什么样的?

常见格式:

  • 纯数字行:每行一个温度值,如 23.45 + 换行符
  • 带标签Temp: 23.5 CT=23.50
  • JSON{"temperature": 23.5, "unit": "C"}
  • 多传感器S1:23.5,S2:24.1

本工具默认为"自动检测"模式,会尝试从原始数据中提取第一个浮点数值作为温度。如需精确匹配,可在设置中切换为"正则表达式"模式。

模拟模式是什么?

模拟模式无需实际USB设备即可体验工具功能。开启后会生成模拟的温度数据(在设定范围内随机波动),适合测试界面功能或演示用途。数据会正常显示在图表和记录表中。

CDC ACM 设备初始化需要哪些步骤?

对于标准的 USB CDC ACM(串口)设备,WebUSB 连接后通常需要:

  1. 打开设备device.open()
  2. 选择配置device.selectConfiguration(1)
  3. 声明接口device.claimInterface(interfaceNumber)
  4. 发送 CDC 控制命令:SET_CONTROL_LINE_STATE(启用DTR/RTS)和 SET_LINE_CODING(设置波特率)
  5. 读取数据:从 Bulk IN 端点循环读取

本工具会自动处理这些初始化步骤,高级用户可在设置中调整参数。