我对 NFC 设备读取非常陌生,但我已经设法使用以下代码在我自己的项目中实现NFC-mfultralight.c(libnfc)。
我不明白的是,当我从 MIFARE Ultralight 手环读取数据时,我得到了很多垃圾。
例如,我的标签中有数字255555574558888(我使用Android设备将这个数字写入标签)。
现在当我跑步时:
nfc-mfultralight r /home/user/dump
我明白了
d▒r▒!▒ H▒▒U255555574558888▒-67644-67546-2346
这是来自 libnfc 的示例,所以这个程序不应该只读取正确的数据吗?我正在使用的 Android 应用程序只看到值 255555574558888。值 -67644-67546-2346 是我之前编写的内容的一部分。
我如何知道我需要读取的正确数据?我应该在示例代码中更改什么才能使其正常工作?
我正在使用 ACR122 从标签读取数据。
PS:这是我的第一个涉及 NFC 设备、libnfc 和 MIFARE Ultralight 标签的项目,所以您认为我应该阅读的任何内容请告诉我。
Edit 1
所以我发现了这个问题:使用 NXP 读卡器库读取 NFC Mifare 卡
我认为这对我有一点帮助。我打印了另一个测试字符串的十六进制值并得到了这个
04 64 13 fb
72 f7 21 84
20 48 00 00
e1 11 06 00
03 0a d1 01
06 54 02 65
6e 68 65 79
fe 00 00 79
35 35 38 38
38 38 fe 00
2d 36 37 36
34 34 2d 36
37 35 34 36
2d 32 33 34
36 fe 00 00
00 00 00 00
00
我看到3d
其次是0a
进而d1
,但是之前的所有值是多少3d
?这是因为 libnfc 的原因吗?