Android 和 Adafruit PN532 之间的 P2p NFC 通信

P2p NFC communication between Android and Adafruit PN532

我正在寻找一种在 Android phone(我们称之为 A)和 PN532+ 微控制器(让称他们为 B)。

我所说的 p2p 是指以下场景:

1. A 发送一些特定于应用程序的数据给 B

2. B 接收数据并向 A 发送包含应用程序特定数据的响应。

我看到过类似的问题,但其中大部分可以追溯到 2011 年,并指出 API 尚不支持此类功能。看最新的 API 还是只能看到 B 被当做TAG的解决方案

我是不是遗漏了什么,或者我正在寻找的沟通方式仍然不受支持?

当您想专门使用 NFC 点对点模式时,相同的答案在今天仍然有效:Android 仅支持 Android Beam 进行 P2P 通信。因此,一般来说,您只能向一个方向传输一条消息,并且每次要发送数据时都需要点击 Beam UI。但是,如果您的交互恰好是从 Android 到 PN532 的 1 条消息,然后是从 PN532 到 Android 的 1 条消息,并且您可以在从 [=26= 发送时点击 Beam UI ],您可以使用一些技巧首先接收来自 Android 的消息,然后断开连接并重新连接以将响应发送至 Android。

当您开放支持其他模式时,您有一些选择:

  1. 如果Android设备有Android4.4或更高版本并且支持主机卡仿真(HCE):在reader/writer模式下使用PN532并实现HCE Android 端的服务。

  2. 否则,在主机卡仿真模式下使用 PN532,并使用标准 NFC reader/writer API 从 Android 侧访问它(例如 IsoDep / NfcA或 NfcF).