Skip to content

BlazorExtensions/WebUSB

Repository files navigation

Canvas

HTML5 WebUSB API implementation for Microsoft Blazor

Build Package Version NuGet Downloads License

Blazor Extensions

Blazor Extensions are a set of packages with the goal of adding useful things to Blazor.

Blazor Extensions WebUSB

This package wraps HTML5 WebUSB APIs.

Installation

Install-Package Blazor.Extensions.WebUSB

Sample

Usage

  • First add the USB services on Blazor IServiceCollection:
public void ConfigureServices(IServiceCollection services)
{
    services.UseWebUSB(); // Makes IUSB available to the DI container
}

To consume on your .cshtml:

  • On your _ViewImports.cshtml add the using entry:
@using Blazor.Extensions.WebUSB
  • Then, on your .cshtml inject the IUSB:
@inject IUSB usb

And then use the usb object to interact with connected USB devices thru your Blazor application.

To inject on a BlazorComponent class:

Define a property of type IUSB and mark it as [Injectable]:

[Inject] private IUSB _usb { get; set; }

Then use the _usb variable to interact with the connected USB devices.

Note: For now, you have to call await IUSB.Initialize() once in your application. This is a temporary requirement and we are looking on a better way to automatically register to Connect/Disconnect events.

Contributions and feedback

Please feel free to use the component, open issues, fix bugs or provide feedback.

Contributors

The following people are the maintainers of the Blazor Extensions projects: