Zdravím,
nechci Vás svést na špatnou cestu, ale netváří se ta čtečka jako COM
port? Poznámka o CP2102 by o tom svědčila. Pak bych ovšem doporučil
pyserial místo pyusb ;-)
Jen nápad...
Dex
On 17.5.2015 8:30, "Ing. Vladislav Ludík" wrote:
libusb0 jsem jsem měl nahrané, ale asi špatné verze.
Teď jsem našel správnou verzi, libusb0 se nahrálo korektně.
Čtečka pak zmizela ve správci zařízení z Portů (byl tam nějaký COM)
a objevil se samostatný symbol pro usb jako libusb-32 devices s podsložkou
CP2102 USB to UART Bridge Controller
Když nyní dám usb.core.show_devices()
vrátí mi:
DEVICE ID 10c4:ea60 on Bus 000 Address 001, Specified at interface
Takže idVendor=0x10C48 měl být 0x10C4
Po opravě se vše rozjelo. Zdá se, že jsem na dobré cestě.
Děkuji za pomoc.
Vláďa
Dne 17.5.2015 v 2:43 Petr Messner napsal(a):
Njn, když chceš hackovat, tak na to musíš mít křídla :)
Z chyby 'generator' object has no attribute 'set_configuration' je
zřejmé, že to usb.core.find vrací iterátor. No a proč to vrací
iterátor? Protože deklarace té funkce
<https://github.com/walac/pyusb/blob/a83f17e568bf893bed53fa984f00c1e168348cb9/usb/core.py#L1127>
je
deffind(find_all=False, backend=None, custom_match=None, **args):
a když to voláš bez keyword argumentů, tak se jako find_all nastaví
to 0x10C48, což se interpretuje podobně jako find_all=True.
Takže o krok zpět k ValueError: No backend available. Podívej se do
zdrojáku, co to dělá. Prochází to moduly
usb.backend.libusb1, usb.backend.libusb0 a usb.backend.openusb a volá
to jejich funkci get_backend(), která se snaží danou DLL (nebo .so)
knihovnu načíst (protože usb.backend.* jsou jen ctypes wrappery
"céčkových" knihoven). Takže problém je v tom, že žádnou z těch
knihoven buď nemáš k dispozici, nebo ji pyusb nemůže najít.
PM
Dne 16. května 2015 16:28 "Ing. Vladislav Ludík" <vl...@ludik.cz
<mailto:vl...@ludik.cz>> napsal(a):
Ještě chyby:
dev = usb.core.find(idVendor=0x10C48, idProduct=0xEA60)
hlásí chybu:
dev = usb.core.find(idVendor=0x10C48, idProduct=0xEA60)
File "build\bdist.win32\egg\usb\core.py", line 1199, in find
raise ValueError('No backend available')
ValueError: No backend available
Když jsem změnil řádek na:
dev = usb.core.find(0x10C48, 0xEA60)
program projde dále, ale hlásí chybu:
dev.set_configuration()
AttributeError: 'generator' object has no attribute
'set_configuration'
Co s tím dále, nevím.
Díky Vláďa
_______________________________________________
Python mailing list
python@py.cz <mailto:python@py.cz>
http://www.py.cz/mailman/listinfo/python
Visit: http://www.py.cz
_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python
Visit:http://www.py.cz
_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python
Visit: http://www.py.cz
_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python
Visit: http://www.py.cz