首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NFC卡模拟是否有内存限制?

NFC卡模拟是否有内存限制?
EN

Stack Overflow用户
提问于 2020-12-16 23:41:00
回答 1查看 134关注 0票数 0

我想通过NFC把信息从Arduino发到手机上。

为此,我有一个PN532模块。我想要发送信息的方式是使用模块来模拟NFC标签,并从电话中读取消息。我不想使用真正的NFC卡的原因是内存的限制。它们中的大多数都有接近800字节的内存,而内存更大的内存比较昂贵。如果我模拟一个带有PN532模块的卡,我还会有一些内存限制吗?

我在文档中找到了这一点:

PN532-HCE

我看到的重要的是APDU字节的限制。我不是一个真正的NFC专家,我不知道这是否会影响我在模拟卡内存中。

我想要的信息是纯文本形式的JSON。我认为NDEF消息支持这一点,因此iPhones应该能够读取它。JSON可能有多达2500个字符或字节,并且每天会更改很多次,因此重写物理卡的部分也是一个问题。

EN

回答 1

Stack Overflow用户

发布于 2020-12-17 02:36:06

我的理解是,ISO 14443-4是一种传输协议https://webstore.iec.ch/preview/info_isoiec14443-4%7Bed4.0%7Den.pdf,因此在一个命令中可以发送/接收的数量是有限制的。这并不限制您使用多个命令来发送和接收以模拟更多的内存。

因此,实际上应该发生的情况是,设备将通过iso 14443-4向仿真卡发出ISO7816-4命令。

设备在读取时应该遵守设备所说的它应该支持的最大收发长度(在你的例子中,对于简短的APDU命令,应该是256字节),因此它应该读取多个256字节的块来读取整个文件(内存)

请参阅ISO7816-4 read binary命令https://cardwerk.com/smart-card-standard-iso7816-4-section-6-basic-interindustry-commands/#chap6_1它具有偏移量和长度参数

因此,对于较大的数据,基本上您在Arduino上的HCE响应代码应该从PN532传递一个"read binary of 0 to 255 bytes“命令,您将使用JSON数据的前256个字节进行响应。

然后,设备将发出第二个“256到512字节的读取二进制”,依此类推,直到您想要返回的所有数据都已返回。

因此,它读取的仿真文件(内存)是可以由该设备支持的短APDU (256k)传输的最大大小的块。

请注意,我没有做任何编码与这只是有标准的知识。

注意,你可以得到高达32K存储空间的卡,是的,它们的成本更高,但4K字节的Desfire卡的价格仅为888字节内存的Ntag216的150%左右。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65326494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档