我想发送一个 APDU,这样 ACS ACR122U 读卡器(没有卡)上的默认 LED 状态将是没有 LED 亮起。
文档将表明这样的命令将是FF 00 40 0c 04 00 00 00 00
,将Final LED State
红色和绿色的 保留为 0(关闭)。但是,这只是将灯闪烁然后关闭。
这似乎是因为 APDU 进入卡而不是读卡器。但是,也有控制设备参数的伪 APDU。基本上,我知道它没有记录,但有谁知道这样的参数是否仍然存在?或者一些解决方法?
谢谢,高西。
他们在 ACR122U的API 驱动程序手册中提到了一个转义命令。完成附录中描述的步骤后,我可以使用 SDK 提供的 ACR122U 工具在读卡器上没有卡的情况下禁用蜂鸣器(命令:“FF 00 52 00 00”,直接模式)。
我玩弄了上面手册中描述的 LED 控制命令(从 FF 00 40 开始)。我发送的配置都没有对 LED 行为有任何改变。我尝试将其关闭,启用闪烁并切换绿色和红色 LED 的角色。它总是保持不变。我用读卡器上的卡片发送了命令,但没有卡片。
如上所述,没有这样的“解决方案”,但有一种解决方法。
PICC 操作参数的第 7 位用于启用自动轮询,如果该位设置为 0,则阅读器不会驱动 LED。命令 0x51 允许您更改 PICC 操作参数。当然,读卡器不会轮询禁用第 7 位的卡,但这可以通过 PICC 直接传输命令(0x00 - 参见 ACR API 手册 2.02 中的第 6.1 节)直接与 PN532 芯片通信来克服。
通过直接传输,您可以发出 PN532 命令“InAutoPoll”,这将使芯片进入轮询模式,但不要理会 LED,因为它们是阅读器的一部分,而不是 PN532 芯片的一部分。
然后可以使用 PICC LED 和驱动器命令 (0x40) 将 LED 和蜂鸣器设置为您想要的任何值。
PN532 芯片命令可在此处的 NXP 用户手册中找到。
ACR122 PICC 通信协议将 PN532 命令封装在 CCID 标头中。如果您正在使用 libnfc,则使用 LIBNFC_DEBUG_LEVEL=3 运行您的应用程序,您将能够监控数据交换。
实际上,“完整”的答案是发送“FF 00 52 00 00”来关闭蜂鸣器,发送“FF 00 52 FF 00”来重新打开它。
请参阅http://www.acs.com.hk/download-manual/419/API-ACR122U-2.03.pdf的第 6.7 节