У меня есть малина pi (я использую linux) и устройство, которое измеряет некоторые значения.pyusb: функция работает хорошо один раз, второй раз не удается
У меня есть сервер python, и когда клиент отправляет команду «Я хочу значения», я запрашиваю у устройства некоторые значения. Это функция для моего устройства:
def usbDevice:
dev = usb.core.find(idVendor=0xXXXX, idProduct=0xXXXX)
if dev is None:
return 'Not found'
dev.set_configuration()
dev.write(1, '\x05', 0) # ask for the values
time.sleep(2)
ret = dev.read(0x81,2048 , 0,1200) # endpoint, siz, interf, timeout ->meas. vals
print ret
return ret
Когда я начинаю общение всегда идет хорошо (в обоих направлениях, я отправить команду, и я получаю надлежащий ответ ...) Тем не менее, во второй раз я. попробуйте (независимо от того, я слишком долго жду или нет), я не получаю ответа от устройства. Я знаю, что могу отправить запрос (я использовал «шаг XX» печати, чтобы увидеть, где он терпит неудачу), но я не получаю ответа ... Обычно я получаю исключение тайм-аута, но иногда получаю исключение «ресурс занят».
Должен ли я закрыть USB-коммуникацию после ее использования в первый раз? Как? Несмотря на это, я всегда компилирую с разрешениями sudo, я создал файл .rules, поэтому я думаю, что проблема не в этом.
Помимо этого, мне бы очень хотелось узнать, если что-то не так с этим, чтобы установить USB-связь, поскольку я использовал что-то подобное в прошлом. (и я плохо разбираюсь в python ...)
Я думаю, что это может быть проблема с оборудованием, которую я имел с моей малиной. Как только я получу еще один, я могу ответить, что вы на 100% уверены ... во всяком случае, то, что вы предлагаете, кажется решением, Как сказано перед СПАСИБО для информации !! – iluvatar
Да, это было так. Хорошо работать с последним Raspbian, но не с моим старым. Еще раз спасибо!! – iluvatar