WebUSB plugin
Developed with by Apparence.io
This plugin provide access to USB devices from web pages with WebUSB.
Platform Support
Android | iOS | MacOS | Web | Linux | Windows |
---|---|---|---|---|---|
Usage
import 'package:usb_device/usb_device.dart'; final UsbDevice usbDevice = UsbDevice(); var pairedDevices = await usbDevice.pairedDevices; // get paired devices var pairedDevice = await usbDevice.requestDevices([DeviceFilter(vendorId : 0x00, productId: 0x00)]); // par a device List<USBConfiguration> availableConfigurations = await usbDevice.getAvailableConfigurations(pairedDevice); // get device's configurations USBDeviceInfo deviceInfo = await usbDevice.getPairedDeviceInfo(pairedDevice); // get device's info await usbDevice.open(pairedDevice); // start session await usbDevice.close(pairedDevice); // close session
Implementation
USB
- getDevices() : Get paired attached devices
- requestDevice(filters): pair a device with filter or not
USBDevice
- Get device info with configuration
- open(): Start session
- close(): Close session
- selectConfiguration(configurationValue): Select a specified configuration
- claimInterface(interfaceNumber): Claim an interface for exclusive access
- releaseInterface(interfaceNumber): Release a claimed interface
- controlTransferIn(setup, length): Return result of a command
- controlTransferOut(setup, data) : Send a command to device
- transferIn(): Return data from device
- transferOut(): Send data to device
- clearHalt()
- reset(): Reset device
- isochronousTransferIn()
- isochronousTransferOut()
Events
- OnConnect
- OnDisconnect
Download WebUSB plugin source code on GitHub
Provides the list of the opensource Flutter apps collection with GitHub repository.