Test dispositivo USB

Questo test verifica l’accesso WebUSB e mostra i descrittori USB forniti dal dispositivo selezionato.

Che cos’è WebUSB?

L’API WebUSB consente alle applicazioni web di interagire direttamente con i dispositivi USB dal browser. Tuttavia, non tutti i dispositivi sono supportati.

Questa pagina legge in modo sicuro i descrittori condivisi dal dispositivo dopo l’autorizzazione. Non apre le interfacce, non trasferisce dati e non modifica le impostazioni del dispositivo.

Quali dispositivi USB sono compatibili?

WebUSB funziona con dispositivi USB che non hanno driver standard nel sistema operativo. Esempi includono:

  1. Dispositivi periferici senza driver standard
    • Dispositivi USB personalizzati (es. microcontrollori programmabili: Arduino, ESP32, STM32 con firmware personalizzato)
    • Dispositivi USB con protocolli proprietari (es. sensori specializzati, dispositivi HID non standard)
  2. Dispositivi che supportano classi di interfaccia USB consentite da WebUSB
    • Le interfacce HID sono protette dal normale accesso WebUSB. Per i dispositivi HID compatibili, usa l’API WebHID di livello superiore.
    • CDC (Communication Device Class) – es. alcuni adattatori USB-UART (sebbene molti utilizzino driver predefiniti del SO)
    • Classi vendor-specific – dispositivi con protocolli personalizzati
  3. Esempi di dispositivi specifici
    • Sviluppo e prototipazione:
      • Arduino (con supporto WebUSB, es. Arduino Leonardo in modalità WebUSB)
      • ESP32, Raspberry Pi Pico (con firmware che supporta WebUSB)
      • STM32 (con implementazione USB personalizzata)
      • Dispositivi Android con debug USB attivo che utilizzano l’interfaccia ADB specifica del produttore
    • Dispositivi specializzati:
      • Oscilloscopi USB, analizzatori logici (se non esiste un driver predefinito)
      • Stampanti 3D, macchine CNC (se utilizzano comunicazione USB diretta)
      • Dispositivi USB IoT (sensori, relè, ecc.)

Quali dispositivi USB NON sono supportati?

  • Classi di interfaccia protette, tra cui audio, HID, archiviazione di massa, hub, smart card, video e controller wireless
  • Dispositivi acquisiti automaticamente dai driver del SO (es. porte COM, tastiere, mouse)
  • Dispositivi sicuri (es. YubiKey, token bancari)

WebUSB richiede HTTPS, un’azione dell’utente e un’autorizzazione esplicita. Il supporto è principalmente limitato ai browser basati su Chromium. Le stampanti non appartengono a una classe USB protetta, ma un driver del sistema operativo può impedire l’accesso diretto.