将 RFID 标签十六进制值解码为十进制序列号



我有大约 10k+ 台设备,每台设备都有一个印在标签上的可见序列号和一个也可以读取序列号的RFID tag。我的问题是,当我读取RFID标签时,我得到了一堆十六进制值,但我无法从中检索实际的序列号值,因为它不是简单的十进制编码。

以下是我在使用Android App"NFC 工具"扫描RFID tag时获得的一些信息:-标签类型ISO 15693 NXP - ICODE SLIX
-可用技术NfcV, Ndef
-序列号3C:FB:88:14:50:01:04:E0
-DSFID0x00
-数据格式Unknown
-尺寸38 / 106 Bytes
-可写Yes
-可以设为只读
No

我注意到每个RFID tag都包含相同的"标头"50:01:04:E0,因此这意味着应该有一种方法可以从3C:FB:88:14中检索我的序列号。在此特定实例中,序列号为11926214

我已经手动扫描了大约 30 个单位,但我想避免扫描所有 10,000 个单位,因为写下十六进制值和相应的序列号很容易出错。 有没有可能用上面的信息来弄清楚?

芯片数据表的第9.2.1节可能会有所帮助 https://www.nxp.com/docs/en/data-sheet/SL2S2002_SL2S2102.pdf

某些应用程序可能会首先显示此应用程序看起来的最高有效位(即与更正常的方向相反(

这实际上使3C:FB:88:14:50成为IC manufacturer serial number或制造商定义的50:14:88:FB:3C

我已经尝试了各种十六进制到十进制的转换,例如 https://www.rapidtables.com/convert/number/hex-to-decimal.html,并且无法获得任何组合和有效的位方向来转换为设备序列号。

这些芯片还具有用户定义的存储器,应用程序尚未被读取,设备序列号可以存储在此处,与标签的序列号无关。(由于RFID串行由恩智浦在制造时编程,因此不太可能也是设备的序列号(

我建议实际使用恩智浦的应用程序TagInfo,因为这是由芯片制造商提供的,可以向您展示所有原始内存块(它可以在我使用的卡类型上(

但恩智浦似乎最近删除了TagInfo应用程序:-(

更新:似乎您可以从 https://apkpure.com/nfc-taginfo-by-nxp/com.nxp.taginfolite 侧加载APK(具有相关风险(

当然,您可以使用链接的数据表编写自己的应用程序,以读取可能存储设备序列号的用户内存区域。