将 RFID 数据从 iPhone 传递到 RC522

Passing RFID data from iPhone to a RC522

我目前有一个 Mifare RC522 module 可以用来成功 read/write 标签和卡片,但是我无法成功地让它读取我通过 NFC 写入的数据 phone 应用程序。简单地尝试让 RC522 模块通过将其关闭来读取 iPhone 上的数据只会调出 Apple Pay 菜单。我做错了什么吗?数据是否需要以某种方式编码,或者该模块是否毫无用处,我可能需要 PN532 之类的东西?我基本上只想要一个可以读取我从 iPhone/Android 设备

广播的 NFC 数据的模块

在 NFC 通信中有 2 个部分,一个启动器(更通用的术语为 reader)和一个目标(更通用的术语为 Tag/Card)以及被动和主动设备。

发起方开始通信,目标方响应。

有源设备有电源,无源设备不提供自己的电源。

无源设备不能是发起者的,因为它们需要电源来启动通信并且可能需要为目标设备供电。

所以像 NTAG 21x 标签这样的普通 NFC 标签是被动目标。

像iPhone/Android这样的硬件级别的设备,可以作为启动器和目标设备,并可以为无源设备供电。

RC522模块只是一个启动器设备,可以为无源设备供电。

像iPhone/Android这样的设备当它们充当目标设备时(Tag/Card)这被称为主机卡仿真或HCE(它们在软件中模拟卡硬件)。

因此,由于 RC522 只是一个启动器 (reader),其他设备必须是目标。

不幸的是,在 iOS 中,只有 Apple 被允许为 Apple Pay 进行主机卡模拟(成为目标),他们假装是非接触式银行卡到仅发起者的非接触式银行终端。
这就是 Apple Pay 出现的原因,因为这是它可以响应发起者的唯一方式。

在 Android 上,普通开发人员可以使用主机卡仿真。

所以基本上你正在尝试的 RC522 reader 和 iPhones 是不可能的。

所以是的,PN532 是可能的,因为该芯片提供芯片上的卡仿真模式或通过模式,主机卡在连接的微控制器上进行仿真。这是因为iPhone对于普通开发者来说只能是reader(启动器)设备。