问题标签 [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 回答
669 浏览

arduino - 导入 PN532Interface.h 时出现“没有此类文件错误”

我正在尝试使用 SPI 通信使 NFC 屏蔽工作。我确实按照 Seeed Wiki-NFC Shield Setup中的说明完全按照说明进行操作。

这是我尝试过的代码:

这是我得到的错误。

0 投票
0 回答
318 浏览

python - 在卡仿真模式下配置 ACR122U - MacOS Catalina

我最近从这里购买了 ACR122U 。我正在尝试将其置于卡仿真模式以使其与在启动器模式下运行 PN7150 的系统进行通信。

我已经设法与设备的 PN532 IC(用户手册)进行通信;发送基本命令,例如获取状态、固件版本等...

不过,我无法将其置于卡模拟模式。下面是我用来尝试执行此操作的超级简单的 python 脚本:

这会导致错误:

我假设这意味着没有收到响应,我认为这不是驱动程序问题,因为其他命令工作正常。

任何见解将不胜感激。

0 投票
1 回答
139 浏览

arduino - 尝试在 Arduino 上使用 Seeed-Studio PN532 库的 NFC Shield

我为我的 Arduino 控制器购买了这个 NFC Shield。

https://www.reichelt.de/arduino-shield-nfc-v2-pn532-ard-shd-nfc-v2-p191287.html?PROVID=2788&gclid=Cj0KCQjwnv71BRCOARISAIkxW9HRIoBqh_ij1c8Kgh8S5l-aCqeCL1c67U8G7BV0&rx=EALw_w_Dc

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”

编译终止。

可能是什么问题呢?请帮忙?

0 投票
2 回答
258 浏览

command - 了解 InDataExchange 命令的工作原理

我试图了解 InDataExchange 命令的实际工作方式。我正在使用 pn532 组件(我将此命令从微控制器发送到 PN532)。当我使用 InDataExchange 命令时,它似乎可以工作,因为从 PN532 返回到我的微控制器的状态字节是 0x00,这意味着交换工作。但实际上我没有在数据字段中发送任何内容,因为我不明白我们必须在这个命令的有效负载中插入什么(InDataExchange)。我正在尝试从 PN532 组件读取写入标签中的数据,但我只是不知道怎么说“读取标签中包含的数据”。我听说过 C-APDU 命令,它是 ISO/IEC 14443-4 协议的一部分,但我真的不明白它的实际工作原理。

0 投票
1 回答
588 浏览

nfc - 从 PN532 NFC 获取电话号码

我正在使用连接到 PN532 NFC 的树莓派从 Android 手机打印出以下信息。

在此处输入图像描述

我想知道是否有任何方法也可以使用 NFC 获取电话号码?我的印象是 NFC 不允许在没有第三方工具的情况下出现此类信息,但我想确定仅使用 PN532 是否不可能?谢谢

0 投票
0 回答
102 浏览

android - PN532 + UART 直接连接到 Android 手机,无需 Arduino Uno 或 Raspbery Pi

我正在尝试使用 PN532 for nfc 来读取/写入 Mifare 标签。我想通过 otg 将 Pn532 连接到 Android 手机。并从我想通过 PN532 控制的 Android 应用程序。所以我想知道如何在不使用 Uno 或 pi 微控制器板的情况下将 Android 与该板进行通信/集成。

0 投票
0 回答
109 浏览

python - 使用 Python 在两个 PN532 之间进行 NFC 点对点

我正在尝试使用两个 PN532 v3 芯片设置 P2P 网络。它们通过 I2C 连接到各自的 Raspberry Pi 4B。我只需要能够检测、发送和接收它们之间的数据。

大多数库要么不支持 I2C 或 P2P。有些人有安卓的 P2P,但这不是我想要的。

有没有人有任何可能对实现这一目标有用的文档/库?

0 投票
1 回答
146 浏览

nfc - PN532 - 标签仿真问题 - Java/Raspberry Pi

我已经使用 SPI 成功地将 PN532 连接到 RPi。沟通工作。我可以使用IN_LIST_PASSIVE_TARGET. 命令喜欢GET_FIRMWARE_VERSIONSAM_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清单(作品):

==================================================== ==============

我的实现清单(不起作用):

任何帮助表示赞赏(尤其是我非常绝望)。谢谢!

0 投票
0 回答
220 浏览

arduino - PN532 模拟卡不能被 iPhone 读取,但可以在 Android 上读取

我使用emulate_tag_ndef.inoarduino 中的示例将 PN532 用作仿真器。我根据另一篇文章(Android 手机未读取的 PN532 仿真卡)更新了仿真库以使其工作,但它仅适用于 Android。使用 iPhone,如果成功,我最多只能发送 47 个字节。以下是我设置 PN532_COMMAND_TGINITASTARGET 命令的方法:

有谁知道如何让 iPhone 写入 PN532?我正在使用 NFC 工具应用程序对其进行写入。我尝试过其他应用程序,但没有任何运气

0 投票
0 回答
163 浏览

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?有没有人这样做过?