微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 RFID 数据从 iPhone 传递到 RC522

如何解决将 RFID 数据从 iPhone 传递到 RC522

我目前有一个 Mifare RC522 module,可用于成功读取/写入标签和卡片,但无法成功读取我通过 NFC 手机应用写入的数据。只需关闭 RC522 模块即可让 RC522 模块读取 iPhone 上的数据,只会显示 Apple Pay 菜单。有什么我做错了吗?数据是否需要以某种方式编码,或者该模块是否无用而我可能需要像 PN532 这样的东西?我基本上只想要一个可以读取我从 iPhone/Android 设备广播的 NFC 数据的模块

解决方法

在 NFC 通信中,有 2 个部分,一个发起者(作为阅读器的更通用术语)和一个目标(标签/卡的更通用术语)以及无源和有源设备。

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

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

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

因此,像 NTAG 21x 标签这样的普通 NFC 标签是被动目标。

像 iPhone/Android 这样的硬件级别的设备,既可以作为发起方设备,也可以作为目标设备,可以为被动设备供电。

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

iPhone/Android 等设备作为目标设备(标签/卡)时,这称为主机卡模拟或 HCE(它们在软件中模拟卡硬件)。

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

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

在 Android 上,普通开发者可以使用 Host Card Emulation。

所以基本上你尝试的东西在 RC522 阅读器和 iPhone 上是不可能的。

所以是的,使用 PN532 是可能的,因为该芯片提供芯片上的卡模拟模式或直通模式,其中主机卡在连接的微控制器上进行模拟。这是因为对于普通开发者来说,iPhone 只能是阅读器(发起者)设备。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?