[python] UHF RFID čtečka
"Ing. Vladislav Ludík"
vlada na ludik.cz
Neděle Květen 17 14:21:29 CEST 2015
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" <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
>
>
>
>
> _______________________________________________
> 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/d7e67604/attachment.html>
Další informace o konferenci Python