繁体   English   中英

Android 4.4.2,PN532 NFC读卡器和NFC卡仿真

[英]Android 4.4.2, PN532 NFC reader and NFC Card emulation

我开发了一个系统,可以使用带有PN532芯片阅读器读取NFC标签。 它工作正常。 我可以阅读Mifare Classic和Mifare Ultralight标签。

现在,我想使用Android 4.4.2的Nexus平板电脑来模拟标签。 我没有Android开发经验,但我认为这是可能的。

我已经在Nexus平板电脑中设置了NFC通信,但我认为我必须下载或编写一些应用程序来模拟标签和NDEF通信。

什么是最简单的方法?

这取决于您拥有的Nexus平板电脑:

  • Nexus 7(第一代/ 2012版):该设备使用恩智浦的PN544 NFC控制器。 似乎目前无法在这些设备上使用Android 4.4+执行基于主机的卡仿真(请参阅此问题我的答案 )。

  • Nexus 7(第二代/ 2013版)和Nexus 10:这些设备使用Broadcom的NFC控制器。 因此,您可以使用Android 4.4的HCE API来模拟非接触式智能卡。

使用Android的HCE API,您将模拟ISO 14443-4智能卡,并且只能使用ISO 7816-4中定义的应用程序选择和APDU格式进行通信。 您首先要创建并注册HCE服务(请参阅API指南 )。 然后,您可以使用服务的processCommandApdu()方法处理传入的APDU(请参阅此答案 )。

如果您的读者端应用程序目前仅处理MIFARE Classic和Ultralight,则必须将其扩展为与基于ISO 14443-4 / APDU的智能卡进行通信。 (在ANdroid的HCE API之上,不能对基于非APDU的卡(如MIFARE Classic和Ultralight)进行仿真。)PN532通常会为您处理大部分内容,因此一旦您发现这样的智能卡(例如使用InListPassiveTarget ),应自动处理ISO 14443-4传输协议,您可以使用InDataExchange命令直接发送APDU命令。

如果您想通过HCE交换NDEF消息,一旦您启动并运行基于APDU的通信,您可以在Android HCE服务中实现NFC论坛的Type 4标签操作规范(从NFC论坛的网站获取 )以模拟类型4 NDEF标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM