.NET MAUI中通过BLE与ACR1255U-J1通信获取NFC卡UID的问题
.NET MAUI与ACR1255U-J1 BLE通信获取NFC卡UID问题
背景
我正在开发一个.NET MAUI应用,通过蓝牙低功耗(BLE)与ACR1255U-J1 NFC阅读器交互,目标是发送APDU命令获取NFC卡的UID。
已成功连接设备并发现相关GATT服务与特征:
Service UUID: 3c4afff0-4783-3de5-a983-d348718ef133 Write Characteristic UUID: 3c4afff1-4783-3de5-a983-d348718ef133 Notify Characteristic UUID: 3c4afff2-4783-3de5-a983-d348718ef133
尝试发送FF CA 00 00 00命令获取UID,但未收到响应。经研究得知,BLE透明交换模式下APDU命令需要按特定格式封装,我使用的命令代码片段如下:
byte[] wrappedUidCommand = new byte[] { 0xFF, 0xC2, 0x00, 0x01, // Transparent Exchange Header 0x07, // Lc: total length of data object 0x95, 0x05, // Tag: Transceive (0x95), Length: 5 0xFF, 0xCA, 0x00, 0x00, 0x00 // APDU: Get UID }; await _writeChar.WriteAsync(wrappedUidCommand);
尽管如此,仍未收到阅读器的响应。
疑问
- 启用ACR1255U-J1的透明交换模式是否需要特定的命令序列?
- 在该模式下发送APDU命令前,是否需要额外的配置或命令?
- 是否可能因BLE通知订阅问题导致无法接收响应?
若有在.NET MAUI中成功与ACR1255U-J1通过BLE通信的指导或示例,将不胜感激。
内容的提问来源于stack exchange,提问作者Nabil Akhlaque
相关产品推荐
相关产品推荐

