跳转到内容

TinyUSB

tinyusb 组件实现了 USB 设备功能的基础。目前支持以下 ESP32 微控制器变体:

  • ESP32-H4
  • ESP32-P4
  • ESP32-S2
  • ESP32-S3
  • ESP32-S31

该组件仅初始化 TinyUSB 驱动程序,允许微控制器在连接到 USB 主机时充当 USB 设备。

NOTE

此组件:

  • 不实现任何特定设备功能;它只是其他组件实现设备功能的基础。
  • 不能与 Usb Host 同时使用;同时作为主机和设备进行 操作是不可能的。
# 示例最小配置条目
tinyusb:
  • id (可选, ID): 手动指定该组件的 ID。
  • usb_product_id (可选, int): USB 产品标识符。默认为 0x4001。
  • usb_vendor_id (可选, int): USB 供应商标识符。默认为 0x303A(Espressif Systems)。
  • usb_lang_id (可选, int): USB 语言标识符。默认为 0x0409(英语 - 美国)。
  • usb_manufacturer_str (可选, string): 制造商字符串描述符。默认为 "ESPHome"。
  • usb_product_str (可选, string): 产品名称字符串描述符。默认为 "ESPHome"。
  • usb_serial_str (可选, string): 序列号字符串描述符。如果不指定,将使用设备的 MAC 地址。

在指定自定义 usb_vendor_id 和 usb_product_id 值时,请注意:

  • USB 供应商 ID 由 USB 实施者论坛(USB-IF)正式分配。
  • 使用未分配或第三方供应商/产品 ID 组合可能导致意外(主机)行为。
  • 默认的供应商 ID 0x303A 分配给 Espressif Systems。
  • 出于业余和开发目的,你可以使用测试 ID,但这些不应在生产设备中使用。

usb_lang_id 字段使用 USB 规范定义的 USB 语言 ID。常见值包括:

  • 0x0409 - 英语(美国)- 默认
  • 0x0809 - 英语(英国)
  • 0x0407 - 德语(德国)
  • 0x040C - 法语(法国)

更完整的列表可以在此处找到 here。