WebUSB 串行支持¶
迄今为止,这仅在一个端口 (espressif) 和一块板 (espressif_kaluga_1) 上进行了测试。
它能做什么¶
如果您曾经在带有图形 LCD 显示器的平台上使用过 CircuitPython,您可能已经看到多个“控制台”在使用中(尽管 LCD 控制台是“仅输出”)。
新的编译时选项 CIRCUITPY_USB_VENDOR 启用了一个额外的“控制台”,可以与原始 (CDC) 串行控制台并行使用。
支持WebUSB标准的网页可以连接到“厂商”接口,随时激活这个WebUSB串口控制台。
您可以在任一控制台中键入,CircuitPython 输出将发送到所有活动控制台。
您可以在以下位置找到可用于测试此功能的网页示例:
https://adafruit.github.io/Adafruit_TinyUSB_Arduino/examples/webusb-serial/index.html
如何启用¶
更新您平台的 mpconfigboard.mk 文件以启用和禁用特定类型的 USB 接口。
CIRCUITPY_USB_HID = xxx CIRCUITPY_USB_MIDI = xxx CIRCUITPY_USB_VENDOR = xxx
至少在某些硬件平台上,USB 端点的最大数量是固定的。例如,在 ESP32S2 上,您必须仅选择上述 3 个接口之一才能启用。
原始 espressif_kaluga_1 mpconfigboard.mk 设置:
CIRCUITPY_USB_HID = 1 CIRCUITPY_USB_MIDI = 0 CIRCUITPY_USB_VENDOR = 0
改为启用 WebUSB 的设置:
CIRCUITPY_USB_HID = 0 CIRCUITPY_USB_MIDI = 0 CIRCUITPY_USB_VENDOR = 1
请注意,要在 ESP32-S2 上启用 VENDOR,我们必须放弃 HID。可能有些平台可以同时拥有这两者,甚至可以同时拥有这三者。