Подтвердить что ты не робот

Как эмулировать USB-устройства?

Остальная часть моей команды сделает для моего приложения простой нестандартный USB-микрофон, но пока они не закончат его, мне придется подражать ему, для целей интеграционного тестирования.

  • Есть ли какой-либо риск в физической петле? Да, есть
  • Будет ли работать физическая петля? Только с USB мост
  • Есть ли способ создать логическую петлю? (MSDN что-то об этом)
  • Существует ли какое-либо программное обеспечение эмулятора USB общего назначения?

Если есть много доступных вариантов, я бы лучше работал над решениями .NET/Matlab/Python.

4b9b3361

Ответ 1

Изменить: Доказательство концепции здесь

Я настоятельно рекомендую этот проект, IP-адрес USB. Это способ подключения USB-устройств по сети. Существует клиент Windows.

Это означает, что вы устанавливаете клиент на свой компьютер с Windows. Это устройство затем ожидает поговорить с USB-устройством, подключенным к компьютеру Linux, сервер: diagram over how a USB IP client connects to a USB IP server

Что вы теперь делаете, либо создает поддельный драйвер устройства для Linux, который выглядит как подключенный к физическому USB-устройству, но на самом деле это просто логика, притворяющаяся вашим USB-устройством. Есть учебные пособия для написания драйверов USB для Linux. Или, вы создаете свой собственный драйвер-заглушку для диспетчера устройств управления (см. рисунок выше). Этот драйвер-заглушка может работать в Windows или Linux, это не имеет значения. Он может работать даже на той же машине Windows, которая является USB-клиентом.

DSF USB Loopback Device, упомянутый в самом вопросе, будет тем же самым решением, что и драйвер-заглушка для диспетчера устройств, но полностью исключает Linux.

Ответ 2

Вы можете написать виртуальное устройство USB с помощью QEMU. Вы можете дублировать уже существующее устройство, например dev-serial.c, найденное в этом репозитории QEMU и изменив его для ваших нужд.
После того, как вы напишете и скомпилируете USB-устройство, вы можете просто присоединить его к своей виртуальной машине с помощью интерфейса командной строки QEMU.

Ответ 3

Если вы хотите эмулировать клавиатуру или мышь, вам не нужно проверять концепцию или виртуальное USB-устройство.
Вы можете просто установить pyautogui на python
Для Python 2:

pip install pyautogui

Для Python 3:

pip3 install pyautogui

И используйте это так:

import pyautogui
pyautogui.typewrite("hello from pyautogui")