【问题标题】:Android NfcV (ISO 15693) tagAndroid NfcV (ISO 15693) 标签
【发布时间】:2012-10-02 10:00:42
【问题描述】:

是否可以将数据写入内存中 NfcV (ISO 15693) 标签上的特定块?例如。将数据写入块#5 或任何特定的块#。

我是 NFC 技术的新手。我正在创建一个应用程序来读/写 NfcV (ISO 15693) 标签。我已经成功创建了阅读部分,但问题在于写作部分。当我想将一些文本数据写入标签时,它从块# 2 开始,并且每次都执行相同的过程。我搜索了很多,但找不到任何将数据写入特定块的解决方案。

【问题讨论】:

    标签: android nfc iso-15693


    【解决方案1】:

    具体细节取决于标签内的 ISO 15693 兼容芯片。 ISO 15693-3 标准列出了不同的写入命令。对这些的支持都是可选的,因此您的标签可能支持其中的一个或多个,甚至使用专有命令来写入数据。我建议查看芯片的数据表和/或获取 ISO 标准以找出正确的命令。

    一旦您知道正确的命令是什么,您就可以简单地将字节数组中的命令字节传递给NfcV.transceive() 方法。 (通常命令字节由一个标志字节组成,后跟一个写命令字节、一个或多个块字节和要写入的数据字节。)

    【讨论】:

    • 感谢您的回复。我必须使用代码spinet读取数据。 Byte[] data = nfcV.transceive((new byte[] {0, 32, block}));其中0是标志,32是读取命令,块是块号,我想读取数据。这很好,但我的问题是将数据写入特定块#,请给我写入方向,我该怎么做?
    • 如果不知道标签内有哪个芯片,就无法确定。您可能想尝试 ISO 15693 中的“写入块”或“写入多个块”命令。
    • 这是我的 NfcV (ISO 15693) 标签信息。 UID E004010003156650,RF 技术类型 V (ISO/IEC 15693 / Vicinity),标签类型 SL2 ICS2001 (ICODE SLI),制造商 NXP Semiconductors(德国),应用系列标识符 (AFI) 所有系列和子系列,AFI(数字)00 , DSF Id 00, Response flags 00, IC reference 01, Target technology classes (Android) Android.nfc.tech.NfcV, Android.nfc.tech.NdefFormatable
    • 那么标准的“Write Block”命令就是你应该使用的命令,参见the datasheet的第11页。
    • @LastWarrior 0xA2 不是 ISO 15693 写入块命令字节(但是,它是 MIFARE Ultralight 和 NFC Forum Type 2 标签写入命令)。正确的命令字节是 0x21。它需要以“标志”字节开头(该字节的确切值取决于您使用的是例如选择模式还是寻址模式)。
    【解决方案2】:

    尝试了以下方法:获取“标签丢失”异常:

            nfc.connect();
            byte[] arrByt = new byte[7];
            arrByt[0] = 0x40;
            arrByt[1] = 0x21;
            arrByt[2] = 0x06;
            arrByt[3] = 0x00;
            arrByt[4] = 0x00;
            arrByt[5] = 0x00;
            arrByt[6] = 0x00;           
            byte[] response = nfc.transceive(arrByt);
    

    【讨论】:

    • 它使用标志字节 0x01 写入,但也会抛出异常 TagLost
    【解决方案3】:

    我猜安卓框架不能很好地处理来自 ISO15693 标签的响应。我一直在玩 HF-I 标签。很少有命令可以完美运行,而且对于少数其他命令,NFC 堆栈会引发 TAG Lost 异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 1970-01-01
      • 2020-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多