当前位置: 首页 > 知识库问答 >
问题:

Android:卡仿真-读取ndef消息与PN532 nfc模块

於炯
2023-03-14

我有一台LG D320nAndroid手机,elechouse的PN532 nfc模块和斯托尔曼的NFCPlayer,我可以用它正确阅读NFC标签。

我在这里测试了一个样本:https://github.com/grundid/host-card-emulation-sample

当我把一台Android设备读作标签,另一台Android设备读作阅读器时,它工作得很好。但我无法通过NFCPlayer读取带有PN532阅读器的Android设备标签。我想让阅读器从Android设备上读取一条NDEF消息,作为标签,但NFCPlayer甚至无法识别Android设备。我想我必须在Android端写一些修改,但我不知道该怎么做。我想我对NFC通信和HCE的工作原理知之甚少,尽管我读到了以下内容:https://developer.android.com/guide/topics/connectivity/nfc/hce.html

我非常感谢任何能帮助我理解我在这里遗漏了什么的指南。

共有1个答案

王棋
2023-03-14

grundid示例应用程序应该由NFCPlayer作为“遗留标签”(选项卡“R/W:legacy”)发现,因为它没有实现NDEF抽象层。在该选项卡上,您可以使用模拟智能卡交换PDU(在HCE的情况下是APDU)。示例应用程序的有效APDU为

00 A4 04 00 07 F0010203040506 00

您可以通过在PDU字段中键入并单击“Exch.PDU”按钮来发送此APDU。请注意,grundid HCE应用程序甚至没有实现ISO/IEC 7816-4响应APDU。因此,您可能会遇到一些非接触式智能卡读卡器的问题。

如果你希望你的模拟智能卡被NFC玩家发现为NFC论坛类型4标签,包含NDEF消息(标签“R/W:NDEF”),您需要实施NFC Forum Type 4标签操作规范(由NFC Forum定义)。该规范定义了数据必须如何存储在(模拟的)ISO/IEC 14443-4智能卡上,以解释为NDEF标签。作为起点,您可以在HCE示例应用程序上使用此NDEF(不过,该代码的质量和可靠性值得怀疑)。本例实现了用于存储NDEF数据的智能卡文件系统。

 类似资料:
  • 我正在使用以下命令从Mifare超轻型标签读取二进制块: 但是现在我想使用ACR1252 NFC阅读器精确地执行存储在Mifare Ultralight标签中的NDEF消息。我必须使用哪个命令来获取完整的 NDEF 消息?NDEF 消息存储在标签中的哪个位置?

  • 我开发了一个系统,可以使用带有PN532芯片的阅读器读取NFC标签。它工作正常。我可以阅读米费尔经典和米费尔超轻标签。 现在我想使用带有Android 4.4.2的Nexus平板电脑来模拟标签。我没有Android开发经验,但我认为这是可能的。 我已经在Nexus平板电脑中设置了NFC通信,但我想我必须下载或编写一些应用程序来模拟Tag和NDEF通信。 最简单的方法是什么?

  • 通过阅读《HCE开发者指南》,这里的《HCE开发者指南》似乎可以将android手机用作阅读器。我把卡片信息放在NFC标签上,然后用手机读。我想让手机充当阅读器。你知道这是否可行吗?我创建了一个示例项目,其中包含以下代码行: 我不知道下一步该去哪里。

  • 我已经开发了2个Android应用程序。第一个,写入NFC标签,第二个读取我写的内容。 因此,对于*第一个应用程序(WriteNFC):我正在向标记中写入一条NDEF消息,该消息涉及两条NDEF记录:第一条记录是“文本”类型,第二条是“URL”类型。 第二个应用程序(ReadNFC):我扫描标签,以便读取NDEF消息,并显示它,但不是完全显示。我只在屏幕上显示第二条记录(URL)。我想做的是,当用

  • 我试图用ACR1252U模拟一个包含NDEF消息的NFC论坛Type 2标签(Mifare Ultralight ),然后用Android设备读取它。 为了存档,我通过以下方式进入Mifare Ultralight的卡仿真模式: Android应用程序“Nfc Tools”现在将其识别为Mi的Ultralight。 然后,我使用以下命令向仿真卡写入NDEF消息: 不幸的是,Android设备(索尼

  • 意法半导体的M24LR64 IC支持ISO 15693协议,在Android NFC中也称为NfcV。当我把我的Nexus S手机(Android4.0.4)放在我的原型标签板附近时,我能听到嘟嘟的一声,并看到一条由logcat发出的消息: 我想知道为什么android发送的是ACTION_TAG_DISCOVERED意图,而不是ACTION_NDEF_DISCOVERED,因为我在ST应用笔记之