我们设计了一个特殊的通信工具,用于轮椅上的控制灯光等。我们使用Z-wave。我们有通过PC控制这些设备的应用程序。
不幸的是,这款应用需要一个U盘。我们的设计不允许USB连接的记忆棒。取而代之的是,我们使用串行接口模块,它通过蓝牙和虚拟串口连接到pc。我们知道这个应用程序使用HID标准的windriver。(不涉及第三方驱动程序)
我们想知道我们是否可以使用一个HID“包装器”驱动程序来模拟USB标识符和PnP,以使应用程序认为连接了一根棒,然后将蓝牙虚拟通信数据链接到应用程序。
发布于 2009-11-16 12:13:40
是的,我相信这是可能的,可能是相当有趣的,从来没有想过用PC来模拟HID设备。你的团队中有没有人有驱动开发的经验?如果没有,请准备好迎接陡峭的学习曲线。
问:你所说的"USB记忆棒“是指一个包含有说明文件的USB闪存驱动器,还是像标题所暗示的那样是某种类型的HID设备,比如鼠标或操纵杆?
不过这并不重要,在任何一种情况下,都可以编写一个驱动程序来用PC模拟它。对于你的商店/项目来说,提升你的技能到你可以做到的程度是否经济,这是主要的问题。这绝对不是你可以在一个周末删掉的代码。
发布于 2011-09-15 20:56:15
参见VMulti on Google Code。
发布于 2013-12-11 11:55:12
这很有趣。我想了解更多关于你们现有设备的信息。“U盘实际上是一个无线电收发器”。
它是如何连接到PC的?是否通过USB电缆(作为虚拟COM端口)?或者,您是否正在使用任何USB-UART (USB-RS232)适配器,就像下面在收发器和PC之间的链接(http://www.ftdichip.com/Products/Cables/USBRS232.htm)中提到的那样。例如,USB-Serial适配器放置在您的设备和PC之间。
如果您的设备直接连接到PC的端口(作为虚拟COM端口),那么我可以为您提供一个解决方案。我们需要开发内核模式WDM或WDF USB HID迷你驱动程序,以便在安装驱动程序后,您的虚拟COM端口设备将被PC主机和PC应用程序视为USB HID设备。在这个HID迷你驱动程序中,我们可以在HID报告描述符中定义一个自定义的顶级HID集合,这样无论您告诉什么应用程序,期望该设备作为USB设备,都可以通过Windows HID API调用(如HidD_GetFeature,HidD_SetFeature,HidD_GetInputReport,HidD_SetOutputReport,甚至ReadFile和WriteFile函数)轻松地进行通信。
如果您有任何疑问或寻求进一步的澄清,请告诉我。
https://stackoverflow.com/questions/1721472
复制相似问题