NFC Shield 近距无线通信扩展板

来自Duinopeak_COM
跳转至: 导航搜索

产品简介

Pn532-shield.jpg

NFC(全称为近场通信技术,Near Field Communication缩写)被广泛用于手机支付和电子标签这样的应用中,但你是否有想过在Arduino平台上尝试这种技术呢?答案是NFC Shield。

为了让Arduino用户更方便的使用PN532开发,我们将PN532开发板变成一个Arduino的扩展板-一个完美的13.56MHz RFID和NFC应用工具。 NFC扩展板使用市场上最流行的PN532芯片,并且这个芯片非常强大,几乎可以做所有的事情。比如读写NFC卡片和标签,与手机通信(比如手机支付),还可以作为一个NFC标签使用。 目前我们的Arduino驱动已经可以支持读写NFC卡片和标签,卡片模拟(需要一个外部的安全元素,而且只能从NXP获得)或者更高级的应用。


产品特点

  • 输入电压:5V
  • 工作电流:100mA
  • 最大5cm的有效距离
  • I2C、SPI通信接口-默认I2C
  • 支持13.56MHz的无接触通信
  • 支持点对点通信
  • 支持和手机通信
  • 支持卡和标签模拟
  • 支持ISO14443 Type A and Type B协议
  • 标准的Shield外形设计


在Arduino上使用的pin

这个扩展板被设计成使用I2C或者SPI通信。默认使用I2C,因为他占用引脚较少:I2C使用模拟引脚A4和A5(当然你可以连接其他设备的I2C总线)。数字端口2为中断通知。这意味着你不必一直查询是否有卡片被发现,当有卡片,手机等被检测到这个引脚将被拉低。你可以可以指定其他引脚作为中断通知。 更改为SPI通信也很简单,通过短路PCB上的SEL0和SEL1两个焊点跳线,你可以使用任何4个数字端口作为SPI端口。 兼容Arduino-NG,Diecimilla,Duemilanove,UNO-同样也兼容Mega R3或者更新版本。如果是Mega R2或者更早的版本,必须使用跳线链接到I2C端口,因为这些版本I2C端口位置不一样。

应用示例

Demo 1: 向卡中写入数据

首先在这个页面下面的“资源”目录下,下载NFC Shield 近距无线通信扩展板Arduino程序压缩包,然后解压文件,把解压出的5个文件复制,放到Arduino编译器安装目录下的.....\arduino-1.5.6-r2\libraries文件夹中; 打开Arduino 编译器通过路径:File -> Example ->NDEF->WriteTag打开代码。
Code Interfae.jpg

在上面的代码中, 函数 message.addUriRecord("http://arduino.cc") 是用来写信息到卡中的。 你可以替换掉信息 "http://arduino.cc"。 比如, 我们将信息 "do you happy?" ,"hello, world" 写入到卡中。
上传代码后打开串口,按照上面的提示进行操作,你将会成功完成写入数据这关键一步的。
WriteTag.jpg

Demo 2: 读取卡的信息

上一步骤我们学习了如何向卡中写数据,写完之后如果想检测写进的数据是否正确,那就需要使用代码:ReadTag。
通过路径:File -> Example ->NDEF->ReadTag 打开代码。然后上传代码。

ReadTag code.png

下载完成后打开串口,可以看到:
Read a Tag.jpg
为了对串口输出的结果有一个清晰的认识,接下来我们有必要解释下读取到的卡信息。在一条NDEF消息中可以有多条记录的,我们就选择其中一条记录来分析吧。

TNF(001) - TNF 域指示了 TYPE 域值的结构。0x01这个值是NFC论坛已知值,表示 TYPE 域包含一个值在 RTD 类名之后。
Type Length 01 - 01 是类型长度,TYPE_LENGTH 域是一个8位无符号整数,表示了 TYPE 域有几个八位组。对 TNF 域的某些值,TYPE_LENGTH 域总是0
Pay load Length - PAYLOAD_LENGTH 域是一个8位无符号整数,表示了 PAYLOAD 域(应用程序的内容)有几个八位组。PAYLOAD_LENGTH 域的大小由 SR 标志决定。
Type(55) - TYPE 域是什么类型,55是"U"的ASCII码,表明它是 URI 记录类型
Pay Load - 内容00 68 65 6C 6F 2C 77 6F 72 6C 64,其实 就是"hello world"的ASCII码

在我们的NFC Shield 近距无线通信扩展板Arduino程序包中,各个库文件还有许多有趣的演示程序,你可以下载到你的主控板中,进行学习研究,这里就不一一介绍了。


资源


NFC Shield 近距无线通信扩展板原理图PDF: 文件:PN532 Breakout Schematic v1.pdf

NFC Shield 近距无线通信扩展板Arduino程序压缩包: 文件:PN532-Arduino-lib.zip

NFC Shield 近距无线通信扩展板芯片PN532数据手册PDF: 文件:PN532 Datasheet.pdf

NFC Shield 近距无线通信扩展板芯片PN532使用手册: 文件:Shield NFC Shield PN532 User Manual.pdf

如何购买

Duinopeak 官方淘宝商城
NFC Shield 近距无线通信扩展板购买链接

支持

如果你有什么建议或者好的点子, 你可以来我们的DuinoPeak论坛参与讨论.

外部链接

adafruit-pn532-rfid-nfc

视频