摘 要: 無線射頻識(shí)別是信息采集技術(shù)之一,通過研發(fā)RFID引擎,提出在面向復(fù)雜事件處理的RFID引擎的設(shè)計(jì)思想與相關(guān)算法,通過使用所設(shè)計(jì)的引擎對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,測(cè)試結(jié)果證明設(shè)計(jì)是可行的。
關(guān)鍵詞: 復(fù)雜事件;引擎;RFID;通信協(xié)議
RFID技術(shù)是利用無線電波自動(dòng)識(shí)別人或者物的技術(shù)。該系統(tǒng)一般由電子標(biāo)簽、數(shù)據(jù)管理系統(tǒng)和讀寫器三部分組成,準(zhǔn)確地獲取RFID的數(shù)據(jù)是射頻識(shí)別系統(tǒng)的關(guān)鍵[1]。
目前,RFID技術(shù)仍然發(fā)展不成熟,尤其是在事件處理方面存在如下缺陷[2]:一方面,來自閱讀器的標(biāo)簽信息數(shù)據(jù)量太大,并且包含過多的冗余數(shù)據(jù),降低了事件處理的效率;另一方面,標(biāo)簽所包含的語義信息過于簡單,無法被上層應(yīng)用軟件直接使用;再者,利用無線電波頻率自動(dòng)識(shí)別,當(dāng)現(xiàn)場(chǎng)電子標(biāo)簽過多時(shí),RFID識(shí)別的準(zhǔn)確性與讀取速度會(huì)明顯下降。RFID中間件在事件處理方面僅僅利用平滑過濾算法對(duì)標(biāo)簽數(shù)據(jù)做簡單的平滑處理,隨后將處理后的標(biāo)簽數(shù)據(jù)上傳給應(yīng)用層,這種情況在數(shù)據(jù)量小的情況下可以滿足一定的需求,可是RFID大部分的應(yīng)用環(huán)境所面對(duì)的都是海量的數(shù)據(jù),因此傳統(tǒng)的事件處理方法大大增加了上層應(yīng)用軟件的負(fù)擔(dān),使其數(shù)據(jù)處理效率急劇下降,不能滿足現(xiàn)實(shí)的需求。因此,在復(fù)雜事件情況下,如果把數(shù)據(jù)處理部分由RFID引擎(即讀寫器系統(tǒng))在進(jìn)入之前就由應(yīng)用軟件來完成,是一個(gè)理想的選擇。
1 復(fù)雜事件處理概念
復(fù)雜事件處理[3](Complex Event Progressing)技術(shù)是20世紀(jì)90 年代中期由斯坦福大學(xué)的David Luckham教授提出是一種新興的基于事件流的技術(shù),它將系統(tǒng)數(shù)據(jù)看作不同類型的事件,通過分析事件間的關(guān)系(成員關(guān)系、時(shí)間關(guān)系、因果關(guān)系以及包含關(guān)系等)建立不同的事件關(guān)系序列庫(即規(guī)則庫),再利用過濾、關(guān)聯(lián)、聚合等技術(shù)由簡單事件產(chǎn)生高級(jí)事件。在研究構(gòu)建RFID引擎時(shí),先進(jìn)行定性的理論模型的研究。
從復(fù)雜事件定義中可以看出在發(fā)生復(fù)雜事件情況下正確快速的電子標(biāo)簽是一個(gè)十分值得研究的課題。短距離的RFID讀寫器與電子標(biāo)簽一般是一對(duì)一讀寫設(shè)計(jì),即短距離的RFID讀寫器在設(shè)計(jì)中只允許一次讀一個(gè)電子標(biāo)簽,當(dāng)近距離有多個(gè)電子標(biāo)簽時(shí),讀寫器不能工作。對(duì)于長距離的RFID讀寫器,如在半徑30 m距離范圍內(nèi),其RFID讀寫器的檢測(cè)電子標(biāo)簽最好不要超過30個(gè),如果再考慮交集域,則所讀電子標(biāo)簽就更多,這種情況下要準(zhǔn)確讀取電子標(biāo)簽,就必須要制定通信協(xié)議,使范圍內(nèi)的電子標(biāo)簽?zāi)馨错樞颉?zhǔn)確無誤地逐一讀寫。
2 復(fù)雜事件處理的RFID引擎設(shè)計(jì)[4]
2.1 設(shè)計(jì)總體思想
在復(fù)雜事件下,RFID引擎設(shè)計(jì)分為兩大部分:一是發(fā)射及接收部分,另一個(gè)是讀寫控制與通信部分。
發(fā)射及接收部分的作用是:(1)產(chǎn)生無線發(fā)射的能量;(2)對(duì)發(fā)射的信號(hào)進(jìn)行調(diào)制;(3)接收并解調(diào)來自射頻的電子標(biāo)簽的信號(hào)并進(jìn)行存取。
讀寫控制與通信部分的作用是:(1)能完成與應(yīng)用系統(tǒng)上位機(jī)通信,并執(zhí)行上位機(jī)指令;(2)控制與電子標(biāo)簽的通信過程;(3)完成信號(hào)的編碼、解碼;(4)執(zhí)行信號(hào)安全加密、解密及各種算法,進(jìn)行電子標(biāo)簽、RFID引擎設(shè)計(jì)及一般閱讀器身份認(rèn)證。
除此之外,還應(yīng)考慮產(chǎn)品的小型化、低成本、多功能多數(shù)據(jù)接口問題,以及發(fā)射、接收制式、波段的兼容等問題。
2.2 關(guān)于引擎設(shè)計(jì)
讀取電子標(biāo)簽的準(zhǔn)確與否,首先取決于系統(tǒng)結(jié)構(gòu)的優(yōu)劣。
本設(shè)計(jì)的通信結(jié)構(gòu)包括:
(1)物理層。只完成信息的準(zhǔn)確交互,不進(jìn)行任何信息的檢測(cè)、校正。
(2)網(wǎng)絡(luò)層。保存最新的節(jié)點(diǎn)地址表,包括物理地址和虛擬地址。
(3)傳輸層。決定通信節(jié)點(diǎn)和完成節(jié)點(diǎn)的多次握手,建立通信、信息的打包并交付下層進(jìn)行發(fā)送或接收數(shù)據(jù)。最后,通過網(wǎng)絡(luò)模塊連接PC,并與其信息交互[5]。
建立了可靠的通信后,假如此時(shí)要讀電子標(biāo)簽的信息,就要在引擎收到標(biāo)簽的確認(rèn)信息后把下一步收到的標(biāo)簽內(nèi)容發(fā)給PC機(jī);假如此時(shí)要寫標(biāo)簽的信息,則要在標(biāo)簽發(fā)送完確認(rèn)信息后等待來自讀寫器的數(shù)據(jù)包,讀寫器收到節(jié)點(diǎn)的確認(rèn)信息后發(fā)送數(shù)據(jù)包。由上所述特制定的指令包如表1、表2、表3所示[6,7]。
2.3 引擎的工作原理[8]
圖1所示為引擎工作的方框圖。
(1)引擎要求與某個(gè)電子標(biāo)簽進(jìn)行通信,此時(shí)引擎發(fā)送地址指令包,請(qǐng)求建立通信,數(shù)據(jù)包中包括讀或?qū)懙戎噶钚盘?hào);(2)電子標(biāo)簽收到地址指令包后,發(fā)送自己的標(biāo)簽內(nèi)容到該引擎;(3)引擎收到電子標(biāo)簽的內(nèi)容后,再把內(nèi)容打包發(fā)回給該電子標(biāo)簽;(4)該電子標(biāo)簽把收到的內(nèi)容與自己的標(biāo)簽內(nèi)容進(jìn)行比較,如果相同表示兩者間的通信可靠,此時(shí)發(fā)送確認(rèn)信息;如果不同表示兩者通信不可靠,此時(shí)發(fā)送失敗信息并轉(zhuǎn)與上位應(yīng)用系統(tǒng)、上位PC通信驗(yàn)證;假如重復(fù)多次都失敗,則引擎向PC機(jī)報(bào)警。
關(guān)于地址表的建立與確定:
創(chuàng)建兩個(gè)地址表data1和data2用于保存最近兩次搜索到的電子標(biāo)簽地址,引擎每搜索一次電子標(biāo)簽地址,便把該地址表輪流保存在data1和data2中并進(jìn)行排序,搜索完畢后,按新舊地址表的順序進(jìn)行比較。此時(shí)建立兩個(gè)執(zhí)行地址表rundata1和rundata2,如果沒有新地址表,而舊地址表的電子標(biāo)簽地址保存在ruandata1中表示該標(biāo)簽移出了檢測(cè)范圍;如果有新地址表,而在舊地址表中沒有電子標(biāo)簽保存在rundata2,表示有新標(biāo)簽移進(jìn)檢測(cè)范圍。最后兩個(gè)執(zhí)行地址表的地址分開上傳給PC機(jī),并進(jìn)行報(bào)告。
圖2所示為面向復(fù)雜事件處理的RFID引擎的方框圖。
3 設(shè)計(jì)的實(shí)現(xiàn)與效果
硬件實(shí)現(xiàn)可以采用自主開發(fā)硬件,也可采用已有IC及電子器件構(gòu)成硬件電路。設(shè)計(jì)的電路要建立系統(tǒng)模型,開發(fā)要符合中國無線頻譜規(guī)范和RFID通信協(xié)議要求。
設(shè)計(jì)采用高性能射頻收發(fā)器CC1101,用雙51系列MCU,其中一個(gè)可通過SPI 接口連接CC1101的主要運(yùn)行參數(shù)并對(duì)發(fā)送/接收FIFO口進(jìn)行控制;而另一個(gè)與存取、輸入設(shè)備連接,利用軟件控制算法,完成對(duì)區(qū)域內(nèi)一定數(shù)量電子標(biāo)簽的準(zhǔn)確讀寫。
表4所示是引擎在復(fù)雜條件下閱讀電子標(biāo)簽的測(cè)試結(jié)果。
從表4可以看出,引擎識(shí)別水平還沒有達(dá)到在任何時(shí)間任何條件下閱讀準(zhǔn)確度都為100%。這樣,引擎的準(zhǔn)確度不能得到嚴(yán)格保證,從而信息的出錯(cuò)率就不能降到最低。環(huán)境影響、貼標(biāo)簽物品的材質(zhì)、一次閱讀標(biāo)簽的數(shù)量都會(huì)影響到閱讀的精確度。如果RFID不能夠提供足夠高的信息精確度,其應(yīng)用無疑不會(huì)受到歡迎。針對(duì)這種情形,還可以通過設(shè)置冗余引擎以及改善閱讀流程來提高準(zhǔn)確度。
參考文獻(xiàn)
[1] 李斌,李文鋒.智能物流中面向RFID的信息融合研究[J]. 電子科技大學(xué)學(xué)報(bào),2007,36(6):1329-1332.
[2] PIRAINO V.A middleware for robust self-organizing services based on highly redundant RFID tag infrastructures[D]. Institute for Pervasive Computing,Dept.of Computer Science, ETH Zurich,Switzerland(2004).
[3] 孟和,趙政,薛桂香,等.EPCglobal應(yīng)用層事件引擎設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2008,34(12):10248-249.
[4] 康東,李勇鵬.射頻識(shí)別(RFID)核心技術(shù)與典型應(yīng)用開發(fā)案例[M].北京:人民郵電出版社,2008.
[5] 蔣邵崗,譚杰.RFID中間件數(shù)據(jù)處理與過濾過濾的研究[J].計(jì)算機(jī)應(yīng)用,2008,28(10):2613-2615.
[6] CHEN Yuan Bo,YANG Chih Jen,JONG Gwo Jia.Intelligent campus multi-application RFID integration system[J].2008 4th international conference on intelligent information hiding and multimedia signal processing,IIH-MSP 2008:504-507.
[7] 游戰(zhàn)清,李蘇劍.無線射頻識(shí)別技術(shù)(RFID)理論與應(yīng)用[M].北京:電子工業(yè)出版社,2004.
[8] DONG Liang,WANG Dong,SHENG Huan Ye.Design of RFID middleware based on complex event processing[C]. IEEE conference on Cybernetics and Intelligent Systems,2006.