Pakete, Repositories und App-Kategorien suchen

Paketdetailsv1.0.2

usb_device

Flutter-Plugin zur Kommunikation mit USB-Geräten (Sitzungen starten, Daten senden, Konfigurationen festlegen ...).

Web
30-Tage-Downloads
674
Likes
35
Pub-Punkte
150

Paket installieren

flutter pub add usb_device

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das usb_device-Paket ist ein Flutter-Plugin, das die Kommunikation mit USB-Geräten im Web ermöglicht. Es erlaubt Benutzern, Sitzungen zu starten, Daten zu senden und zu empfangen sowie USB-Geräte direkt über Webbrowser, die WebUSB unterstützen, zu konfigurieren. Für die Geräteinteraktion in Webanwendungen entwickelt, nutzt es USB-APIs auf Browser-Ebene, um niedrigstufigen Zugriff auf angeschlossene Peripheriegeräte zu bieten. Das Plugin ist besonders nützlich für Entwickler, die webbasierte Tools erstellen, die mit Hardware wie Sensoren, Controllern oder maßgeschneiderten Geräten kommunizieren. Es unterstützt nur Web-Plattformen und erfordert die Zustimmung des Benutzers für den Gerätezugriff.

Anwendungsfälle

  • Herstellen einer Verbindung mit Hardware über USB in Webanwendungen
  • Befehle an über USB angeschlossene Geräte senden
  • Daten von externen USB-Geräten lesen
  • Entwicklung von webbasierten Gerätesteuerungsschnittstellen
  • Echtzeitkommunikation mit eingebetteten Geräten aktivieren

Hauptmerkmale

  • Web-only USB-Kommunikation
  • Session-Management unterstützt
  • Datenübertragung und -empfang
  • Gerätekonfigurationsmöglichkeiten
  • Browserbasierte WebUSB-Integration

Geeignet für

  • Webentwickler, die mit Hardware arbeiten
  • IoT-Webanwendungen
  • Benutzerdefinierte Gerätesteuerungs-Dashboards
  • Prototyping USB-fähiger Web-Tools
  • Bildungprojekte mit USB-Geräten

Hinweise

  • Nur für Web-Plattform begrenzt
  • Browserunterstützung für WebUSB erforderlich
  • Benutzerberechtigung erforderlich für Gerätezugriff
  • Keine Unterstützung für mobile oder Desktop-Native-Apps
  • Abhängig von der Gerätekompatibilität mit WebUSB

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

web usb logo



License: MIT pub dev usb_device




🚀  Overview

WebUSB plugin provide access to USB devices from Flutter Web 💙 by using web usb official API.

  • 📱 Get device info with configuration.
  • 🔌 Pair a device with filter.
  • 📤 Send data to USB device.
  • 📥 Receive data from USB device.
  • 🎛️ Change USB device configuration.

💻  Platform Support

Android iOS MacOS Web Linux Windows
➖ ➖ ➖ ✔️ ➖ ➖

📖  Installation

Install the package
flutter pub add usb_device
Import the package
import 'package:usb_device/usb_device.dart';

🚀  Get started

  • Import & instanciate the plugin.
import 'package:usb_device/usb_device.dart';

final UsbDevice usbDevice = UsbDevice();
  • Common used methods.

// get paired devices
final pairedDevices = await usbDevice.pairedDevices;

// pair a device 
final pairedDevice = await usbDevice.requestDevices([DeviceFilter(vendorId : 0x00, productId: 0x00)]);

// get device's configurations 
List<USBConfiguration> availableConfigurations = await usbDevice.getAvailableConfigurations(pairedDevice);

// get device's info
USBDeviceInfo deviceInfo = await usbDevice.getPairedDeviceInfo(pairedDevice);

// start session
await usbDevice.open(pairedDevice);

// close session
await usbDevice.close(pairedDevice);

📚  Methods

USB

Name Description Returned value
pairedDevices Get paired attached devices Future<List<dynamic>>
requestDevice(List<DeviceFilter> filters) Pair a device with filter or not Future<dynamic>
isSupported() Pair a device with filter or not Future<bool>
open() Start a session Future
close() Close a session Future
claimInterface(dynamic device, int interfaceNumber) Claim an interface for exclusive access Future
releaseInterface(dynamic device, int interfaceNumber) Release a claimed interface Future
reset(dynamic device) Reset device Future
selectConfiguration(dynamic device, int configurationValue) Select a specified configuration Future
clearHalt(dynamic device, String direction, int endpointNumber) Returns a promise that resolves when a halt condition is cleared Future
controlTransferIn(dynamic device, SetupParam setup, {int? length}) Return result of a command Future<USBInTransferResult>
controlTransferOut(dynamic device, SetupParam setup, {dynamic data}) Send a command to device Future<USBOutTransferResult>
transferIn(dynamic device, int endpointNumber, int length) Return data from device Future<USBInTransferResult>
transferOut(dynamic device, int endpointNumber, dynamic data) Send data to device Future<USBOutTransferResult>
isochronousTransferIn(dynamic device, int endpointNumber, List<int> packetLengths) Resolves with a USBIsochronousInTransferResult when time sensitive information has been transmitted to (received by) the USB device Future<USBIsochronousInTransferResult>
isochronousTransferOut(dynamic device, int endpointNumber, List<int> packetLengths) Resolves with a USBIsochronousOutTransferResult when time sensitive information has been transmitted from the USB device Future<USBIsochronousOutTransferResult>
setOnConnectCallback(Function(dynamic) onConnect) Connect callback Future
setOnDisconnectCallback(Function(dynamic) onDisconnect) Disconnect callback Future
getSelectedConfiguration(dynamic pairedDevice) Get the selected configuration Future<USBConfiguration?>
getAvailableConfigurations(dynamic pairedDevice) Get available device's configurations Future<List<USBConfiguration>>
getPairedDeviceInfo(dynamic pairedDevice) Get info of paired device Future<USBDeviceInfo>

📣  Sponsor

logo apparence io

Initiated and sponsored by Apparence.io.

👥  Contribution

Contributions are welcome. Contribute by creating a PR or create an issue 🎉.

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

  • usb_device_platform_interface^1.0.0
  • usb_device_web^1.0.0

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.