Advertisement

USB设备的WebUSB实现:USBD-WEBUSB

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
USBD-WEBUSB项目旨在通过WebUSB API将各种USB设备的功能无缝集成到网页应用中,无需安装额外软件,提供便捷且安全的用户体验。 usbd-webusb 适用于 WebUSB 实现。WebUSB 是一个建议的 JavaScript API 标准,用于安全地从网页访问 USB 设备。许可协议根据 Apache 许可证 2.0 版 或 MIT 许可证 中任一选择。 例子中的一个完整示例需要使用硬件驱动程序,但与硬件无关的部分如下所示: ```rust use usbd_webusb :: * ; // 创建带有 URL https://google.com 的 WebUSB 类实例。 // 也可以提供自定义的 URL 方案 url_scheme::CUSTOM let wusb = WebUsb :: new ( & usb_bus, url_scheme :: HTTPS, google.com ); ```

全部评论 (0)

还没有任何评论哟~
客服
客服
  • USBWebUSBUSBD-WEBUSB
    优质
    USBD-WEBUSB项目旨在通过WebUSB API将各种USB设备的功能无缝集成到网页应用中,无需安装额外软件,提供便捷且安全的用户体验。 usbd-webusb 适用于 WebUSB 实现。WebUSB 是一个建议的 JavaScript API 标准,用于安全地从网页访问 USB 设备。许可协议根据 Apache 许可证 2.0 版 或 MIT 许可证 中任一选择。 例子中的一个完整示例需要使用硬件驱动程序,但与硬件无关的部分如下所示: ```rust use usbd_webusb :: * ; // 创建带有 URL https://google.com 的 WebUSB 类实例。 // 也可以提供自定义的 URL 方案 url_scheme::CUSTOM let wusb = WebUsb :: new ( & usb_bus, url_scheme :: HTTPS, google.com ); ```
  • Awesome:优秀WebUSB应用、库及资源列表
    优质
    Awesome WebUSB 是一个全面收集和展示优秀WebUSB应用程序、开发库及相关资源的清单,致力于帮助开发者们更好地理解和利用WebUSB技术。 很棒的WebUSB应用程序、库和资源列表: - 用于访问NetMD MiniDisc设备的TypeScript库。 - 开源USB堆栈,支持带有供应商特定类别的WebUSB实现(Rust)。 - Android调试桥(ADB)协议库。 - 具有WebUSB支持的Arduino软件串行库的一个分支版本。 应用领域: - 使用官方Android为您的设备构建Flash工具。 - 在ErgoDox键盘上配置布局代码,并将其上传到FiriaLabs教育设备。 - GrapheneOS Web安装,这是一个基于Android的安全加固且注重隐私的操作系统。 - MakeCode:用于多个设备的计算机科学教育开发环境。 - AdaFruit电路游乐场拱廊、英国广播公司micro:bit和NumWorks Workshop等项目。
  • STM32 CubeMX USB复合库I-CUBE-USBD-Composite版本1.0.3
    优质
    STM32CubeMX I-CUBE-USBD-Composite 1.0.3 是一款专为STM32微控制器设计的USB复合设备开发库,提供全面的功能支持与灵活的配置选项。 最近有一个需求,需要同时使用USB键盘鼠标和虚拟串口等功能。由于平时对USB协议不太熟悉,自己编写复合设备一直没有成功。恰好在GitHub上发现了一个针对STM32的库,可以快速配置组合设备,并且支持所需功能。
  • C#中USB通信
    优质
    本文将介绍如何在C#编程语言中开发与USB设备进行通信的应用程序,涵盖相关API和库的使用方法。 通过导入hid.dll、setupapi.dll 和 Kernel32.dll 来获取全部的 USB 设备列表,并利用 VID(Vendor ID)、PID(Product ID)以及 Version 识别待连接的 USB 设备。使用 CreateFile 和 WriteFile 等接口进行读写操作,返回消息采用异步方式处理。此功能可在 VS2017、VS2019 中实现。
  • C#中HID USB通信
    优质
    本文章介绍了如何在C#编程语言中实现与HID(人体接口设备)USB设备之间的通讯,详细讲解了相关的代码示例和开发技巧。 编写源代码并使用VS2010与Framework3.5开发工具来读取或操作HID USB设备的案例在网络上广泛存在,但大多数示例直接复制粘贴后无法正常工作。这些例子通常围绕着`public static extern int CreateFile(...)`函数展开。然而,如果你尝试运行它们会发现大部分都无法成功访问硬件设备。 原因很简单:Windows系统默认不允许程序随意地去读取或写入外接的USB HID设备。因此,在此我整理并分享一个基于C#开发、用于读写HID USB设备的小案例,该案例在VS2010环境下运行良好。重点在于`public static extern SafeFileHandle CreateFile(string lpFileName, uint dwDesiredAccess, int dwShareMode, IntPtr lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, int hTemplateFile);`函数的使用上,注意到返回类型是SafeFileHandle,这就解决了Windows系统对设备访问权限的问题。 接下来是如何运用该案例的具体步骤: 1. **获取HID USB 设备信息**: ```csharp List slist = new List(); UsbHidDevice usbhid = new UsbHidDevice(); usbhid.GetDeviceList(ref slist); ``` 2. 从设备信息中提取VID和PID,例如:`\\?\hid#vid_0e2c&pid_0112#6&1b44c403;&0&0000;#{4d1e55b2-f16f-11cf-88cb-001111000030}`,其中`vid= 0e2c, pid = 0112` 3. **创建HID USB设备实例**: ```csharp UsbHidDevice Device = new UsbHidDevice(vid, pid); ``` 4. 连接设备: `Boolean connBool = Device.Connect();` 5. 实现数据接收事件处理程序,当收到USB HID设备的数据时触发该方法: ```csharp void Device_DataReceived(byte[] data) { // 处理返回的字节流逻辑 } // 注册事件处理器 Device.DataReceived += new UsbHidDevice.DataReceivedDelegate(Device_DataReceived); ``` 6. 向设备发送数据: ```csharp string txt = 0xa0 00 0x12 0x9 0x22; byte[] data = ConvertHelper.StringToByte(txt); // 转换为字节数组 CommandMessage cmdMsg = new CommandMessage(bt, data); Boolean sbool = Device.SendMessage(cmdMsg); ``` 7. 当完成所有操作后,释放资源: ```csharp Device.Dispose(); ``` 通过以上步骤可以顺利地使用C#在VS2010环境下开发HID USB设备的读写应用。
  • USB:裸机环境下USB驱动程序
    优质
    本文探讨了在无操作系统支持的裸机环境中,如何设计与实现USB(Universal Serial Bus)设备的驱动程序,深入分析了其工作原理和编程技术。 USB设备裸机本机USB驱动程序的实现涉及在没有操作系统支持的情况下直接对硬件进行编程,以使计算机能够识别并使用USB设备。这一过程通常包括了初始化阶段、配置管理和数据传输控制等多个步骤,需要深入理解底层硬件的工作原理和相关协议标准。
  • 利用VBUSB数据传输
    优质
    本项目旨在通过Visual Basic编程语言开发一个应用程序,以实现与USB设备间的数据传输。该程序能有效读取和发送数据,为用户提供便捷的操作体验。 使用VB实现USB接口设备数据传送,并应用于C8051F320芯片。
  • 利用AOA协议AndroidUSB通信
    优质
    本文探讨了通过AOA(Accessory Mode)协议在Android设备与计算机之间建立USB通信的方法,详细介绍其工作原理及应用实践。 AOA协议是由Google公司推出的一种用于实现Android设备与外围设备之间USB通信的协议。该协议扩展了Android设备USB接口的功能,并为基于Android系统的智能设备在数据采集和设备控制领域的应用提供了可能。文中介绍了在Android系统下进行USB通信的两种模式,还提供了一个实例:通过AOA协议,在USB配件模式下实现使用Android手机来控制步进电机的操作。
  • STM32F1057、STM32F2和STM32F4USB OTG主机与...
    优质
    本文深入探讨了STM32F1057、STM32F2及STM32F4系列微控制器在USB OTG协议下的主从模式应用,详细解析其实现方法和开发技巧。 ST官网库 en.stm32_f105-07_f2_f4_usb-host-device_lib V2.2.1 提供了适用于 STM32F1057、STM32F2 和 STM32F4 的 USB on-the-go 主机和设备库(UM1021)。该库支持使用 STM32F407+USB33300+USB2.0 HS 组合的硬件配置。
  • TX2支持USB
    优质
    本文档介绍了如何在嵌入式系统中使用NXP TX2平台配置和启用USB设备的相关设备树(DTS)文件设置,帮助开发者高效集成外设。 TX2的设备树支持在没有电源监控电路的情况下使用USB。而在修改前的设备树配置下,如果没有电源监控电路,则USB将无法正常使用。