Прошу помощи в чтении карты через pyscard. Пробую по мануалу считать номер. Что делаю не так не могу сказать.
Просьба просто дать код кто с этим уже сталкивался. Знаю что наглость, но время поджимает.
Мой код:
from smartcard.System import readers
from smartcard.util import toHexString
r = readers()
print(r)
connection = r[0].createConnection()
connection.connect()
SELECT = [0xA0, 0xA4, 0x00, 0x02]
DF_TELECOM = [0x7F, 0x10]
data, sw1, sw2 = connection.transmit( SELECT + DF_TELECOM )
print("%x %x" % (sw1, sw2))
Выхлоп:
['ACS ACR1252 Dual Reader PICC 0', 'ACS ACR1252 Dual Reader SAM 0']
Traceback (most recent call last):
File "reader.py", line 11, in <module>
data, sw1, sw2 = connection.transmit( SELECT + DF_TELECOM )
File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\lib\site-packages\
smartcard\CardConnectionDecorator.py", line 82, in transmit
return self.component.transmit(bytes, protocol)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\lib\site-packages\
smartcard\CardConnection.py", line 146, in transmit
data, sw1, sw2 = self.doTransmit(bytes, protocol)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\lib\site-packages\
smartcard\pcsc\PCSCCardConnection.py", line 205, in doTransmit
SCardGetErrorMessage(hresult))
smartcard.Exceptions.CardConnectionException: Failed to transmit with protocol T
1. Idldroc? aaiar/auaiar auer ddldarir cc-cr craldrlic? dinier eieria cec di crd
dino ddceiclic?.
Видно что название ридера получено и следом идёт ошибка.
Говорю сразу, что далёк от протоколов работы смарт карт и считывателей, поэтому и обращаюсь за помощью сюда.
Платформа
Windows 7
Python
v3.6.8 x64