@SerS_tds

Как найти USB устройство в pyusb?

Разбираюсь с работой с usb устройствами на python. Нашел библиотеку pyusb, но не почему-то не могу находить usb устройства.
пробовал разные варианты (idVendor и idProduct подставлял свои):
dev = usb.core.find(idVendor=0xfffe, idProduct=0x0001)

dev = usb.core.find(bDeviceClass=3)

dev = usb.core.find(find_all=True)

Однако устройства не находятся, значение dev остается null. Подскажите, в чем может быть проблема?
  • Вопрос задан
  • 376 просмотров
Решения вопроса 1
@SerS_tds Автор вопроса
Проблема была в отсутствии libusb.
В итоге решил так, может кому пригодится.

Установил pyusb и libusb:
pip install pyusb
pip install libusb

После этого добавил libusb в переменные окружения windows:
\venv\Lib\site-packages\libusb\_platform\_windows\x64
\venv\Lib\site-packages\libusb\_platform\_windows\x86
(Необходимо указать полный путь до папки)
После этого перезапустил cmd, PyCharm.

Еще вариант, после установки libusb (pip install libusb) зайти в папку с библиотекой \venv\Lib\site-packages\libusb\_platform\_windows\x64 (х86 соответственно), найти там файл libusb-1.0.dll и положить его в папку C:\WINDOWS\System32. В таком случае не надо вносить никаких изменений в переменные окружения windows.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@darkenF
Pyusb работает в контексте, который может быть определен явно или неявно. Попробуйте создать контекст явно и использовать его:

import usb.core

# Создание контекста pyusb
context = usb.core.find(None)

# Поиск USB устройства
dev = usb.core.find(idVendor=0xfffe, idProduct=0x0001, context=context)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы