我团队的其他成员将为我的应用程序提供一个简单的非标准USB麦克风,但在完成之前我将不得不模拟它,以进行集成测试。
如果有很多可用选项,我宁愿使用.NET / Matlab / Python解决方案。
答案 0 :(得分:19)
我强烈推荐this project, USB IP。这是一种通过网络连接USB设备的方法。有一个Windows客户端。
这意味着,您在Windows计算机上安装客户端。 然后,该设备希望与连接到Linux计算机的USB设备通信,即服务器:
你现在所做的是要么为Linux创建一个虚假的设备驱动程序,它看起来像连接到物理USB设备,但实际上只是假装成你的USB设备的逻辑。有tutorials for writing USB drivers for Linux。 或您为设备控制管理器创建自己的存根驱动程序(参见上图)。这个存根驱动程序可以在Windows或Linux上运行,这没关系。它甚至可以在相同的 Windows机器上运行,即USB客户端。
问题本身提到的DSF USB Loopback Device与设备控制管理器的存根驱动程序是同一种解决方案,但完全取消了Linux。
答案 1 :(得分:1)
您可以使用QEMU编写虚拟USB设备。 您可以复制现有设备,例如this QEMU存储库中的dev-serial.c,并根据您的需要进行更改。 编写和编译USB设备后,只需使用QEMU命令行界面将其附加到VM即可。
答案 2 :(得分:-1)
如果要模拟键盘或鼠标,则不需要概念证明或虚拟USB设备
您可以将pyautogui
安装到python
对于python 2:
pip install pyautogui
对于python 3:
pip3 install pyautogui
并像这样使用它:
import pyautogui
pyautogui.typewrite("hello from pyautogui")