问题标签 [pn532]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arduino - 尝试在 Arduino 上使用 Seeed-Studio PN532 库的 NFC Shield
我为我的 Arduino 控制器购买了这个 NFC Shield。
https://www.seeedstudio.com/NFC-Shield-V2-0.html?utm_source=blog&utm_medium=blog
我按照 GitHub https://github.com/Seeed-Studio/PN532的指示下载并安装了这个库
但是当我包含库时出现错误:代码:
包括“PN532_SPI.h”
错误消息:ResolveLibrary(PN532/PN532/PN532Interface.h) 在 D:\OneDrive\Ardruino\NFC Reader\Seeed\Example Code\2020-05-14\2020-05-14.ino:1:0 中包含的文件中: -> 候选人:[]
C:\Program Files (x86)\Arduino\libraries\PN532_SPI/PN532_SPI.h:6:10:致命错误:PN532/PN532/PN532Interface.h:没有这样的文件或目录
包括“PN532/PN532/PN532Interface.h”
编译终止。
可能是什么问题呢?请帮忙?
command - 了解 InDataExchange 命令的工作原理
我试图了解 InDataExchange 命令的实际工作方式。我正在使用 pn532 组件(我将此命令从微控制器发送到 PN532)。当我使用 InDataExchange 命令时,它似乎可以工作,因为从 PN532 返回到我的微控制器的状态字节是 0x00,这意味着交换工作。但实际上我没有在数据字段中发送任何内容,因为我不明白我们必须在这个命令的有效负载中插入什么(InDataExchange)。我正在尝试从 PN532 组件读取写入标签中的数据,但我只是不知道怎么说“读取标签中包含的数据”。我听说过 C-APDU 命令,它是 ISO/IEC 14443-4 协议的一部分,但我真的不明白它的实际工作原理。
android - PN532 + UART 直接连接到 Android 手机,无需 Arduino Uno 或 Raspbery Pi
我正在尝试使用 PN532 for nfc 来读取/写入 Mifare 标签。我想通过 otg 将 Pn532 连接到 Android 手机。并从我想通过 PN532 控制的 Android 应用程序。所以我想知道如何在不使用 Uno 或 pi 微控制器板的情况下将 Android 与该板进行通信/集成。
python - 使用 Python 在两个 PN532 之间进行 NFC 点对点
我正在尝试使用两个 PN532 v3 芯片设置 P2P 网络。它们通过 I2C 连接到各自的 Raspberry Pi 4B。我只需要能够检测、发送和接收它们之间的数据。
大多数库要么不支持 I2C 或 P2P。有些人有安卓的 P2P,但这不是我想要的。
有没有人有任何可能对实现这一目标有用的文档/库?
nfc - PN532 - 标签仿真问题 - Java/Raspberry Pi
我已经使用 SPI 成功地将 PN532 连接到 RPi。沟通工作。我可以使用IN_LIST_PASSIVE_TARGET
. 命令喜欢GET_FIRMWARE_VERSION
或SAM_CONFIGURATION
按预期工作。
现在,我正在尝试模拟NDEF 标记类型 4。我创建了一条带有文本记录的 NDEF 消息,文本为“ABCD”。NDEF 没问题,因为我已经使用 nfc-tools -> 进行了验证nfc-emulate-forum-tag4
。
我正在尝试通过 iOS 应用程序读取此模拟标签。
使用nfc-emulate-forum-tag4
时,它按预期工作。iOS 应用程序从仿真标签中读取“ABCD”消息。
但是,当我尝试使用我的实现(Java/Pi4J)时,什么也没有发生。iOS 无法读取仿真标签,也无法收到任何错误。它一直显示标准的 NFC 对话框。
我的实现与 PN532 交换的字节nfc-emulate-forum-tag4
与. 然而,我错过了一些东西。
请注意,nfc-emulate-forum-tag4
输出并未显示 TG_INIT_AS_TARGET 是如何指定的。一旦发起者识别,它只显示数据交换。
我用于实现的参考库: https ://github.com/elechouse/PN532
NDEF 文件内容:
nfc-emulate-forum-tag4
清单(作品):
==================================================== ==============
我的实现清单(不起作用):
任何帮助表示赞赏(尤其是我非常绝望)。谢谢!
arduino - PN532 模拟卡不能被 iPhone 读取,但可以在 Android 上读取
我使用emulate_tag_ndef.ino
arduino 中的示例将 PN532 用作仿真器。我根据另一篇文章(Android 手机未读取的 PN532 仿真卡)更新了仿真库以使其工作,但它仅适用于 Android。使用 iPhone,如果成功,我最多只能发送 47 个字节。以下是我设置 PN532_COMMAND_TGINITASTARGET 命令的方法:
有谁知道如何让 iPhone 写入 PN532?我正在使用 NFC 工具应用程序对其进行写入。我尝试过其他应用程序,但没有任何运气
android - PN532 NFC - 从 inDataExchange 调用返回超过 256 个字节到 Android HCE
阅读下面的最后一段,似乎有一种方法可以通过将大块数据分解成小块来发送大块数据以响应 NFC 发出 inDataExchange 调用:
3.3.7.4 大量数据的传输
链式机制
- 从发起者到目标:发起者通过InDataExchange功能发送大量数据,252字节的数据包。发起者必须根据需要多次发送 InDataExchange 命令以传输全部数据量。目标必须根据需要多次执行 TgGetData 和 TgSetData 函数,以检索发起方发送的所有数据包。
元链机制
- 从启动器到目标:在 InDataExchange 第一个参数中称为 MI(更多信息)的一个位向目标指示接收的数据是否是大块的一部分。在这种情况下,目标可以直接继续与 TgGetData 交换(不需要 TgSetData)。
- 从目标到发起者:目标可以使用TgSetMetaData函数向发起者提供大量数据。发起方已发送 InDataExchange 函数。对发起者的响应是通过 TgSetMetaData 函数而不是 TgSetData 函数发送的。在这种情况下,一位向发起者指示在目标端仍有一些数据可用。发起者应继续使用 InDataExchange 功能(没有数据从发起者发送到目标)。最后一包数据将通过 TgSetData 函数传输。有关详细说明,请参阅 PN532 用户手册(参考 1)。
当我在我的 Android HCE 中对 APDU 调用进行“正常”响应时,它看起来像这样:
查看 532.h 文件中的“命令常量”:
看来我通常在 Android HCE 中将 TGRESPONSETOINITIATOR 命令 0x9000 作为 SELECT_OK_SW 执行。例如,要发送 1k 字节,我会将其分成 256 字节(或更小)的块,并使用 TGSETMETADATA 命令字节 0x9400 发送,除了最后一个块,它将使用 TGSETDATA 命令字节 0x8E00?有没有人这样做过?