首页 文章

寻找虚拟USB HID驱动程序

提问于
浏览
4

我们设计了一种特殊的通讯工具,用于轮椅控制灯等 . 我们使用Z-wave . 我们有应用程序通过PC控制这些设备 .

不幸的是,该应用程序需要一个USB棒 . 我们的设计不允许USB连接棒 . 相反,我们使用通过蓝牙和虚拟配件链接到电脑的串行接口模块 . 我们知道该应用程序使用HID标准的windriver . (没有涉及第三方司机)

我们想知道我们是否可以使用HID“包装”驱动程序来模拟USB标识符和PnP,方式是应用程序认为连接棒,然后将蓝牙虚拟配置数据链接到应用程序 .

3 回答

  • 5

    是的,我相信这是可能的,可能非常有趣,从未想过用PC模拟HID设备 . 您小组中的任何人都有任何驾驶员开发经验吗?如果没有,请准备好陡峭的学习曲线 .

    问题:“USB记忆棒”是指包含带有说明的文件的USB闪存驱动器,或者某些类型的HID设备,如 Headers 所示的鼠标或操纵杆?

    但这并不重要,在任何一种情况下都可以编写一个驱动程序来用PC模拟它 . 您的商店/项目是否经济实惠,使您能够做到这一点是主要问题 . 这绝对不是你周末可以删除的代码 .

  • 0
  • 3

    它非常有趣......我想更多地了解你现有的设备,即“USB记忆棒实际上是一个无线电收发器” .

    它是如何连接到PC的?它是通过USB电缆(作为虚拟COM端口)?或者您正在使用任何USB-UART(USB-RS232)适配器,如收发器和PC之间的以下链接(http://www.ftdichip.com/Products/Cables/USBRS232.htm)中提到的那样 . 即USB-Serial适配器位于您的设备和PC之间 .

    • 如果您的设备直接连接到PC的USB端口(作为虚拟COM端口),那么我有一个解决方案 . 我们需要开发内核模式WDM或WDF USB HID迷你驱动程序,以便在安装我们的驱动程序后,您的虚拟COM端口设备将被PC主机和PC应用程序视为USB HID设备 . 在这个HID迷你驱动程序中,我们可以在HID报告描述符中定义一个自定义顶级HID集合,这样你所说的应用程序所期望的那个设备作为USB HID设备将很容易通过Windows HID API调用(如HidD_GetFeature)进行通信,HidD_SetFeature,HidD_GetInputReport,HidD_SetOutputReport,甚至ReadFile和WriteFile函数都可以工作 .

    • 但是如果你的收发器有一个RS232 D9端口,那么你可能不得不插入一个USB-Serial适配器,正如我之前所说的那样PC和你的收发器 . 在这种情况下,我们需要在HID报告描述符中开发具有自定义顶级HID集合的UMDF USB Hid微型驱动程序 . 该驱动程序将完全是一个虚拟驱动程序,并将其自身与实际的虚拟COM端口连接到设备管理器 . 符合HID标准的应用程序将与此虚拟驱动程序通信,并将收发器视为USB HID设备,尽管它实际上是一个COM端口 . UMDF驱动程序将负责虚拟COM端口和HID应用程序之间的通信 .

    如果您有任何疑问或需要进一步澄清,请告诉我 .

相关问题