[python] UHF RFID čtečka

Dex dex na symboliq.net
Neděle Květen 17 10:32:09 CEST 2015


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" <vlada na ludik.cz 
>>>>>> <mailto:vlada na 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 na py.cz <mailto:python na py.cz>
>>>>>>     http://www.py.cz/mailman/listinfo/python
>>>>>>
>>>>>>     Visit: http://www.py.cz
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Python mailing list
>>>>>> python na py.cz
>>>>>> http://www.py.cz/mailman/listinfo/python
>>>>>>
>>>>>> Visit:http://www.py.cz
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Python mailing list
>>>>> python na py.cz
>>>>> http://www.py.cz/mailman/listinfo/python
>>>>>
>>>>> Visit:http://www.py.cz
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Python mailing list
>>>> python na py.cz
>>>> http://www.py.cz/mailman/listinfo/python
>>>>
>>>> Visit:http://www.py.cz
>>>
>>>
>>>
>>> _______________________________________________
>>> Python mailing list
>>> python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>> Visit:http://www.py.cz
>>
>>
>>
>> _______________________________________________
>> Python mailing list
>> python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit:http://www.py.cz
>
>
>
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20150517/4fc8d553/attachment.html>


Další informace o konferenci Python