Prueba de dispositivo USB

Esta prueba comprueba el acceso mediante WebUSB y muestra los descriptores USB proporcionados por el dispositivo seleccionado.

¿Qué es WebUSB?

La API WebUSB permite que las aplicaciones web interactúen directamente con dispositivos USB desde el navegador. Sin embargo, no todos los dispositivos son compatibles.

Esta página lee de forma segura los descriptores que comparte un dispositivo después de que usted conceda permiso. No abre interfaces, no transfiere datos ni cambia los ajustes del dispositivo.

¿Qué dispositivos USB son compatibles?

WebUSB funciona con dispositivos USB que no tienen controladores estándar en el sistema operativo. Por ejemplo:

  1. Periféricos sin controlador estándar:
    • Dispositivos USB personalizados, como microcontroladores programables Arduino, ESP32 o STM32 con firmware propio.
    • Dispositivos USB con protocolos propietarios, como sensores especializados o dispositivos HID no estándar.
  2. Dispositivos con clases de interfaz USB permitidas por WebUSB:
    • Las interfaces HID están protegidas frente al acceso normal mediante WebUSB. Para dispositivos HID compatibles, utilice la API WebHID de nivel superior.
    • CDC (Communication Device Class): por ejemplo, algunos adaptadores USB-UART, aunque muchos usan los controladores predeterminados del sistema operativo.
    • Clases específicas del fabricante: dispositivos con protocolos propios.
  3. Ejemplos de dispositivos concretos:
    • Desarrollo y creación de prototipos:
      • Arduino con WebUSB, por ejemplo, Arduino Leonardo en modo WebUSB.
      • ESP32 y Raspberry Pi Pico con firmware compatible con WebUSB.
      • STM32 con una implementación USB personalizada.
      • Dispositivos Android con depuración USB activada que usan la interfaz ADB específica del fabricante.
    • Dispositivos especializados:
      • Osciloscopios USB y analizadores lógicos, si no existe un controlador predeterminado.
      • Impresoras 3D y máquinas CNC que utilizan comunicación USB directa.
      • Dispositivos USB para IoT: sensores, relés, etc.

¿Qué dispositivos USB no son compatibles?

  • Clases de interfaz protegidas, como audio, HID, almacenamiento masivo, concentradores, tarjetas inteligentes, vídeo y controladores inalámbricos.
  • Dispositivos que los controladores del sistema operativo reclaman automáticamente, como puertos COM, teclados y ratones.
  • Dispositivos seguros, como YubiKey y tokens bancarios.

WebUSB requiere HTTPS, una acción del usuario y un permiso explícito. La compatibilidad se limita principalmente a los navegadores basados en Chromium. Las impresoras no pertenecen a una clase USB protegida, pero un controlador del sistema operativo puede impedir el acceso directo.