如何在 Python 中从 PN532 读取标签?

Posted

技术标签:

【中文标题】如何在 Python 中从 PN532 读取标签?【英文标题】:How to read a tag from PN532 in Python? 【发布时间】:2015-07-19 11:55:36 【问题描述】:

我想尝试与 arduino UNO 连接的PN532。我从来没有接触过类似的东西,事实上,我花了很多次尝试才能在我拥有的另一个 arduino 板上玩 LED。

当我在 Python 中使用标签或卡片时,有人可以提供一个从 pn532 读取数据的具体示例吗?

【问题讨论】:

【参考方案1】:

看看https://github.com/HubCityLabs/py532lib。标准库是用 C 语言编写的,有人为 C 库编写了一个 Python 包装器,您可以使用它。

【讨论】:

嗨,尤金,在发布之前进行搜索时,我确实遇到了这个库。但我看到它没有文档或示例。能否提供一个简单的测试用例,你用过吗?【参考方案2】:

我确实找到了一种可能部分正确的方法。由于 Eugenes 的答案没有提供我们知道可行的明确方法,因此不能将其视为完整答案,因此如果没有其他变化,我很可能会接受这个答案。

首先,由于 PN532 不会持续监控信号并发出数据,因此我们必须以通常的方式对其进行编程,以使其按照我们想要的方式运行。

这可以使用您对任何其他 Arduino 设备进行编程的同一 software 来完成。

确保您从工具菜单中选择了正确的端口。如果您不知道那是哪个端口,请在 Windows 中转到 Start>All Programs>Accessories>System Tools>System Information>Components>Ports>Serial。对于 Linux,去/dev/serial/by-id 应该可以。

那我推荐使用厂商here提供的例子。确保选择正确的连接类型,否则您将看不到来自设备的数据(很可能您需要 I2C)。

一旦完成,并且您的设备每次在其上使用 标签 时都会发出数据(检查配置为 115200 波特率的串行终端),然后您就可以开始使用 python 了。

我再次推荐this 模块从串口读取您的数据。它甚至还附带了一个现成的 wxWidgets 终端示例,用于从 PN532 读取您的数据。如果诅咒你使用另一个 python 库,并且你认为它最好在 cmets 中这么说。

【讨论】:

以上是关于如何在 Python 中从 PN532 读取标签?的主要内容,如果未能解决你的问题,请参考以下文章

从 PN532 NFC 获取电话号码

PN532 串口通讯读取IC卡UID

使用 PN532 读取电子护照,继续获取 SW1 SW2 = 0x69 0x88(不正确的安全消息传递数据对象)

PN532 卡模拟模式

ACR122u卡仿真模式发送PN532指令

发送 APDU 命令以读取被动标签?