王穎 李翀
【摘 要】RFID技術(shù)作為一項(xiàng)先進(jìn)的自動識別和數(shù)據(jù)采集技術(shù),通過無線射頻方式進(jìn)行非接觸雙向數(shù)據(jù)通信,對目標(biāo)加以識別并獲取相關(guān)數(shù)據(jù)。被公認(rèn)為21世紀(jì)十大重要技術(shù)之一。本文以實(shí)驗(yàn)為基礎(chǔ),研究了RFID的識讀過程。
【關(guān)鍵詞】北京大學(xué)生;智慧校園;卡通系統(tǒng)
2008年IBM 公司在全球提出“智慧地球”概念后,美國、歐盟、日本和韓國等相繼推出本國的物聯(lián)、云計算相關(guān)發(fā)展戰(zhàn)略。2009年,溫家寶總理在中科院無錫傳感網(wǎng)工程技術(shù)研發(fā)中心,指示建設(shè)“感知中國”中心,拉開了中國智慧城市建設(shè)的序幕“智慧校園”作為“智慧城市”的重要組成部分,是繼數(shù)字校園后關(guān)于院校信息化建設(shè)的又一全新概念,是由浙江大學(xué)于信息化“十二五”規(guī)劃中首次提出的,并由此引發(fā)了“智慧校園”的建設(shè)潮。近年來,國內(nèi)不少高校對智慧校園進(jìn)入了探索或建設(shè)階段。
基于物聯(lián)網(wǎng)的校園一卡通系統(tǒng)是以學(xué)校校園網(wǎng)為架構(gòu),以射頻標(biāo)簽作為信息載體,利用RFID、標(biāo)簽傳感器、無線通信網(wǎng)絡(luò)等實(shí)時采集物品的各種信息,并將這些采集到的信息通過高速互聯(lián)網(wǎng)或無線網(wǎng)絡(luò)傳輸?shù)綌?shù)據(jù)處理中心,這些信息在數(shù)據(jù)處理中心經(jīng)過計算技術(shù)提供的海量信息處理功能對其進(jìn)行智能化處理之后就可以實(shí)現(xiàn)人與人、物與物、人與物之間的有效溝通。
一卡通系統(tǒng)平臺構(gòu)成包括軟件系統(tǒng)和硬件系統(tǒng),二者共同完成校園一卡通系統(tǒng)平臺整個系統(tǒng)的管理、數(shù)據(jù)處理、傳輸與交換和調(diào)度控制、應(yīng)用支撐操作等功能。整個系統(tǒng)的識別過程需要完成4個步驟:尋卡→防沖突→選卡→讀/寫卡。
1 RFID系統(tǒng)組成
RFID 技術(shù)利用無線射頻方式在閱讀器和射頻卡之間進(jìn)行非接觸雙向數(shù)據(jù)傳輸,以達(dá)到目標(biāo)識別和數(shù)據(jù)交換的目的。最基本的 RFID 系統(tǒng)由三部分組成:
1.標(biāo)簽(Tag,即射頻卡):由耦合元件及芯片組成,標(biāo)簽含有內(nèi)置天線,用于和射頻天線間進(jìn)行通信;
2.閱讀器:讀取(在讀寫卡中還可以寫入)標(biāo)簽信息的設(shè)備;
3.天線:在標(biāo)簽和讀取器間傳遞射頻信號。
2 工作原理
MCU通過對讀卡器芯片內(nèi)寄存器的讀寫來控制讀卡器芯片,讀卡器芯片收到MCU發(fā)來的命令后,按照非接觸式射頻卡協(xié)議格式,通過天線及其匹配電路向附近發(fā)出一組固定頻率的調(diào)制信號(13.56 MHz)進(jìn)行尋卡,若此范圍內(nèi)有卡片存在,卡片內(nèi)部的LC諧振電路(諧振頻率與讀卡器發(fā)送的電磁波頻率相同)在電磁波的激勵下,產(chǎn)生共振,在卡片內(nèi)部電壓泵的作用下不斷為其另一端的電容充電,獲得能量,當(dāng)該電容電壓達(dá)到2 V時,即可作為電源為卡片的其他電路提供工作電壓。當(dāng)有卡片處在讀卡器的有效工作范圍內(nèi)時,MCU向卡片發(fā)出尋卡命令,卡片將回復(fù)卡片類型,建立卡片與讀卡器的第一步聯(lián)系,若同時有多張卡片在天線的工作范圍內(nèi),讀卡器通過啟動防沖撞機(jī)制,根據(jù)卡片序列號來選定一張卡片,被選中的卡片再與讀卡器進(jìn)行密碼校驗(yàn),確保讀卡器對卡片有操作權(quán)限以及卡片的合法性,而未被選中的則仍然處在閑置狀態(tài),等待下一次尋卡命令。密碼驗(yàn)證通過之后,就可以對卡片進(jìn)行讀寫等應(yīng)用操作。
3 實(shí)現(xiàn)步驟
1.從串口打印IC卡的類型和序列號。
2.實(shí)現(xiàn)顯示IC卡的類型,并記錄。
3.實(shí)現(xiàn)以十六進(jìn)制顯示IC卡的序列號,并記錄。
4.測試最大的識別距離。
RC522模塊采用了高達(dá)10 Mb/s的SPI、I2C總線模式——四線制SPI,通信中的時鐘信號由 Arduino 產(chǎn)生,MF RC522芯片設(shè)置為從機(jī)模式,接收來自 Arduino 的數(shù)據(jù)以設(shè)置寄存器,并負(fù)責(zé)射頻接口通信中相關(guān)數(shù)據(jù)的收發(fā)。
數(shù)據(jù)的傳輸路徑為:Arduino 通過 MOSI 線將數(shù)據(jù)發(fā)到 MF RC522,MF RC522 通過 MISO 線發(fā)回至 Arduino。連接電路如圖1所示。
圖1 Arduino與MF RC522的連接電路
4 部分功能代碼
1.尋卡
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // 新建MFRC522端口
void setup() {
Serial.begin(9600); // 初始化和計算機(jī)的連續(xù)交流
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522 card
//Serial.println("Scan a MIFARE Classic PICC to demonstrate Value Blocks.");
}
2.防沖突
void loop() {
//讀卡
// Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory.
MFRC522::MIFARE_Key key;
for (byte i = 0; i < 6; i++) {
key.keyByte[i] = 0xFF;
}
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
// Now a card is selected. The UID and SAK is in mfrc522.uid.
// Dump UID 打印卡號
……
3.讀/寫卡
Serial.println("Read block A(4) : the first of the sector TWO");
byte buffer[18];
byte size = sizeof(buffer);
// change this: valueBlockA , for read anather block
status = mfrc522.MIFARE_Read(valueBlockA, buffer, &size);
Serial.print("Sector : 0 Value :");
Serial.println(buffer[0]);
Serial.print("Sector : 1 Value :");
Serial.println(buffer[1]);
Serial.print("Sector : 2 Value :");
Serial.println(buffer[2]);
Serial.print("Sector : 3 Value :");
Serial.println(buffer[3]);
Serial.print("Sector : 4 Value :");
Serial.println(buffer[4]);
……
4.擴(kuò)展部分
對已經(jīng)讀寫出來的復(fù)旦卡的卡號進(jìn)行反饋,于是繼續(xù)擴(kuò)充電路,在D2端口和D3端口分別連接發(fā)光二極管,防止電壓會燒毀LED燈,在每個LED燈串聯(lián)一個220Ω的電阻,D4端口上連接開源蜂鳴器。
5.結(jié)論
定義一個二維數(shù)組,可以保存十張學(xué)生的一卡通卡號,對已經(jīng)保存起來的卡號運(yùn)行通過,對不記錄在案的卡號運(yùn)行失敗,蜂鳴器報警。實(shí)驗(yàn)結(jié)果如圖2、圖3所示。
圖2 登記過的卡片,成功識別,綠色LED等閃爍一秒后熄滅
圖3 未登記的卡片,認(rèn)定為非法,紅色LED燈閃爍一秒后熄滅,
同時,蜂鳴器產(chǎn)生頻率一定的聲響。
【參考文獻(xiàn)】
[1]譚民,劉禹.RFID技術(shù)系統(tǒng)工程及應(yīng)用指南[M].北京:機(jī)械工業(yè)出版社,2007,4.
[2]陳大才.射頻識別(RFID)技術(shù)[M].2版.北京:電子工業(yè)出版社,2006.
[3]劉騰紅,屈振新,任偉,劉勘.Windows程序設(shè)計技術(shù)[M].北京:清華大學(xué)出版社,2004,10.
[責(zé)任編輯:楊玉潔]