史麗娟 盧慶生 錢(qián)聲強(qiáng) 李 晴
(常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 江蘇常州 213164)
校園里,自習(xí)室是學(xué)生學(xué)習(xí)的地方,為了自習(xí)室資源得到合理利用,方便管理,減少自習(xí)室占座情況的出現(xiàn),本文以RFID(無(wú)線(xiàn)射頻識(shí)別)技術(shù)為基礎(chǔ),在校園卡的基礎(chǔ)上開(kāi)發(fā)新功能,利用校園卡的唯一性,設(shè)計(jì)了自習(xí)室管理系統(tǒng),幫助學(xué)生能夠快捷合理地使用自習(xí)室[1-3]。
RFID是21世紀(jì)逐漸興起的非接觸式的識(shí)別技術(shù),主要使用空間電磁耦合的方式,達(dá)到非接觸的數(shù)據(jù)傳遞,從而達(dá)到物品識(shí)別的目的[4]。
當(dāng)某個(gè)物品貼有用微小的無(wú)線(xiàn)收發(fā)裝置作為特殊標(biāo)簽時(shí),當(dāng)這個(gè)物品在進(jìn)入讀寫(xiě)器的磁場(chǎng)范圍后,物品上貼有的標(biāo)簽就可以從讀寫(xiě)器接收到特殊的射頻信號(hào),標(biāo)簽可以借助電磁感應(yīng)效應(yīng)獲得一定的能量,能量可以發(fā)送標(biāo)簽上所攜帶的,關(guān)于這個(gè)物品的具體信息,或者標(biāo)簽可以發(fā)送數(shù)據(jù)信息,無(wú)論哪種方式,讀寫(xiě)器都可以收集數(shù)據(jù)信息,從而可以將數(shù)據(jù)信息傳遞給計(jì)算機(jī)或者網(wǎng)絡(luò)[5]。
自習(xí)室管理硬件系統(tǒng)可分為RFID感應(yīng)模塊和單片機(jī)控制模塊兩部分。RFID感應(yīng)模塊的作用在于可以和校園卡建立起無(wú)線(xiàn)通信鏈路,對(duì)校園卡進(jìn)行指令操作,而單片機(jī)控制模塊的作用主要是對(duì)RFID感應(yīng)模塊發(fā)送控制指令,控制RFID感應(yīng)模塊進(jìn)行讀寫(xiě)等操作,同時(shí)將校園卡內(nèi)數(shù)據(jù)信息經(jīng)過(guò)串口上傳到上位機(jī),其原理圖如圖1所示[6]。
圖1 系統(tǒng)原理圖
讀寫(xiě)器主要由兩個(gè)部分組成:控制模塊、射頻模塊[7]。在自習(xí)室管理系統(tǒng)中,對(duì)于控制模塊的運(yùn)行速度沒(méi)有過(guò)多要求,本文采用STC89系列單片機(jī)STC89C52芯片作為控制芯片,STC89C52芯片是一款8位微控制器,內(nèi)部集成8K字節(jié)的Flash存儲(chǔ)器。STC89C52的主要特點(diǎn)為采用系統(tǒng)可編程的Flash存儲(chǔ)器技術(shù),其軟硬件兼容MCS-51,可擦寫(xiě),多次下載編程,使得開(kāi)發(fā)設(shè)計(jì)變得比較容易。
基于MFRC522芯片的RFID感應(yīng)模塊主要由MF RC522芯片、外圍連接電路及天線(xiàn)組成。RFID感應(yīng)模塊的原理圖如圖2所示。
下位機(jī)程序設(shè)計(jì)的目的主要是為了使單片機(jī)控制模塊能夠控制RFID感應(yīng)模塊讀取校園卡中的用戶(hù)信息,并且能夠?qū)⑦@些用戶(hù)信息傳遞給上位機(jī)使用。
圖2 RFID感應(yīng)模塊的原理圖
下位機(jī)程序主要是使用Keil編程環(huán)境,采用C語(yǔ)言的編程語(yǔ)言編寫(xiě)整個(gè)下位機(jī)的程序,并通過(guò)串口調(diào)試助手測(cè)試整個(gè)程序的運(yùn)行情況。
下位機(jī)主要任務(wù)是:初始化、尋卡、驗(yàn)證卡信息、讀取卡號(hào)信息,發(fā)送卡號(hào)信息。
下位機(jī)程序設(shè)計(jì)主要是為了可以成功地從校園卡中讀取唯一的卡序列號(hào),即卡號(hào)。每張校園卡卡號(hào)是唯一的,正是自習(xí)室管理系統(tǒng)中所需要的一種身份憑證,在管理系統(tǒng)中,正是憑借著這種唯一性,可以讓每個(gè)學(xué)生只能在規(guī)定的時(shí)間和地點(diǎn)預(yù)訂自己專(zhuān)屬的自習(xí)座位,這樣就可以讓自習(xí)室管理過(guò)程中減少“占座”現(xiàn)象,減少自習(xí)室座位資源的浪費(fèi)。
使用C語(yǔ)言編程下位機(jī)程序,主程序代碼如下:
main()
{
uchar status;
unsigned long int display_data=0;
WDT_Disable;
UART_Init(); //初始化串口
EA =1; //單片機(jī)中斷允許
PcdReset(); //初始化射頻芯片
PcdAntennaOff();
PcdAntennaOn();
Delay_ms(100);
time0_init();
while(1)
{
status = PcdRequest(PICC_REQALL, g_ucTempbuf1); if (status == MI_OK)
status = PcdAnticoll(g_ucTempbuf1);
if (status == MI_OK)
status = PcdSelect(g_ucTempbuf1);
if (status == MI_OK)
status = PcdAuthState(PICC_AUTHENT1A, 1,
DefaultKey, g_ucTempbuf1); if (status==MI_OK)
{
Sent_Byte(g_ucTempbuf1[0]);
Sent_Byte(g_ucTempbuf1[1]);
Sent_Byte(g_ucTempbuf1[2]);
Sent_Byte(g_ucTempbuf1[3]);
}
}
}
上位機(jī)程序設(shè)計(jì)主要使用了LabVIEW編程軟件,此編程軟件圖形化編程方法的易用性以及用戶(hù)操作界面的快速設(shè)計(jì),大大簡(jiǎn)化了上位機(jī)的編寫(xiě)難度,能夠很快地設(shè)計(jì)良好的人機(jī)交互界面。LabVIEW軟件分為前面板和程序框圖兩部分,前面板用來(lái)設(shè)計(jì)操作界面,程序框圖用于具體程序設(shè)計(jì)[8]。
自習(xí)室管理系統(tǒng)的上位機(jī),在程序設(shè)計(jì)上分成四個(gè)部分:主界面、個(gè)人管理、座位預(yù)訂以及管理員系統(tǒng)。上位機(jī)程序流程圖如圖3所示。
在程序設(shè)計(jì)中,用戶(hù)無(wú)論是進(jìn)入“個(gè)人管理”,還是進(jìn)入“座位預(yù)訂”,系統(tǒng)都必須依賴(lài)校園卡中的卡號(hào)才能進(jìn)行操作,所以需要在LabVIEW中設(shè)計(jì)一個(gè)卡號(hào)讀取的子程序,讀卡程序如圖4所示。
通過(guò)串口配置和串口讀取兩個(gè)函數(shù)進(jìn)行程序設(shè)計(jì)可以讀取校園卡中的卡號(hào),并且將這個(gè)程序保存為子VI,方便在“個(gè)人管理”和“座位預(yù)訂”的程序設(shè)計(jì)中隨時(shí)調(diào)用。
主界面的前面板設(shè)計(jì)如圖5所示。“主界面”主要是提供用戶(hù)自主選擇的界面,用戶(hù)可以自由選擇進(jìn)入“個(gè)人管理”,還是進(jìn)入“座位預(yù)訂”。同時(shí)對(duì)于退出系統(tǒng)的設(shè)計(jì),需要登錄后才能退出的操作,防止非管理人員誤操作,將系統(tǒng)關(guān)閉,引起不必要的麻煩,同時(shí)提供了只有管理員才能進(jìn)入的管理員系統(tǒng)入口按鈕。主界面的程序設(shè)計(jì)大致可以分為三個(gè)部分:登入子界面程序、新表自動(dòng)創(chuàng)建程序和退出程序。
圖3 自習(xí)室管理系統(tǒng)上位機(jī)流程圖
圖4 讀取卡號(hào)的程序框圖
圖5 主界面的前面板設(shè)計(jì)
“個(gè)人管理”主要是為了讓用戶(hù)可以查看自己的座位預(yù)訂情況,同時(shí)可以讓用戶(hù)自己修改“個(gè)人管理”的登錄密碼以及提供給用戶(hù)自主查詢(xún)同伴的功能,它的程序設(shè)計(jì)主要可以分為以下5個(gè)部分:用戶(hù)登錄程序、用戶(hù)注冊(cè)程序、個(gè)人信息顯示程序、用戶(hù)密碼修改程序和自助查詢(xún)同伴程序。用戶(hù)登錄程序的前面板如圖6所示:
用戶(hù)登錄信息存放的數(shù)據(jù)庫(kù),如圖7所示:
圖6 用戶(hù)登錄程序的前面板圖
圖7 用戶(hù)登錄信息存放的數(shù)據(jù)庫(kù)
個(gè)人信息顯示程序的前面板設(shè)計(jì)如圖8所示,個(gè)人信息顯示程序的程序如圖9所示:
圖8 個(gè)人信息顯示程序的前面板設(shè)計(jì)
圖9 個(gè)人信息顯示程序的程序框圖
自助查詢(xún)同伴程序的前面板設(shè)計(jì)如圖10所示。
座位預(yù)訂程序主要是為了讓用戶(hù)可以自由地選擇自習(xí)地點(diǎn)以及自習(xí)時(shí)間,同時(shí)會(huì)實(shí)時(shí)顯示當(dāng)前的自習(xí)室座位的剩余情況,卡號(hào)是通過(guò)刷卡自動(dòng)顯示的。座位預(yù)訂程序的程序框圖分為兩部分:座位預(yù)訂和自習(xí)室座位使用情況顯示。座位預(yù)訂程序的前面板設(shè)計(jì)如圖11所示。
圖10 自助查詢(xún)同伴程序的前面板設(shè)計(jì)
圖11 座位預(yù)訂程序的前面板設(shè)計(jì)
管理員系統(tǒng)主要是為了管理員所準(zhǔn)備的,系統(tǒng)需要管理員的賬號(hào)和密碼才能登錄,如果不需要登錄可以單擊返回按鈕回到主界面。管理員系統(tǒng)主要有兩個(gè)功能:一是數(shù)據(jù)統(tǒng)計(jì),二是用戶(hù)刪除。管理員系統(tǒng)的管理登錄界面如圖12所示:
圖12 數(shù)據(jù)統(tǒng)計(jì)程序的界面設(shè)計(jì)
用戶(hù)刪除主要是可以讓管理員查詢(xún)特定用戶(hù)的數(shù)據(jù),并且可以選擇是否將這個(gè)用戶(hù)的用戶(hù)數(shù)據(jù)從數(shù)據(jù)庫(kù)中刪除。因?yàn)檫@個(gè)操作是不可逆的,所以會(huì)在刪除的時(shí)候彈窗提醒管理員是否確定刪除該用戶(hù),防止誤操作。
本文介紹了基于一種基于RFID的自習(xí)室管理系統(tǒng)。系統(tǒng)通過(guò)RFID技術(shù)讀取校園卡內(nèi)的用戶(hù)信息,利用LabVIEW軟件設(shè)計(jì)上位機(jī)系統(tǒng),通過(guò)Access實(shí)現(xiàn)用戶(hù)信息管理。自習(xí)室管理系統(tǒng)實(shí)現(xiàn)了用戶(hù)個(gè)人信息管理、統(tǒng)計(jì)座位使用情況、預(yù)訂座位、查詢(xún)同伴、密碼修改等功能,同時(shí)也方便管理員對(duì)自習(xí)室的信息管理。
常州信息職業(yè)技術(shù)學(xué)院學(xué)報(bào)2018年6期