如何通过使用 Python2.7 将卡刷到读卡器上来捕获 RFID 卡的 UID?

Posted

技术标签:

【中文标题】如何通过使用 Python2.7 将卡刷到读卡器上来捕获 RFID 卡的 UID?【英文标题】:How to Capture the RFID Card's UID by just flashing the Card over the reader using Python2.7? 【发布时间】:2012-06-08 12:07:52 【问题描述】:

我有一个 RFID 项目,并且希望系统检测读卡器上的卡,因为它在读取范围内并捕获 UID 并继续该过程。到目前为止,我已经放置了一个名为 ScanCard 的按钮,其中放置了读卡功能,它将返回卡片的 UID。我只使用两种类型的 ATR。想要摆脱扫描卡按钮并想要自动化扫描功能。我在 Windows 7 上使用 Python 2.7 和 HID Omnikey 读卡器

atr = "3B 8F 80 01 80 4F 0C A0 00 00 03 06 0A 00 18 00 00 00 00 7A"

cardtype = ATRCardType( toBytes( "%s" %(atr) ))

cardrequest = CardRequest( timeout=1, cardType=cardtype )

cardservice = cardrequest.waitforcard()

cardservice.connection.connect()

SELECT = [0xFF, 0xCA, 0x00, 0x00, 0x00]

apdu = SELECT

print 'sending ' + toHexString(apdu)

response, sw1, sw2 = cardservice.connection.transmit( apdu )

print 'response: ', response, ' status words: ', "%x %x" % (sw1, sw2)

tagid = toHexString(response).replace(' ','')

print "tagid ",tagid

id = tagid

print" UID is",id

上面的代码是我现在正在关注的。我需要无限等待卡,什么是最佳方法?

【问题讨论】:

你试过什么?我已经发布了一个答案,但这实际上只是一个快速的 Google 搜索。 【参考方案1】:

也许可以试试official pyscard documentation,比如我已经链接到的监控部分。

【讨论】:

嗨,pyscard 是否支持 omneykey 5421 非接触式读卡器? hidglobal.com/products/readers/omnikey/5421谢谢 CCID 设备符合 PCSC 标准,所以如果它不支持该阅读器,我会感到非常惊讶。 1386 isoprox card II 的 ADPU 是多少?我在网上的任何地方都找不到它。非常感谢 @Pototo 无,这似乎不是支持 APDU 的卡。 APDU 已为智能卡(带有 CPU)定义,尽管一些存储卡也有 APDU 层。感应卡:不太可能。

以上是关于如何通过使用 Python2.7 将卡刷到读卡器上来捕获 RFID 卡的 UID?的主要内容,如果未能解决你的问题,请参考以下文章

小米note 3从miui12稳定版刷到开发版亲测可用的教程

如何通过 WMI 获取系统上的所有智能卡读卡器?

cuid卡如何第二次复制

如何通过读卡器使用Java激活/开启ICC卡?

如果插入智能卡,则 WPF 捕获事件

Python·Win10通过Anaconda安装python和Jupyter(python2.7为例)