ACS ACR122U 使用 Python NFC 工具库在屏幕上显示标签
Posted
技术标签:
【中文标题】ACS ACR122U 使用 Python NFC 工具库在屏幕上显示标签【英文标题】:ACS ACR122U Tag display on screen using Python NFC tool library 【发布时间】:2021-08-23 18:30:31 【问题描述】:我有一个 NFC 读取器设备 ACS ACR122U,我想使用 NFC NDEF 应用程序从我的 android 手机发送数据我正在使用三个不同的应用程序:TagWriter、NDEF 标签仿真器和 NFC 工具,我写了像我的名字这样的简单文本“NAME”并将其放在阅读器附近以显示它。我运行 python tagtool.py 代码,由 https://nfcpy.readthedocs.io/en/latest/examples/tagtool.html#load
当我运行这段代码时,它看起来像这样:
[nfc.clf] searching for reader on path usb
[nfc.clf] using ACS ACR122U PN532v1.6 at usb:001:040
等待标签似乎工作正常。 然后我把手机放到阅读器上,出现如下错误:
[nfc.tag.tt4] ACS ACR122U on usb:001:040 does not support fsd 256
[nfc.tag.tt4] ACS ACR122U on usb:001:040 does not support fsc 256
有没有人知道为什么会出现错误而不是显示显示不支持数据的文本?
【问题讨论】:
【参考方案1】:这是不可能的。
NFC 有Initiator
和Target
的概念,初始的NFC 通信和通信控制必须是Initiator
到Target
,读卡器硬件是Initiator
和@987654329 @ 是 NFC 标签。
目前,您正尝试使用您正在使用的 2 个 NFC 阅读器应用程序(代码)让 Initiator
与另一个 Initiator
交谈,但这是行不通的。
幸运的是,如果编程正确,很多(但不是全部)NFC 阅读器硬件通常也支持成为Target
。这通常称为主机卡仿真 (HCE),或者也有对等模式。
Android 支持 HCE,但您通常必须编写自己的 Android 应用程序才能做到这一点(我不知道有任何现成的应用程序可以做到这一点,但 GitHub 上有一些示例),Android 具有点对点支持但它在 Android 10 中被删除了
在 Python 方面,https://nfcpy.readthedocs.io/en/latest/examples/beam.html 用于点对点,https://nfcpy.readthedocs.io/en/latest/examples/listen.html 用于 HCE
但是您选择的阅读器对标签仿真或 Python 代码 https://nfcpy.readthedocs.io/en/latest/overview.html#functional-support 的点对点的 NFC 支持较差
ACR122U 可以做很多这样的事情,但有一些限制,只是您需要自己在低级别对其进行编程。
【讨论】:
非常感谢您的回复,您对有能力做到这一点的NFC或任何可以做到这一点的开源应用程序有什么建议吗?以上是关于ACS ACR122U 使用 Python NFC 工具库在屏幕上显示标签的主要内容,如果未能解决你的问题,请参考以下文章
无法验证具有 7 字节 UID ACR122U 的 NFC 标签