RDM8800是一款能讀寫13.56Mhz NFC RFID卡的單片機,串口直接輸出,體積小巧,性能穩(wěn)定。兼容arduino,我們可以像使用arduino一樣修改它的固件來實現(xiàn)我們想要的功能。
今天教小伙伴們使用RDM8800燒寫程序來實現(xiàn)刷NFC卡,把卡號通過短信發(fā)送到手機上。這有什么實際意義嗎?比如上班打卡?一起來大開腦洞吧!
本次教程需要用到的配件有:
首先下載RDM8800的硬件補丁包和庫文件:http://pan.baidu.com/s/1jG63c7k
下載完成后把每個壓縮包都解壓出來,將Iteaduino_Lite文件夾放到你的Arduino IDE安裝目錄下的hardware 文件夾里面,把PN532_SPI文件夾放到你的Arduino IDE安裝目錄下的libraries 文件夾里面。
注意:新的硬件驅動和庫文件需要在IDE下次運行時生效,所以在操作上面這一步的時候請關閉arduino IDE軟件。
接下來,我們需要給RDM8800燒寫固件。按照下面的硬件連接圖來連接FOCA轉串板和RDM8800。注意:FOCA轉串板的開關要打到5V。詳細引腳定義請查閱datasheet和原理圖。
使用USB mini接口的數(shù)據(jù)線將FOCA轉串板連接到電腦上,開始燒寫以下代碼:
#include
#include
#define delaytime 2000
#define timeout1 5000
#define timeout2 7000
char number[20] = "123456789";
byte comm_buf[20];
const int LED = 3;
#define PN532_CS 10
PN532 nfc(PN532_CS);
//#define
unsigned int frame_format;
unsigned char id_buffer[10];
uint32_t old_id;
unsigned long lasttime=0;
unsigned long prev_time=0;
unsigned char r_buffer[30];
void setup(void) {
}
void loop(void) {
}
void hex_to_dec(uint32_t value)
{
}
燒寫的時候選擇“board板子類型:Iteaduino_Lite”,然后選擇相應的串口。
點擊upload,提示燒寫成功,RDM8800的固件就燒好了。
接下來是測試,拔掉電源線和所有杜邦線,按照下面的硬件連接圖來連接FOCA,RDM8800和SIM900模塊。
給SIM900模塊裝上SIM卡(僅支持聯(lián)通/移動sim卡)和天線,把NFC的天線板連接到RDM8800的接口上,然后插上USB線供電。實物如下圖:
上電后,SIM900開機,看到NET LED燈開始閃爍時,等待10s。然后把NFC typeA卡放到RDM8800的天線板上,這時RDM8800會把讀到的卡號發(fā)送到對應的手機上,例如: “card: 0046553491” 。輸出格式為“card: +卡號”。
卡一直放在天線板上只讀一次,只發(fā)一次短信,同一張卡需要隔2秒后才能刷第二次并發(fā)送短信,不同的卡號無需等待。
此處的FOCA僅是用于供電,你也可以使用5V/1A適配器或者電池供電。