Проверка USB-устройства

Этот тест проверяет доступ через WebUSB и показывает USB-дескрипторы, предоставленные выбранным устройством.

Что такое WebUSB?

WebUSB API позволяет веб-приложениям взаимодействовать с USB-устройствами напрямую из браузера. Однако поддерживаются не все устройства.

Эта страница безопасно читает дескрипторы, предоставленные устройством после выдачи разрешения. Она не открывает интерфейсы, не передаёт данные и не изменяет настройки устройства.

Какие USB-устройства поддерживаются?

WebUSB работает с USB-устройствами, для которых нет стандартных драйверов в операционной системе. Например:

  1. Периферийные устройства без стандартных драйверов:
    • Специализированные USB-устройства (например, программируемые микроконтроллеры Arduino, ESP32 и STM32 с нестандартной прошивкой).
    • USB-устройства с собственными протоколами (например, специализированные датчики, HID-устройства нестандартного типа).
  2. Устройства, поддерживающие классы интерфейсов USB, разрешённые WebUSB:
    • HID-интерфейсы защищены от обычного доступа через WebUSB. Для совместимых HID-устройств используйте высокоуровневый WebHID API.
    • CDC (Communication Device Class) — например, некоторые USB-UART-адаптеры, хотя многие используют стандартные драйверы ОС.
    • Классы, определяемые производителем, — устройства с собственными протоколами.
  3. Примеры конкретных устройств:
    • Разработка и прототипирование:
      • Arduino (с поддержкой WebUSB, например, Arduino Leonardo в режиме WebUSB).
      • ESP32, Raspberry Pi Pico (с прошивкой, поддерживающей WebUSB).
      • STM32 (с кастомной USB-реализацией).
      • Android-устройства с включённой USB-отладкой, использующие интерфейс ADB производителя.
    • Специализированные устройства:
      • USB-осциллографы, логические анализаторы (если нет стандартного драйвера).
      • 3D-принтеры, ЧПУ-станки (если используют прямой USB-протокол).
      • USB-устройства для IoT (датчики, реле и т. д.).

Какие USB-устройства не поддерживаются?

  • Защищённые классы интерфейсов: аудио, HID, накопители, концентраторы, смарт-карты, видео и беспроводные контроллеры.
  • Устройства, для которых ОС автоматически загружает драйверы (например, COM-порты, клавиатуры, мыши).
  • Защищённые устройства (например, YubiKey, банковские токены).

WebUSB требует HTTPS, действия пользователя и явного разрешения. API в основном поддерживается браузерами на базе Chromium. Принтеры не относятся к защищённым классам USB, но драйвер операционной системы может препятствовать прямому доступу.