韓學(xué)軍, 張立立, 李 寧
(1.東北大學(xué) 機(jī)械工程與自動化學(xué)院, 遼寧 沈陽 110819; 2.東北大學(xué) 信息科學(xué)與工程學(xué)院, 遼寧 沈陽 110819)
隨著技術(shù)的進(jìn)步,射頻識別(RFID)應(yīng)用領(lǐng)域日益擴(kuò)大,現(xiàn)已應(yīng)用于人們?nèi)粘I畹母鱾€方面,并將成為未來信息社會建設(shè)的一項基礎(chǔ)技術(shù)。埃森哲實驗室首席科學(xué)家弗格森認(rèn)為RFID將是一種突破性的技術(shù)[1]:第一,可以識別單個的非常具體的物體,而不是像條形碼[2]那樣只能識別一類物體;第二,其采用無線電射頻,可以透過外部材料讀取數(shù)據(jù),而條形碼必須靠激光來讀取信息;第三,可以同時識別多個物體,而條形碼只能一個一個地讀取。此外,儲存的信息量也非常大。
RFID相對于傳統(tǒng)的條形碼,具有十分明顯的優(yōu)勢[3],將來必然會代替?zhèn)鹘y(tǒng)的條形碼。同時正在使用的自動識別技術(shù)[4](例如條碼技術(shù))已經(jīng)無法滿足人們更高的要求。目前,射頻識別技術(shù)主要的應(yīng)用領(lǐng)域[5]包括:身份識別和門禁管理;防偽應(yīng)用;商業(yè)供應(yīng)鏈應(yīng)用;公交管理(主要涉及電子車票、不停車收費(fèi)、車輛管理);物流管理;生產(chǎn)線的自動化及過程控制;動物的跟蹤和管理等。據(jù)業(yè)內(nèi)人士預(yù)測,RFID的市場在未來5年內(nèi)能達(dá)到數(shù)千億美元的市場空間。這個數(shù)字或許存在一定水分,但是RFID將有一個巨大的市場卻毫無疑問。
RFID技術(shù)的基本工作原理[6]是利用空間電磁波的耦合或者傳播來進(jìn)行通信,達(dá)到自動識別被識別對象、獲取識別對象相關(guān)信息的目的。典型的工作方法如圖1所示,閱讀器模塊通過天線發(fā)送一定頻率的射頻信號,當(dāng)貼有電子標(biāo)簽的物體進(jìn)入無線識別系統(tǒng)閱讀器的識讀范圍時,其天線將產(chǎn)生感應(yīng)電流,電子標(biāo)簽獲得能量被激活并向閱讀器發(fā)送自身的編碼等信息;閱讀器接收到電子標(biāo)簽發(fā)射回來的電磁波信號后,經(jīng)過處理得到電子標(biāo)簽存儲的代碼等信息。這些信息可以作為物體的特征數(shù)據(jù)被傳送到計算機(jī)進(jìn)一步處理。
一套完整的RFID系統(tǒng),是由閱讀器(Reader)與電子標(biāo)簽(TAG)也就是所謂的應(yīng)答器(Transponder)及應(yīng)用軟件系統(tǒng)3個部分所組成[7],其工作原理是:閱讀器發(fā)射一特定頻率的無線電波能量給應(yīng)答器,用以驅(qū)動應(yīng)答器電路將內(nèi)部的數(shù)據(jù)送出,此時閱讀器便依序接收解讀數(shù)據(jù),送給應(yīng)用程序做相應(yīng)的處理。
圖1 RFID工作原理框圖
RFID卡片閱讀器及電子標(biāo)簽之間的通信及能量感應(yīng)方式大致上可以分成:感應(yīng)耦合(inductive coupling)及后向散射耦合(backscatter coupling)兩種。一般低頻的RFID大都采用感應(yīng)耦合方式,而較高頻大多采用后向散射耦合方式。
閱讀器根據(jù)使用的結(jié)構(gòu)和技術(shù)不同可以是讀或讀/寫裝置,是RFID系統(tǒng)信息控制和處理中心。閱讀器通常由耦合模塊、收發(fā)模塊、控制模塊和接口單元組成。閱讀器和應(yīng)答器之間一般采用半雙工通信方式進(jìn)行信息交換,同時閱讀器通過耦合給無源應(yīng)答器[8]提供能量和時序。在實際應(yīng)用中,可進(jìn)一步通過Ethernet或WLAN等實現(xiàn)對物體識別信息的采集、處理及遠(yuǎn)程傳送等管理功能。應(yīng)答器是RFID系統(tǒng)的信息載體,目前應(yīng)答器大多是由耦合原件(線圈、微帶天線等)和微芯片組成無源單元。
從技術(shù)角度說,射頻識別技術(shù)的核心[9]是應(yīng)答器,閱讀器是根據(jù)應(yīng)答器的性能而設(shè)計的。雖然在RFID系統(tǒng)中應(yīng)答器的價格遠(yuǎn)比閱讀器低,但通常情況下,在應(yīng)用中應(yīng)答器的數(shù)量是很大的,尤其是在物流應(yīng)用中,應(yīng)答器用量不僅大而且可能是一次性使用,而閱讀器的數(shù)量相對要少很多。應(yīng)答器在某種應(yīng)用場合還有一些專有的名稱,如射頻卡、標(biāo)簽等。射頻卡又稱非接觸卡,為卡片狀的應(yīng)答器。在動物識別、商品貨物識別、集裝箱識別等領(lǐng)域,常用的應(yīng)答器稱為標(biāo)簽。標(biāo)簽的芯片安放在一張薄紙膜或塑料膜內(nèi),這種薄膜往往和一層紙膠合在一起,背面涂上黏膠劑,這樣就很容易粘貼到被識別的物體上。
應(yīng)答器的主要性能參數(shù)[10]有:工作頻率、讀/寫能力、編碼調(diào)制方式、數(shù)據(jù)傳輸速率、信息數(shù)據(jù)存儲容量、工作距離、多應(yīng)答器識讀能力、安全性能等。根據(jù)應(yīng)答器是否需要加裝電池及電池供電的作用,可將應(yīng)答器分為無源、半無源和有源應(yīng)答器3種類型。
二次開發(fā),簡單地說就是在現(xiàn)有的軟件上進(jìn)行定制修改、功能擴(kuò)展,以達(dá)到自己想要的功能,一般來說都不會改變原有系統(tǒng)的內(nèi)核。本課題就是在開源產(chǎn)品的基礎(chǔ)上擴(kuò)展功能,使其獲得更高的應(yīng)用價值。
首先,作為RFID閱讀器上位機(jī)軟件,必須能夠?qū)ぷ髟诓煌l率的閱讀器進(jìn)行相應(yīng)的操作。本軟件對125 kHz頻率的閱讀器進(jìn)行了二次開發(fā),功能如下:
對于125 kHz頻率閱讀器,本質(zhì)上就是串口通信、設(shè)置參數(shù)、設(shè)置功能,因而可以設(shè)定不同的波特率、數(shù)據(jù)位和停止位,從而讀取不同卡號,因為卡號全球唯一,因此可將其應(yīng)用于考勤系統(tǒng);
其次,為了方便學(xué)生學(xué)習(xí)和了解RFID閱讀器上位機(jī)二次開發(fā)的方法,應(yīng)該具備典型開發(fā)文檔和流程展示功能,同時可查看源代碼,便于學(xué)生的學(xué)習(xí);
最后,任何一款應(yīng)用程序都需要根據(jù)用戶建議和需求不斷完善,因此用戶與開發(fā)者的交流溝通方式也需要設(shè)置。
軟件開發(fā)流程設(shè)計步驟如下:
(1) 打開VC++6.0 SP6[11],新建一個基于對話框的MFC AppWizard應(yīng)用程序[12],命名為“RFID閱讀器二次開發(fā)軟件平臺”;
(2) 將對話框Caption更改為“RFID閱讀器二次開發(fā)平臺”,并創(chuàng)建新類CRFID,作為平臺的主界面;
(3) 在對話框資源處插入一個新的對話框,更改Caption為“125 kHz系統(tǒng)二次開發(fā)”,添加控件資源并創(chuàng)建新類CRFID125,建立類向?qū)?,編輯代碼進(jìn)行功能實現(xiàn);
(4) 在對話框資源處插入一個新的對話框,更改Caption為“聯(lián)系我們”,創(chuàng)建新類,進(jìn)行界面設(shè)計及功能實現(xiàn);
(5) 編寫典型開發(fā)文檔,實現(xiàn)主界面對應(yīng)按鈕功能;
(6) 制作AVI動畫,實現(xiàn)主界面對應(yīng)按鈕功能;
(7) 界面美工;
(8) 添加連接、包含等代碼,將各個對話框類與主程序關(guān)聯(lián),整體調(diào)試、運(yùn)行;
(9) 反復(fù)調(diào)試無誤,生成Release版或Debug版并發(fā)布。
流程見圖2。
圖2 流程圖
本模塊實現(xiàn)了對125 kHz射頻卡ID號的讀取,并應(yīng)用此低頻卡開發(fā)了一個簡易的考勤系統(tǒng),二次開發(fā)設(shè)計界面如圖3所示。
圖3 RFID 125 kHz系統(tǒng)軟件二次開發(fā)設(shè)計界面
(1) 實現(xiàn)方法步驟:
① 向標(biāo)題為“RFID125KHz系統(tǒng)二次開發(fā)”的對話框添加4個按鈕控件,分別命名為參數(shù)設(shè)置、打開串口、關(guān)閉串口和進(jìn)入考勤應(yīng)用;添加1個組合框和1個編輯框,用來顯示ID號;添加Mscomm控件,實現(xiàn)串口通信;
② 使用類向?qū)尚骂?,為組合框和編輯框分別關(guān)聯(lián)變量,為每個按鈕添加消息響應(yīng)函數(shù);
③ 進(jìn)入代碼編輯區(qū),實現(xiàn)每個按鈕的功能;
④ 編譯,調(diào)試,修改。
(2) 運(yùn)行及測試:將實驗箱閱讀器接口用USB線與PC機(jī)相連,打開實驗箱電源和上位機(jī)軟件,進(jìn)行測試。
首先設(shè)置串口參數(shù),然后打開串口,進(jìn)行刷卡,發(fā)現(xiàn)程序自動退出;為此進(jìn)入代碼區(qū)檢查,發(fā)現(xiàn)沒有設(shè)置數(shù)據(jù)接收格式,添加對應(yīng)代碼,重新編譯、運(yùn)行,測試成功(運(yùn)行結(jié)果見圖4)。刷卡后在界面卡號顯示區(qū)顯示出序列號。
圖4 RFID 125 kHz系統(tǒng)軟件二次開發(fā)運(yùn)行結(jié)果
然后對考勤系統(tǒng)進(jìn)行測試,分別進(jìn)入各操作界面,分別點(diǎn)擊相應(yīng)按鈕,如增加、刪除、修改等,打開數(shù)據(jù)庫,測試結(jié)果正確。
本文基于市場現(xiàn)有的RFID無線射頻閱讀器產(chǎn)品,針對125 kHz典型工作頻率的閱讀器功能進(jìn)行二次開發(fā),在VC++環(huán)境下搭建了一個學(xué)習(xí)和實用的平臺。在本文的設(shè)計過程中,熟練運(yùn)用MFC應(yīng)用程序開發(fā)工具是先決條件,了解閱讀器和上位機(jī)之間的通信原理是基礎(chǔ),對開源產(chǎn)品分別進(jìn)行深入了解和界面、功能的設(shè)計是關(guān)鍵。
[1] Landt J.The history of RFID[J], IEEE Potentials, 2005 , 24(4): 8-11.
[2] 游戰(zhàn)清,劉克勝,吳翔,等.無線識別(RFID)與條碼技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.
[3] 張琦.電子標(biāo)簽RFID七大優(yōu)勢[J].金卡工程,2005(1):31.
[4] 周柏森.射頻識別技術(shù)在產(chǎn)品防偽上的應(yīng)用[J].中國防偽報道,2008,12(5):102-105.
[5] 周曉光.射頻識別(REID)技術(shù)原理與應(yīng)用實例[M].北京:人民郵電出版社,2008.
[6] 郎為民.射頻識別(RFID)技術(shù)原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006.
[7] Wang T P.Enhanced Binary Search with Cut-through Operation for Anti-collision in RFID Systems[J].IEEE Communications Letters, 2006,10(4):236-238.
[8] 李錦濤,郭俊波,羅海勇,等.射頻識別(RFID)技術(shù)及其應(yīng)用[J].信息技術(shù)快報,2004,2(11):15-18.
[9] Waldrop J, Engel D W, Sarma S E.Colorwave.Ananti-collision Algorithm for the Reader Collision Problem[C]//The IEEE International Conference on Communications, Anchorage USA,2003.
[10] Rao K V S.An Overview of Back Scattered Radio Frequency Identification System(RFID)[J].IEEE,1999(3):746-749.
[11] 劉銳寧,宋坤.Visual C++ 從入門到精通[M].2版.北京:清華大學(xué)出版社,2010:16-108.
[12] 歐陽志宏,董霖,鐘俊華.MFC程序設(shè)計輕松入門[M].北京:人民郵電出版社,2009.