Teste de dispositivo USB

Este teste verifica o acesso via WebUSB e exibe os descritores USB fornecidos pelo dispositivo selecionado.

O que é WebUSB?

A WebUSB API permite que aplicativos web interajam diretamente com dispositivos USB pelo navegador. No entanto, nem todos os dispositivos são compatíveis.

Esta página lê com segurança os descritores compartilhados pelo dispositivo depois que você concede permissão. Ela não abre interfaces, transfere dados nem altera as configurações do dispositivo.

Quais dispositivos USB são compatíveis?

O WebUSB funciona com dispositivos USB que não possuem drivers padrão no sistema operacional. Alguns exemplos:

  1. Dispositivos periféricos sem driver padrão
    • Dispositivos USB personalizados (por exemplo, microcontroladores programáveis: Arduino, ESP32 e STM32 com firmware personalizado)
    • Dispositivos USB com protocolos proprietários (por exemplo, sensores especializados e dispositivos HID não padronizados)
  2. Dispositivos com classes de interface USB permitidas pelo WebUSB
    • As interfaces HID são protegidas contra o acesso comum via WebUSB. Use a WebHID API de nível mais alto para dispositivos HID compatíveis.
    • CDC (Communication Device Class) — por exemplo, alguns adaptadores USB-UART (embora muitos usem os drivers padrão do sistema operacional)
    • Classes específicas do fabricante — dispositivos com protocolos personalizados
  3. Exemplos de dispositivos específicos
    • Desenvolvimento e prototipagem:
      • Arduino (com suporte a WebUSB, por exemplo, Arduino Leonardo no modo WebUSB)
      • ESP32, Raspberry Pi Pico (com firmware compatível com WebUSB)
      • STM32 (com implementação USB personalizada)
      • Dispositivos Android com depuração USB ativada que usam a interface ADB específica do fabricante
    • Dispositivos especializados:
      • Osciloscópios USB e analisadores lógicos (quando não há driver padrão)
      • Impressoras 3D e máquinas CNC (quando usam comunicação USB direta)
      • Dispositivos USB para IoT (sensores, relés etc.)

Quais dispositivos USB NÃO são compatíveis?

  • Classes de interface protegidas, incluindo áudio, HID, armazenamento em massa, hubs, cartões inteligentes, vídeo e controladores sem fio
  • Dispositivos assumidos automaticamente pelos drivers do sistema operacional (por exemplo, portas COM, teclados e mouses)
  • Dispositivos seguros (por exemplo, YubiKey e tokens bancários)

O WebUSB exige HTTPS, uma ação do usuário e permissão explícita. A compatibilidade dos navegadores se limita principalmente aos baseados em Chromium. Impressoras não são uma classe USB protegida, mas um driver do sistema operacional pode impedir o acesso direto.