RPi 如何读取 I2C/SPI PN532 NFCRFID/NFC 模块?
Posted
技术标签:
【中文标题】RPi 如何读取 I2C/SPI PN532 NFCRFID/NFC 模块?【英文标题】:How can RPi read a I2C/SPI PN532 NFCRFID/NFC module? 【发布时间】:2020-04-12 01:09:24 【问题描述】:我有一个 Pi Zero v1.3:
PI - pn532
5v to 5v
gnd to gnd
BCM10 to MOSI
BCM9 to MISO
BCM11 to SCK
BCM5 to SS
我认为问题是 BCM5 到 SS?我认为这应该是 CE0 还是 CE1?
我已经关闭了 SEL0 和 SEL1。唯一的另一件事是,我没有使用“MISO/MOSI/ETC”对应的DI/O 1-6,而是将电线直接插入MISO/MOSI/etc的孔中。
Link 给产品。
【问题讨论】:
但是哪个教程说“bcm5 to ss”? 我必须找到它。它应该连接到另一个吗? 您可能想向我们展示您的模块的照片,类似于这些 NFC 问题中的照片:(1) ***.com/questions/60819793/…, (2) raspberrypi.stackexchange.com/questions/109773/…。干杯。 我在谷歌上搜索了您模块的教程,发现它适用于 I2C。 (3)learn.adafruit.com/adafruit-pn532-rfid-nfc/shield-wiring。实际上你的模块可以做 I2C、SPI 和 UART。我在上面的参考 1 中的回答是针对 I2C 模式下的 PN532,我成功地按照 libnfc 教程设置 mdules OK。如果你喜欢做 SPI,我可以在 SPI 模式下显示它。顺便说一句,你的 mdoules 中的教程是针对 Arduino 的,你需要找到 Rpi 的其他 NFC 教程,例如 PN532 的 libnfc 或 simpleMFRC522 等。 嘿,谢谢你!我检查了那个很好的spi。这是我在论坛上发布的内容。我查了一下,将 arduino 连接与屏蔽相匹配,我已经重新连接了 nfc pn532。我今晚会发布一张新照片,但它仍然无法正常工作:(forums.adafruit.com/viewtopic.php?f=60&t=164398 【参考方案1】:回答
A 部分 - PN532 NFC 测试设置
B 部分 - libnfc 1.7.1 SPI 模式测试正常
/ 继续,...
参考文献
(1)Problem with detecting badge with PN532 and Rpi - Asked 2020mar23, Viewed 74 times
(2)How can Rpi python read a MFRC522/PN532 NFC/RFID MIFARE smart card/tag? - Asked 2020mar28 Viewed 271 times
(3)PN532 NFC Controller Datasheet Rev 3.6 — 2017nov28 NXP
(4)PN532 UM0701-02 80C51 Firmware User Manual Rev 02 - NXP 2007
(5)PN532 NFC RFID Module - Comoponents101 2018oct06
(6)Raspberry Pi Interface with PN532 NFC Module, with python demo program - Wilfrid Laurier University 2019
(7)Youtube Interfacing Raspberry Pi to PN532 NFC Module - Terry Sturtevant, Wilfrid Laurier University, 10,490 views 2017may04
(8)PN532 NFC HAT for Raspberry Pi, I2C/SPI/UART - WaveShare USD$14
(9)PN532 NFC HAT for Raspberry Pi, I2C/SPI/UART - Wiki WaveShare
(10)PN532 UM0701-02 User Manual - NXP
(11)NTAG213/215/216 Datasheet - NXP
(12)MIFARE Classic 1K Smart Card Datasheet R3.2 2018may23 - NXP
(13)PN532 Demo Code - WaveShare
(14)OsoYoo (with schematic) PN532 NFC RFID module for Raspberry Pi
/ 继续,...
附录
附录 A - 将 AdaFruit 的 Arduino 兼容 PN532 NFC shield 连接到 Rpi 的建议。
PN532 NFC HAT for Rpi Datasheet - WaveShare
PN532 NFC HAT for Rpi Wiki - WaveShare
附录 B - PN532 NFC 模块 I2C/SPI/UART 跳线设置
附录 C - PN532 寄存器映射
附录 D - PN532 示意图
PN532 NFC RFID module for Raspberry Pi
附录 E - PN532 UART Mode Quick testing - WaveShare
通过使用 USB 转 TTL 电缆/适配器而不是 Raspberry Pi 将模块连接到 PC 来快速测试模块
-
硬件连接
PN532 NFC HAT USB 转 TTL 模块
3V3 3.3V
GND GND
TX RX
RX TX
通过跳线将 L0 设置为 L,将 L1 设置为 L
通过USB线将USB转TTL模块连接到PC
打开串口助手软件,设置一下
波特率:115200 数据位:8 停止位:1 奇偶校验:无 流控:无
勾选“HEX发送”和“HEX显示”
选择正确的串口并打开
下面发送数据唤醒FN532模块:
55 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 03 FD D4 14 01 17 00
(请参考PN532用户手册HSU唤醒条件章节)
PN532模块的响应应该是:
00 00 FF 00 FF 00 00 00 FF 02 FE D5 15 16 00
发送下方数据扫描Mifare Classic卡(提供的蓝卡,以下简称“卡”)
00 00 FF 04 FC D4 4A 01 00 E1 00
关闭卡到模块线圈部分,模块扫描并响应:
00 00 FF 0C F4 D5 4B 01 01 00 04 08 04 XXXXXXXXXX 00
响应数据中的 XXXXXXXXXX 是卡的 ID(3 个字节)和校验和(1 个字节)。
(请参考PN532用户手册InListPassiveTarget章节)
def wakeup():
# Send command to wake up PN532
uart.write(b'\x55\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') # wake up!
return
/ 继续,...
回答结束
【讨论】:
嘿,所以我切换回尝试 i2c。我会使用你所有的信息。你真是太棒了。花时间只是为了帮助我。谢谢你。您的设置令人难以置信!我想问你一些商业问题?你能给我发电子邮件吗? denis@harpangell.com 但我对商业一点也不感兴趣。也许你可以试试 ***:***.com/jobs/remote-developer-jobs。干杯。以上是关于RPi 如何读取 I2C/SPI PN532 NFCRFID/NFC 模块?的主要内容,如果未能解决你的问题,请参考以下文章
使用 PN532 读取电子护照,继续获取 SW1 SW2 = 0x69 0x88(不正确的安全消息传递数据对象)
PN532 V3 + Arduino UNO + libnfc 错误(错误:无法打开 NFC 设备:pn532_uart:/dev/ttyUSB0:115200)