【问题标题】:How to detect manufacturer from NFC tag using Android?如何使用 Android 从 NFC 标签中检测制造商?
【发布时间】:2015-09-22 21:07:13
【问题描述】:

我正在尝试检测 NFC 标签的制造商名称。我找到了制造商代码here。但我只能使用这些 ID 检测到 Mifare Ultralight C 标签。 Ultralight C 标签 ID 的第一个字节代表制造商代码。但其他标签不包含此属性。 This app可以检测IC厂商。是否可以检测其他NFC标签的制造商?

【问题讨论】:

标签: android tags nfc fingerprinting


【解决方案1】:

当然没有万能的方法。 NFC 标签的指纹识别(猜测制造商甚至是确切的标签类型)相当困难,您可能需要获取您想要检测的不同标签类型的各种数据表/用户手册。即使这样,大多数标签也不只是告诉你“我是由 Z 开发的 XY”。在某些应用程序用例中,甚至不希望透露制造商或产品代码(通常出于安全原因)。

然而,对于某些标签类型,完善的机制来获取制造商标识符:

  • NfcA 具有 7 字节 UID(通过 Tag.getId() 获取)的标签对制造商的 ISO 7816-6 注册芯片制造商代码进行编码(参见 list that you already foundnewer listJTC1/SC17 document library) 作为该 UID 的第一个字节。例如。 0x02 用于 STMicroelectronics,0x04 用于 NXP,0x05 用于英飞凌等

  • NfcV 标签有一个 8 字节 UID,其中制造商的 ISO 7816-6 注册芯片制造商代码(与 7 字节 UID NfcA 标签相同)被编码为 UID 的第二个字节(注意NfcV 的不同字节顺序导致该字节是通过Tag.getId() 获得的倒数第二个字节)。

  • NfcF 标签通常有一个来自索尼的射频前端(至少我不知道有任何其他制造商)。不过,该前端可能会集成到其他制造商的产品中。 Sony 提供了一个series of datasheet/user manuals,它为您提供了足够的信息来区分不同的 FeliCa 标签。

  • 一些IsoDep 标签(特别是那些遵循GlobalPlatform 规范的智能卡)可能会通过其卡生产生命周期数据(CPLC)揭示制造商信息。请参阅Nikolay's blog post 和 GP 规范,了解如何从典型的 GP 兼容卡中获取这些信息。请参阅CPLC.java,了解如何解释该信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-30
    • 2016-07-07
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多