【问题标题】:libnfc: Write and read back custom data from NTAGlibnfc:从 NTAG 写和读回自定义数据
【发布时间】:2016-02-27 21:05:17
【问题描述】:

我很长一段时间以来一直在尝试从我的 NFC 卡写入和读取数据。这些卡是 NTAG216。我可以使用 libnfc 示例来读取制造商 ID,它工作正常。但我需要向每个标签写入一些自定义数据,例如字符串“abcdefg”并读回。

我已经阅读了我能找到的关于 libnfc 的几乎所有相关内容,但所有这些都没有谈到这个特定领域。我将不胜感激任何指导。代码示例将不胜感激。

我使用带有libnfc 1.7.1 from Github 的 ACRU122 NFC 读写器。

【问题讨论】:

  • 感谢您编辑问题

标签: c++ nfc mifare acr122 lib-nfc


【解决方案1】:

枚举并激活标签后,您可以使用nfc_initiator_transceive_bytes() 方法向标签发送原始 NTAG 命令(例如 READ/WRITE)。由于 NTAG216 的命令集兼容 MIFARE Ultralight 命令集(包括 COMPATIBILITY WRITE 命令),您还可以使用 utils/mifare.h 中定义的 MIFARE 标签的便捷方法:

  • nfc_initiator_mifare_cmd(pnd, MC_WRITE, page, &mp)
  • nfc_initiator_mifare_cmd(pnd, MC_READ, page, &mp)

有关完整代码示例,请参阅 nfc-mfultralight 实用程序:nfc-mfultralight.c

但是,您可能希望修改该代码以使用更高效的 MIFARE Ultralight/NTAG WRITE (0xA2) 命令,而不是 COMPATIBILITY WRITE(MC_WRITE 使用该命令)。

【讨论】:

  • 感谢迈克。不管你写什么我都会去,然后回来。在事情上,这些命令是否允许重写,或者一旦你写了一切都变成只读的?
  • @StefanoMtangoo 这取决于你写信的地方。 NTAG216 有一个一次性可编程页面(第 3 页)和可重写数据页面(只要您不为这些页面设置锁定位)。
  • 这应该通过使用符合 ISO/IEC 14443 A 的 MIFARE 超轻卡来工作?
猜你喜欢
  • 1970-01-01
  • 2013-08-11
  • 2015-06-08
  • 2015-06-02
  • 2015-07-13
  • 2012-09-01
  • 1970-01-01
  • 2015-11-30
  • 1970-01-01
相关资源
最近更新 更多