Mit der WebUSB-API können Webanwendungen direkt über einen Browser mit USB-Geräten interagieren. Es werden jedoch nicht alle Geräte unterstützt.
Welche Geräte sind kompatibel?
WebUSB funktioniert mit USB-Geräten, die keine Standardtreiber im Betriebssystem haben. Beispiele hierfür sind:
- Peripheriegeräte ohne Standardtreiber
- Benutzerdefinierte USB-Geräte (z. B. programmierbare Mikrocontroller: Arduino, ESP32, STM32 mit benutzerdefinierter Firmware)
- USB-Geräte mit proprietären Protokollen (z. B. spezielle Sensoren, nicht standardmäßige HID-Geräte)
- Geräte, die von WebUSB zugelassene USB-Schnittstellenklassen unterstützen
- HID (Human Interface Device) – aber nicht alle, da Tastaturen/Mäuse normalerweise aus Sicherheitsgründen blockiert sind
- CDC (Communication Device Class) – z. B. einige USB-UART-Adapter (obwohl viele Betriebssystem-Standardtreiber verwenden)
- Anbieterspezifische Klassen – Geräte mit benutzerdefinierten Protokollen
- Beispiele für spezifische Geräte
- Entwicklung & Prototyping:
- Arduino (mit WebUSB-Unterstützung, z. B. Arduino Leonardo im WebUSB-Modus)
- ESP32, Raspberry Pi Pico (mit Firmware, die WebUSB unterstützt)
- STM32 (mit benutzerdefinierter USB-Implementierung)
- Spezialisierte Geräte:
- USB-Oszilloskope, Logikanalysatoren (sofern kein Standardtreiber vorhanden ist)
- 3D-Drucker, CNC-Maschinen (bei Verwendung direkter USB-Kommunikation)
- IoT-USB-Geräte (Sensoren, Relais usw.)
Welche Geräte werden NICHT unterstützt?
- Geräte mit reservierten USB-Klassen (z. B. Webcams, USB-Laufwerke, Drucker, Bluetooth-Adapter)
- Geräte, die automatisch von Betriebssystemtreibern beansprucht werden (z. B. COM-Anschlüsse, Tastaturen, Mäuse)
- Sichere Geräte (z. B. YubiKey, Banking-Token)