我正在使用颤振nfc_manager来读取、写入和保护操作。
现在我要找到那个类型的。例如,我需要知道扫描的标记是NTAG213或NTAG216。
是否有可能使用nfc_manager进行检查。
发布于 2022-01-20 12:54:53
没有准确识别NFC标记的标准方法,有些方法可以用来帮助推断您正在处理的标记,但其中一些方法是特定于家族的方法,用于识别标记家族中的哪个成员。
由于这些方法是较低级别的访问类型,所以如何在iOS和安卓上使用它们是不同的。
在较低的层次上,不同的标记技术有不同的方法来获取更多关于标签的细节。
从颤振方面来说,您至少可以使用from
方法来缩小您正在使用的标记技术。如果标记类型不正确,此from
方法将返回null
。
然后,例如,如果它是一个NfcA
标记硬件(如NTAX21x标记),不同的NFC标记家族通常会给出不同的低级别ATQA
和SAK
响应(这些数据实际上用于处理一些标记技术,但不是所有的标记技术,等等)。这种ATQA
和SAK
响应可以在Android和iOS中以不同的方式获得。
然后,从标签的UID中,第一个字节应该是制造商标识符,所以对于NXP,所有UID都应该以04h
开头
然后是特定于一系列标记的东西,例如,对于NTAX21x系列,您可以使用transceive
或sendMiFareCommand
"GET_VERSION“60h
命令来获取产品信息并按照数据表对其进行解码。
,但是知道确切的标签类型有什么用吗?,你只是想知道你能在上面存储多少数据吗?
因此,除了使用NTAX21x "GET_VERSION“命令外,还有一种更通用的方法可以使用NDEF size
方法来获取这个标记可以存储多少数据的更有用的信息。这个NDEF大小应该适用于任何符合NFC论坛标签标准之一的标记,例如在NTAX21x情况下的类型2。
(此外,任何类型2标记的大小都存储在页03h
的容量容器中,以字节02
表示,您可以对任何类型2标记进行transceive
或sendMiFareCommand
读取03h
命令以获取这些数据)
发布于 2022-02-15 05:07:21
NXP提供了一个名为TapLinx的库,它提供简单的API来与NXP制造的标记进行交互。如果你不想谈细节的话,你可以用它。
https://stackoverflow.com/questions/70784205
复制相似问题