Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.0.2

usb_device

Plugin Flutter para se comunicar com dispositivo USB (iniciar sessões, enviar dados, definir configurações ...).

Web
Downloads em 30 dias
674
Curtidas
35
Pontos Pub
150

Instalar pacote

flutter pub add usb_device

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote usb_device é um plugin do Flutter que permite a comunicação com dispositivos USB na web. Ele permite que os usuários iniciem sessões, enviem e recebam dados e configurem dispositivos USB diretamente por navegadores da web que suportam WebUSB. Projetado para interação com dispositivos em aplicações web, ele utiliza APIs de USB de nível de navegador para fornecer acesso de baixo nível a periféricos conectados. O plugin é especialmente útil para desenvolvedores que criam ferramentas baseadas na web que se comunicam com hardware como sensores, controladores ou dispositivos personalizados. Ele só é compatível com plataformas web e exige permissão do usuário para acesso ao dispositivo.

Casos de uso

  • Conectando-se a hardware via USB em aplicativos da web
  • Enviando comandos para dispositivos conectados por USB
  • Lendo dados de periféricos USB externos
  • Desenvolvendo interfaces de controle de dispositivos baseadas na web
  • Habilitar comunicação em tempo real com dispositivos embarcados

Principais recursos

  • Comunicação USB somente na web
  • Suporte à gestão de sessão
  • Transmissão e recepção de dados
  • Opções de configuração do dispositivo
  • Integração WebUSB baseada em navegador

Indicado para

  • Desenvolvedores web trabalhando com hardware
  • aplicações web de IoT
  • Painéis de controle de dispositivos personalizados
  • Prototipagem de ferramentas web com suporte a USB
  • Projetos educacionais envolvendo dispositivos USB

Considerações

  • Limitado apenas à plataforma da web
  • Requer suporte do navegador para WebUSB
  • Permissão do usuário necessária para acesso ao dispositivo
  • Sem suporte para aplicativos nativos móveis ou de desktop
  • Dependente da compatibilidade do dispositivo com o WebUSB

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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 🎉.

Categorias

Dependências

Lista de dependências 2 itens

  • usb_device_platform_interface^1.0.0
  • usb_device_web^1.0.0

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.