2013-03-17 4 views
1

У меня есть малина 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 ...)

ответ

1

Можете ли вы предоставить дополнительную информацию, такую ​​как распределение Linux и номер ядра, например.

uname -a 

Есть known USB issues. Хорошей новостью является то, что recent fix, возможно, разрешил их. В принципе, используйте rpi-update и он должен обновить ядро ​​(вы хотите хотя бы # 389).

+0

Я думаю, что это может быть проблема с оборудованием, которую я имел с моей малиной. Как только я получу еще один, я могу ответить, что вы на 100% уверены ... во всяком случае, то, что вы предлагаете, кажется решением, Как сказано перед СПАСИБО для информации !! – iluvatar

+0

Да, это было так. Хорошо работать с последним Raspbian, но не с моим старым. Еще раз спасибо!! – iluvatar

Смежные вопросы