Dav*_*vid 9 android bluetooth apdu nfc mifare
我们正在构建一个使用Android读取NFC标签的原型应用程序.但是,由于我们使用的是名为ACR1255U-J1的外置蓝牙读卡器,因此我们不使用嵌入式NFC读卡器和Android SDK.
我们使用的NFC芯片是带有v0.4命令集的Mifare Desfire EV1 8k.我认为这些被称为包装APDU命令,因为我认为EV1 v0.4不支持完整的ISO APDU命令集.
由于我们使用外部蓝牙读卡器(这是业务需求),我们不相信我们能够使用Android NFC SDK,而是需要使用蓝牙读卡器制造商提供的SDK.
无论如何,目前要读取8k的有效载荷,它需要花费超过25秒.我们怀疑,虽然还没有正式验证,但部分原因在于我们通过以下方式读取数据的方式:
每个帧大小最多为59个字节,因此我们理解即使我们要求在一个读取命令中读取更大的有效载荷(例如100k或整个8k),我们仍然只能在一个响应帧中获得59个字节的数据.
这导致我们执行131个单独的读取命令,每个命令然后阻塞并等待数据,然后将每个59字节段拼接在一起以获得有效负载.
由于命令是从Android应用程序,然后到蓝牙读卡器,然后到NFC卡,然后从卡和通过蓝牙读卡器返回到应用程序131次我们想知道这是否是花费的大部分时间.
我们正在尝试找到更好的方法来分析/调试问题.显然,由于使用Android NFC API的板载NFC阅读器能够在几秒钟内读取数据,因此可以更快地读取.
有没有人对我们的问题是什么或我们如何加快这一点有任何建议.
归档时间: |
|
查看次数: |
1302 次 |
最近记录: |