Dobrý den,

víte co je zajímavé ?
Přes stejný program serial v Pythonu, kterým čtu z Alienu se tato čtečka normálně připojí.
Viz odpověď po inicializaci spojení:
Serial<id=0x2aeedd0, open=True>(port='COM7', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=0L, rtscts=0L, dsrdtr=False)

Přdtím jsem ji v demo progamu správně nastavil.
Přiložením tagu nepískne, čtení skončí TimeOut. Data žádná nepošle.

Pokud dám zápis nějakého textu, vrátí počet bytů textu.

Pokud byste mi poradil jak z čtečky dostat ID tagu, tak mám hotovo. Dál už to umím.

Děkuji a hezký den
Vláďa

Dne 17.5.2015 v 10:32 Dex napsal(a):
Rychle jsem to prošel (nemám čas to pitvat detailně). Čtečka komunikuje přes COM, takže pyserial bude správná cesta.

Dokumentace není nic moc, ale jsou tam příklady v C++, tak je můžete zkusit "překlopit" do Pythona. Nenašel jsem tam popsané jak komunikovat na "binární" úrovni bez ohledu na jazyk. To mne u zařízení tohoto druhu překvapuje a prostě bych napsal výrobci.

Btw u takto drahé čtečky nepoužít FTDI je minimálně zvláštní...

Dex


On 17.5.2015 10:19, "Ing. Vladislav Ludík" wrote:
Celá dokumentace je na adrese:
http://www.security-warehouse.com/index.php/rfid-860-925-mhz-equipment/rfid-uhf-860-960-mhz-iso-18000-6b-6c-desktop-reader-writrer-ultra-thin-usb-with-sdk.html

unzip heslo je securitywarehouse

Mám ještě jednu čtečku Alien ALR-8800 a ta po zapnutí opravdu po přiložení čipu odešle ID tagu přes COM port

Tato malá ruční čtečka ne.
Potřebuje inicializaci a v demo od výrobce funguje.
Já programuju web aplikace v Cherrypy a potřebuju ji nějak připojit.
Nevím zazím jak.

Dne 17.5.2015 v 9:50 Dex napsal(a):
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



_______________________________________________
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

Odpovedet emailem