Je k té čtečce nějaký bližší popis?
Obvod CP2102 je převodník USB <-> COM (podobně jako PL2303 nebo FTDI).
Nejsem expert na RFID čtečky, ale ty dvě co jsem viděl po přiložení
karty odeslaly sadu bajtů odpovídající ID karty. Stačilo je mít správně
nainstalované a používat vhodnou rychlost.
Dex
On 17.5.2015 9:28, "Ing. Vladislav Ludík" wrote:
Původně tam byl COM4, ale serial, nebo i hyperterminal se tvářili jako
otevřené, ale čtečka nereagovala.
Po přeinstalaci ovladačů COM port zmizel.
Tak nevím jak to má být, protože v dokumentaci je nějaké:
Dynamic library file name*: RfidApiLib.dll*
a v příkazech například v popisu**aplikace:*
*
If(OpenCommPort(“COM1”,9600) == 0)
MessageBox("success");
Else
MessageBox("failed");
Ale nyní port nemám !
Přiznám se, že zatím nevím co dál.
Dne 17.5.2015 v 9:11 Dex napsal(a):
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
_______________________________________________
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