NFC 4aTag ISO-DEP APDU 和 NDEF

NFC 4aTag ISO-DEP APDU and NDEF

使用 Android phone 我需要从基于微控制器的 NFC 设备读取 NDEF 消息 (URI)。我阅读了几个标准,例如 ISO/IEC 7816-4:2005NFC 数据交换格式 (NDEF) 等。现在我有以下数据交换(发送时省略 crc 字节):

RX: 00 a4 04 00 07 d2 76 00 00 85 01 01 00 35 c0 // android selects file1
TX: 90 00

RX: 00 a4 00 0c 02 e1 03 d2 af //android selects file2
TX: 90 00

RX: 00 b0 00 00 0f 8e a6 
TX: 00 01 02 03 04 05 06 07 08 09 //it is the dummy data

//here android restarts autocollision detection process

也许有人可以向我解释命令的工作流程。我不知道文件 ID 是什么意思 (file1= "d2 76 00 00 85 01 01" and file2= "e1 03")

我在第一个 READ_BINARY 命令处停了下来。我不知道应该发送什么作为回应,也不知道在哪里可以阅读到这方面的信息。我想我需要以某种方式在此处插入 NDEF 有效负载。也在这里 another nfc topic 我发现对第一个BO的响应应该是所谓的“能力容器”,但我不知道它是什么,NDEF规范中也没有说。

我在这里找到了协议的描述 NFC Forum Type 4 Tag IC with 16-Kbit EEPROM

类型 4 卡的 NFC spec 值得一读

"d2 76 00 00 85 01 01" 是用于 NDEF

的 AID(应用程序 ID)

“e1 03”是能力容器文件 ID

从 Type 4 卡读取 NDEF 的摘要是:-

  1. Select NDEF AID
  2. Select 能力容器文件 ID
  3. 读取能力容器文件的 15 个字节
  4. Select NDEF 文件 ID
  5. 读取 NDEF 文件

能力容器文件包含 NDEF 文件的文件 ID、NDEF 版本号、NDEF read/write 安全性、最大 NDEF 大小、最大读取大小等
全部在我给出的 NDEF 规范的 link 中定义。