问题标签 [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.

0 投票
1 回答
172 浏览

arduino - NFC 卡仿真有内存限制吗?

我想通过 NFC 从 Arduino 向手机发送信息。

为此,我有一个 PN532 模块。我想发送信息的方式是使用模块来模拟 NFC 标签并从手机读取消息。我不想使用真正的 NFC 卡的原因是由于内存限制。它们中的大多数具有近 800 字节的内存,而具有更多内存的则价格昂贵。如果我用 PN532 模块模拟卡,我还会有一些内存限制吗?

我在文档中创建了这个:

PN532-HCE

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

我想要的信息是纯文本的 JSON。我认为 NDEF 消息支持这一点,因此 iPhone 可以读取它。JSON 最多可以包含 2500 个字符或字节,并且每天会更改很多次,因此物理卡的重写部分也是一个问题。

0 投票
0 回答
187 浏览

arduino - 使用 PN532 Arduino 将 URL 和密码保护写入 NFC (Ntag213) 标签

我知道怎么写,但是有没有办法在里面写密码保护URLNTag213 NFC Tag使用手机的NFC工具,我们可以设置密码并写入NFC标签,但我想使用设置密码PN532,可以吗?

0 投票
1 回答
275 浏览

nfc - NXP PN532 能否以 38400 波特率在 UART 上工作?

我正在尝试将使用 NXP PN532 的 RFID1356MIFARE 与使用其 UART 功能的ESP32 - EVB集成。

NXP 文档指出 PN532 能够在高速 UART 上进行通信。

我正在尝试使用 38400,因为这是我正在使用的阅读器固定的波特率。

我发现了一个修改后的 Adafruit PN532 库,它添加了 HSU 支持。该库指出HSU uses 115200 baud rate.

现在,我已经修改PN532_HSU.cpp了,我们可以在其中找到:

进入

不幸的是,我无法使用这种方法在阅读器和 ESP 之间建立通信。

我可以使用 normal 获得可读输出Serial.read(),因此 UART 通信有效,但这不是您阅读 MIFARE 卡的方式。

我不知道问题是什么。

你怎么看 ?

0 投票
1 回答
143 浏览

rfid - 是什么让 RFID 向卡授予“访问权限”?

我有兴趣将RFID1356MIFAREESP32-EVB集成,并将其用作 UART 上的读卡器。基本上读取 UID,将命令写入 UART 串​​行并根据读取器输出的内容授予或不授予访问权限。最初我尝试使用这个库:https ://github.com/elechouse/PN532但我发现 RFID1356MIFARE 固件与它不兼容。

我想了解 RFID 阅读器如何授予对卡的访问权限,例如打开一扇门。感谢这个线程:Mifare 1K authentication keys我开始了解这两个身份验证密钥是如何工作的。

我仍然没有得到的是:

  • 谁设置身份验证密钥?
  • 这些钥匙对每张卡来说都是独一无二的吗?
  • 这些密钥是否存储在阅读器中?
  • 我可以从卡上读取密钥吗?如果是,如何?
  • 这些钥匙是授予访问权限的钥匙吗?比如说,与阅读器相连的门?如果没有,是什么让卡可以访问?
  • 这些密钥是唯一的身份验证形式吗?
  • UID 是否仅用于识别?
  • 如果第一个扇区中的所有信息都可用,为什么会有 16 个扇区?能够为每个扇区设置不同的密钥的目的是什么?

我遇到的最重要的问题是:是什么让读卡器向卡授予“访问权限”?

我在 Mifare Authentication 上找到了这些文档,它们提到了针对特定读者的命令Load Authentication KeysAuthentication我使用的阅读器没有这样的命令。查看这个线程Mifare card security也让我意识到我的读卡器缺少一些命令,或者它们的文档记录非常差。

我还阅读了NXP 的 MIFARE 文档,但其中没有我真正需要的内容。

0 投票
1 回答
430 浏览

android - 使用 PN532 和 ArduinoMega 从 android 手机读取 NFC UID

我正在尝试使用 PN532 从手机(三星 Galaxy S10)读取我的 NFC UID,但我只收到 08 和另外 3 位随机值。我读到以 08 开头的值是 RID(随机 ID)。是否有任何可能的方法来读取唯一值,或使用 PN532 从我的手机 NFC 中读取唯一值?我想使用该值将其与我的代码中的常数进行比较,并向继电器发送一个脉冲以打开一扇门。此代码来自 da Adafruit_PN532 库。

0 投票
0 回答
246 浏览

android - Android 的 Arduino PN532 卡仿真问题

我想将我的 PN532 用作 NFC 标签,其中包含一些我的 Android 手机应用程序可以读取和保存的附加数据。如您所见,不幸的是,android 无法识别仿真标签。我使用示例中的 emulate_tag_ndef。这是我使用的确切示例:

这是我的数组,它位于 emulatetag.cpp 内部

这是我使用带有 NFC 工具或 NXP Tag info 应用程序的 Android 手机读取仿真卡时的串行输出:

如果我改变

https://www.nxp.com/docs/en/nxp/application-notes/AN133910.pdf第 57 页 中的内容然后我的 android 手机没有响应,没有任何反应

Iphone XR 适用于

Iphone XR 也适用于PN532_COMMAND_TGINITASTARGET,0x04,https: //www.nxp.com/docs/en/nxp/application-notes/AN133910.pdf第 57 页中的内容

所以我不知道我应该在这个数组中写什么来让我的 android 读取它的内容。这是默认值:

如果我使用这个数组,我只能将 PN532 检测为标签

然后这是我的串行输出:

如您所见,什么都没有发生...

我还用 Android S8 尝试了整个过程,它的行为类似于 Andoird S20。我希望有人能帮助我。

非常感谢您提前提供的帮助!

0 投票
1 回答
360 浏览

arduino - 从 ESP32 上的 NFC 卡获取 UID

我在使用 ESP32(使用 Arduino IDE)读取 NFC 卡时遇到了一些问题。我正在使用 PN532 模块,效果很好。到目前为止,我的代码如下所示:

这基本上只是 don 的 ndef 库中的示例。我只是得到了 UID 字符串,而不是打印卡的所有详细信息。

它确实工作并显示 UID。但是,我收到一条消息说“标签不是 NDEF 格式”。我真的不在乎。我只想将 UID 打印为串行,然后在 C# windows 应用程序中选择它。我想我可以忽略它,但是有没有办法阻止它出现?

我应该使用更好的库吗?

谢谢

安德鲁

0 投票
1 回答
181 浏览

android - NFC - Android 设备无法读取从 ACR122U (PN532) 模拟的 Type 4 NDEF 标签内容

我正在编写 C# 应用程序以通过ACR122U模拟 NFC 标签,它在内部使用PN532。我希望 Android 读取简单的 URI NDEF 标签。

我能够使用NFC Forum Type 4 Tag 协议与 Android 通信,Android 检测到标签,但无法读取 NDEF 文件 - 使用 NFC Tools 应用程序检查。

通信如下所示:

一些有用的提示:

  • FF-00-00-00 表示发送到NFC设备的伪APDU,如果我们想模拟而不是与实际卡通信,每个APDU都需要以它开头
  • D5-87-00 是 tgGetData 命令输出的前缀,来自 PN532 的每个成功响应都以此开头
  • D4-8E 是 PN532 tgSetData 命令前缀。因此,在仿真模式下从应用程序发送的每个命令应如下所示:FF-00-00-00-(length)-D4-8E-...-90-00
  • 我排除了 tgSetData 和 tgGetData 命令以获得更好的可读性

看来我一定是在沟通的最后一步做错了。NDEF 文件的格式是否正确?

0 投票
0 回答
134 浏览

c++ - 我尝试使用带有 Arduino Nano 的 PN532 板读取 Standard Mifare 卡,但它读取的是我的代码

我使用该代码并更改我想在这一行中读取的数据长度

nfc.PrintHexChar(数据,64);

当我尝试使用 64 字节(我不确定它是字节还是位)或更低时,它似乎很好,但是当我尝试更大的数字时,它也会转储我的代码。

这是我尝试转储 128 字节数据时的日志

0 投票
0 回答
341 浏览

python - 树莓派 4 上的 Waveshare PN532 NFC 帽子

我给自己买了Waveshare PN532 NFC HAT并将它安装到我的 Raspberry Pi 4 Model B 上。

我遵循了有关如何安装硬件和软件的官方指南。
现在我尝试运行给出的一些示例脚本,但出现错误。

运行 example_get_uid.py 脚本工作得非常好。

运行 example_rw_mifare.py 脚本引发了这个错误:

所以看起来给定的 pn532 库中存在错误。
有没有人以前遇到过这个错误并且知道如何解决它?

已经感谢您的回答。


编辑:

example_rw_mifare.py

这是 pn532.py 中的代码部分