【问题标题】:How to find NXP type of NFC Tag in flutter nfc_manager如何在flutter nfc_manager中找到NXP类型的NFC标签
【发布时间】:2022-01-20 10:02:25
【问题描述】:

我正在使用 Flutter nfc_manager 来读取、写入和保护操作。

现在我需要找到类型。比如我需要知道扫描到的tag是NTAG213还是NTAG216。

使用 nfc_manager 进行检查的任何可能性。

【问题讨论】:

    标签: flutter nfc


    【解决方案1】:

    没有标准方法可以准确识别 NFC 标签,有一些方法可用于帮助推断您正在处理的标签,但其中一些是特定于家庭的方法,用于识别标签系列的哪个成员是。

    由于这些方法是较低级别的访问类型,如何在 iOS 和 Android 上使用它们是不同的。

    在底层,不同的标签技术有不同的方法来获取标签的更多细节。

    在 Flutter 方面,您可以使用 from 方法至少缩小您正在使用的标签技术。如果标签类型不正确,from 方法将返回 null

    例如,如果它是NfcA 标签硬件(就像 NTAX21x 标签一样),不同的 NFC 标签系列通常会给出不同的低级别 ATQASAK 响应(此数据实际上用于计算一些标签技术,但不是全部,例如 Mifare 等)。这个 ATQASAK 响应在 Android 和 iOS 中以不同的方式提供

    然后从标签的 UID 开始,第一个字节应该是制造商标识符,因此对于 NXP,所有 UID 都应该以 04h 开头

    然后有一些特定于标签系列的东西,例如对于 NTAX21x 系列,您可以 transceivesendMiFareCommand "GET_VERSION" 60h 命令获取产品信息并按照 @987654321 对其进行解码@

    但是知道确切的标签类型有什么用吗?,您只是想知道可以在上面存储多少数据吗?

    除了使用 NTAX21x "GET_VERSION" 命令之外,还有更通用的方法是使用 NDEF size 方法来获取有关此标签可以存储多少数据的更有用的信息。此 NDEF 大小应适用于符合 NFC 论坛标签标准之一的任何标签,例如在 NTAX21x 情况下键入 2。

    (此外,任何类型 2 标记的大小都存储在功能容器中的页面 03h 中,以字节 02 为单位,您可以将 transceivesendMiFareCommand READ 03h 命令发送到任何类型 2 标记以获取此数据)

    【讨论】:

      【解决方案2】:

      NXP 提供了一个名为 TapLinx 的库,它提供了简单的 API 来与 NXP 制造的标签进行交互。如果您不想了解详细信息,可以使用它。

      【讨论】:

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