本帖最后由 ITEAD创易工作室 于 2014-6-11 09:37 编辑
RDM8800是继RDM6300后ITEAD STUDIO推出的又一款RFID模块。RFID英文全称Radio Frequency Identification,又称电子标签。
现在市面上比较常见的电子标签一般使用的是125KHz的EM4100卡和13.56MHz的ISO 14443 Type A卡片。
通过RDM6300读卡器模块可以直接读取125KHz的EM4100 RFID卡,并将卡号信息通过串口直接输出,外接一个单片机可以非常方便地使用串口来接收到读到的RFID卡信息。
而RDM8800则是用来读取13.56MHz的ISO 14443 Type A卡片,同样是直接将卡号数据通过串口输出。
RDM8800 13.56MHz RFID模块↑
RDM6300 125KHz RFID模块↑
使用这两款读卡器来读取RFID卡信息非常方便,模块都配套了相关的天线,将天线连接到模块上,然后将模块的输出串口引脚连接到单片机的串口上,并供上5V电源,这时只要将RFID卡靠近天线,模块串口就会输出读取到的卡号等信息。
为了更方便使用,RDM8800的天线除了使用标准的屏蔽同轴线连接外,还可以通过天线上预留的2.54mm插针孔,通过杜邦线连接到模块的天线引脚上。
RDM6300是一个非开放的读卡器模块,所以只能用来作为125K EM4100卡片的读卡器模块。但是RDM8800是基于Arduino来设计的,是一个开源方案,所以它并非只能作为一个简单的13.56M RFID卡读卡器,还能作为一个NFC模块,跟有NFC功能的手机进行数据交换 - 当然,这需要新的固件支持,RDM8800出厂时已烧好的固件只支持ISO 14443 Type A读卡功能。
例如使用转串板FOCA直接串口读取IC卡号:
RDM8800的串口会直接输出10位十进制ACSII码的卡号,后面接一个换行符“0x0D 0x0A”。输出格式:卡号为46553491,则输出数据为“0046553491”,(HEX:“0x30 0x30 0x34 0x36 0x35 0x35 0x33 0x34 0x39 0x31 0x0D 0x0A”。
正如上面提到的,RDM8800不仅仅是一个读卡器模块,你可以将它视为一个Arduino + PN532 的NFC开放平台。通过Arduino上的PN532支持库,可以快速的开发出各种NFC功能。RDM8800默认的13.56M RFID读卡器固件,就是在这个库里的一个DEMO基础上修改而来的。通过更新不同的固件,可以让RDM8800支持更多的卡片类型 如ISO 14443 Type B,或者发挥除了读卡器外的其他功能,如与手机做数据交互。
开放性的好处是使RDM8800可以更灵活的适应你的需求,还是以作为一个13.56M的RFID读卡器为例,通过一点点的小修改,你可以让模块将卡号通过各种不同方式输出:十进制或者字符串;你可以修改为当有卡片靠近能读到卡就一直输出卡号,还是每次卡片靠近后只输出一次卡号信息;可以修改串口输出的波特率来满足你的需要;甚至将输出接口模拟为IIC接口而非UART。
为此我们还提供现成的ROM给大家烧写固件,包括以下例程:
具体烧写固件步骤操作如下:
第一步:硬件连接:
RDM8800上的UART串口,除了是数据输出口外,也可以作为更新固件的输入接口。如果要为RDM8800更新固件,首先需要一个USB转串口的工具,以Foca为例,将TX RX GND 5V和 RST(作为DTR)如图连接到RDM8800的对应引脚上。 第二步:安装IDE芯片补丁包:
因为RDM8800使用的是LGT8F88A而非ATMega328等标准Arduino采用的芯片,所以我们还需要在为标准的Arduino IDE打上一个补丁(https://github.com/iteadsw/Iteaduino-Lite-HSP/)。现在补丁可支持1.0x版本和1.5x版本。将补丁包解压到你的arduino IDE安装目录下,覆盖原来文件即可(此方法对arduino初学者而言)。
第三步:烧写固件:
之后打开IDE,就可以在board选项内看到Iteaduino Lite选项。
将Foca通过USB连接到电脑,可以在IDE的菜单栏里选择对应的port口和正确的board类型(Iteaduino Lite)。接着打开对应的固件程序,按下upload按钮,随着Foca上的数据指示led闪烁,固件就会被下载到RDM8800中,重新启动模块后就会按新固件来运行了。
|