基于嵌入式系統(tǒng)的RFID中間件設(shè)計(jì)
無(wú)線射頻識(shí)別RFID(Radio Frequency IDentification)技術(shù)又稱為電子標(biāo)簽技術(shù),具有非接觸、可批量讀寫(xiě)、可重復(fù)利用等特點(diǎn)[1],使其在食品溯源系統(tǒng)中得到了廣泛運(yùn)用。隨著食品溯源系統(tǒng)的廣泛應(yīng)用,系統(tǒng)集成規(guī)模越來(lái)越大,從單個(gè)的商場(chǎng)、農(nóng)貿(mào)市場(chǎng)逐步擴(kuò)大到區(qū)縣甚至是城市。在分布式食品溯源系統(tǒng)中,RFID中間件在食品溯源應(yīng)用和RFID閱讀器之間扮演著承上啟下的關(guān)鍵角色[2]。由于其具有體積小、成本低、部署方式靈活等優(yōu)點(diǎn),嵌入式RFID中間件非常適合在食品溯源系統(tǒng)中應(yīng)用。
根據(jù)嵌入式的特點(diǎn),本文設(shè)計(jì)了分層的輕量級(jí)嵌入式RFID中間件ERM(Embedded RFID Middleware)模型,并在嵌入式平臺(tái)上實(shí)現(xiàn)了該ERM中間件。
1 分布式食品溯源系統(tǒng)
利用嵌入式RFID中間件來(lái)構(gòu)建分布式應(yīng)用系統(tǒng)簡(jiǎn)單而快速[3]。分布式食品溯源系統(tǒng)如圖1所示。溯源系統(tǒng)從左至右分別涉及食品流通的4個(gè)環(huán)節(jié):生產(chǎn)、加工、物流、銷(xiāo)售。而系統(tǒng)自下而上可以分為3個(gè)部分:
(1)信息采集模塊:包括食品電子標(biāo)簽和終端設(shè)備,二者都構(gòu)成一個(gè)典型的RFID應(yīng)用系統(tǒng),主要完成食品的識(shí)別和EPC 碼的采集和預(yù)處理。本系統(tǒng)采用超高頻RFID技術(shù),符合ISO180000-6C(EPC Global Class1 Gen2)協(xié)議。食品生產(chǎn)廠家將含有全球唯一的EPC碼和商品信息存儲(chǔ)在電子標(biāo)簽中,并將其附著在食品的包裝上;食品通過(guò)各個(gè)環(huán)節(jié)時(shí),標(biāo)簽在經(jīng)過(guò)閱讀器的感應(yīng)區(qū)域后,會(huì)自動(dòng)被閱讀器捕獲;經(jīng)過(guò)防碰撞機(jī)制和安全認(rèn)證后,閱讀器會(huì)將標(biāo)簽信息閱讀到終端設(shè)備,這樣就實(shí)現(xiàn)了自動(dòng)化的食品信息采集。
(2)嵌入式中間件:作為食品溯源系統(tǒng)的中間設(shè)備,其主要完成對(duì)終端設(shè)備的管理、數(shù)據(jù)信息采集、處理、保存和上傳到溯源平臺(tái)服務(wù)器等功能。中間件從RFID原始數(shù)據(jù)中解析出時(shí)間、商戶信息、流通狀況和溯源碼(EPC碼)等信息,將信息存入中間件數(shù)據(jù)庫(kù)并通過(guò)遠(yuǎn)程網(wǎng)絡(luò)接口上傳到服務(wù)器平臺(tái)。
(3)溯源平臺(tái)服務(wù)器:通過(guò)以太網(wǎng)接收食品相關(guān)信息并進(jìn)行處理和應(yīng)用。溯源平臺(tái)服務(wù)器通過(guò)專用網(wǎng)與政府監(jiān)控服務(wù)器連接,政府監(jiān)管部門(mén)可以及時(shí)地發(fā)現(xiàn)和追蹤食品安全問(wèn)題。消費(fèi)者則可以根據(jù)銷(xiāo)售溯源碼,通過(guò)短信、電話方式或進(jìn)入本地溯源網(wǎng)站,查詢食品流通記錄,以保障消費(fèi)者的有效追溯權(quán)利。
分布式食品溯源系統(tǒng)通過(guò)RFID技術(shù)和嵌入式中間件,在互聯(lián)網(wǎng)的基礎(chǔ)上構(gòu)建了物聯(lián)網(wǎng)信息服務(wù)系統(tǒng)[4],保障了食品溯源的有效性和可靠性。
2 嵌入式中間件硬件設(shè)計(jì)
為了實(shí)現(xiàn)高性能、低成本的嵌入式中間件,采用了高性價(jià)比的硬件設(shè)計(jì)方案。
如圖2所示,中間件硬件主要由ARM主控模塊(AT91SAM9260)和外圍器件組成。同時(shí),選用大容量的存儲(chǔ)器方案,包括64 MB的SDRAM、32 MB的Flash存儲(chǔ)器,以及可支持?jǐn)U展至4 GB的Micro SD卡。此外,還包括以下各個(gè)功能模塊:以太網(wǎng)接口和GPRS模塊,用于連接溯源平臺(tái)服務(wù)器;閱讀器接口包括ZigBee 傳輸模塊、RS485模塊和 RS232模塊,終端設(shè)備可以通過(guò)3種方式與中間件通信;外設(shè)接口包括USB接口和串口,用于安裝適配器驅(qū)動(dòng)和復(fù)制存儲(chǔ)器數(shù)據(jù)到其他設(shè)備;LCD屏和鍵盤(pán)用于用戶與中間件交流,可以在中間件設(shè)備上管理終端設(shè)備和查詢相關(guān)信息;電源模塊為各部分電路供電,中間件可以使用外接適配器或電池供電。
3 嵌入式中間件軟件設(shè)計(jì)
中間件操作系統(tǒng)采用ARM-Linux2.6,在Linux Kernel啟動(dòng)后,對(duì)外設(shè)進(jìn)行初始化,運(yùn)行數(shù)據(jù)庫(kù)SQlite3,然后調(diào)用各模塊,生成各線程級(jí)的任務(wù)。根據(jù)EPCglobal標(biāo)準(zhǔn)體系的建議[5]并結(jié)合嵌入式的特點(diǎn),設(shè)計(jì)了適合嵌入式的RFID中間件ERM。ERM的系統(tǒng)整體架構(gòu)由終端接口層、邏輯處理層、應(yīng)用集成層組成,如圖3所示。
3.1 終端接口層
中間件架構(gòu)最下層為終端接口層,其為各種類(lèi)型的終端設(shè)備接口,負(fù)責(zé)把物理的硬件設(shè)備抽象為中間件的終端對(duì)象[6]。
中間件為每個(gè)終端配備一個(gè)適配器,不同種類(lèi)的終端設(shè)備對(duì)應(yīng)于不同類(lèi)型的適配器,并且中間件可以動(dòng)態(tài)地添加和刪除適配器。適配器可以直接與終端設(shè)備的閱讀器通信,收集標(biāo)簽數(shù)據(jù)然后送往閱讀器接口。從閱讀器接口出來(lái)的數(shù)據(jù)為統(tǒng)一格式的原始數(shù)據(jù),從而保證了不同類(lèi)型的閱讀器可以完整地傳送數(shù)據(jù)到中間件。終端管理模塊主要完成不同終端的注冊(cè)驗(yàn)證和管理控制。中間件可以通過(guò)配置終端對(duì)象的Driver、Rule、Dispatcher等參數(shù),對(duì)不同的終端進(jìn)行管理控制和數(shù)據(jù)讀寫(xiě)。
3.2 邏輯處理層
作為中間件的核心層,邏輯處理層主要完成對(duì)終端數(shù)據(jù)的緩沖、過(guò)濾、事件處理和事件驅(qū)動(dòng)控制等功能,其處理流程如圖4所示。
邏輯處理層主要包括數(shù)據(jù)處理和事件處理兩個(gè)部分。數(shù)據(jù)處理部分主要根據(jù)數(shù)據(jù)過(guò)濾規(guī)則,處理各種數(shù)據(jù)冗余,包括完成數(shù)據(jù)校驗(yàn)、數(shù)據(jù)合法性驗(yàn)證、刪除重復(fù)和錯(cuò)誤的信息等[7]。而事件處理部分主要根據(jù)業(yè)務(wù)規(guī)則,從數(shù)據(jù)中提取各種基本事件并判斷事件類(lèi)型,然后處理各種基本事件并執(zhí)行相應(yīng)的任務(wù),形成相關(guān)的報(bào)告文件。
3.3 應(yīng)用層
中間件架構(gòu)最上層是應(yīng)用層,用于提供各種應(yīng)用接口。本系統(tǒng)主要包括本地的用戶界面和遠(yuǎn)程網(wǎng)絡(luò)接口。本地用戶接口便于用戶在中間件上控制各種終端對(duì)象和查看相關(guān)信息,遠(yuǎn)程網(wǎng)絡(luò)接口方便服務(wù)器遠(yuǎn)程控制中間件和終端設(shè)備。中間件將根據(jù)服務(wù)器協(xié)議要求把數(shù)據(jù)封裝成為XML(可擴(kuò)展標(biāo)記語(yǔ)言)格式,并以TCP方式發(fā)送給溯源平臺(tái)服務(wù)器。為了方便中間件的管理和升級(jí),中間件內(nèi)嵌FTP和Telnet 服務(wù)程序。對(duì)外提供的標(biāo)準(zhǔn)接口為中間件提供了良好的擴(kuò)展性和兼容性。
4 性能測(cè)試
經(jīng)試驗(yàn)測(cè)試,本文設(shè)計(jì)的中間件具有如下性能:
(1)體積小,部署地點(diǎn)接近于數(shù)據(jù)現(xiàn)場(chǎng)。該中間件尺寸為:160 mm×80 mm×40 mm,重量大約800 g(含電池),與普通的手持式設(shè)備大小接近。
(2)功耗低。最大功耗為15 W,由于采用了屏保、待機(jī)和睡眠等節(jié)能技術(shù),平均功耗在12 W以下。
(3)系統(tǒng)占用資源較少,性能較高。首先將中間件通過(guò)以太網(wǎng)與PC測(cè)試主機(jī)連接,在PC主機(jī)上打開(kāi)cmd命令行窗口,輸入Telnet 10.2.5.0(中間件IP),即可遠(yuǎn)程登錄中間件;然后輸入root,切換到根用戶,再運(yùn)行top指令。測(cè)試得到中間件性能如表1所示。
由表1可知,核心的system內(nèi)存只有859 KB,加上外部中斷和遠(yuǎn)程訪問(wèn)等進(jìn)程,CPU占用率不足55%,占用內(nèi)存總共不到1.5 MB,其余為用戶的緩沖和處理所占用的資源和空閑資源。由此可見(jiàn),該中間件系統(tǒng)正常運(yùn)行所需的資源非常小,適合資源有限的嵌入式環(huán)境。
中間件技術(shù)是分布式食品溯源系統(tǒng)的中樞,它不僅能屏蔽RFID閱讀器的多樣性和復(fù)雜性,還能進(jìn)行EPC信息的采集和處理,為各種應(yīng)用提供集成平臺(tái),從而促使更豐富、更廣泛的RFID應(yīng)用[8]。本文針對(duì)嵌入式特點(diǎn),研究了分層的嵌入式RFID中間件ERM模型,從硬件和軟件兩方面論述了嵌入式RFID中間件系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。經(jīng)測(cè)試,該中間體積小、能耗低、占用資源少、性能高。
參考文獻(xiàn)
[1] Fan Wenbing,Cao Xiaoguang,Chen Yan.RFID middleware standardization and implementation[J].Microcontrollers & Embedded System Application,2008(1):16-18.
[2] 李波,謝勝利,蘇翔.嵌入式RFID中間件系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2008,34(15):92-94.
[3] 禇偉杰,田永民,李偉平.基于SOA的RFID中間件集成應(yīng)用[J].計(jì)算機(jī)工程,2008,34(14):84-86.
[4] 寧煥生,張瑜.中國(guó)物聯(lián)網(wǎng)信息服務(wù)系統(tǒng)研究[J].電子學(xué)報(bào),2006,34(12A):2514-2517.
[5] 胡清,詹宜巨,黃小虎.基于RFID企業(yè)物聯(lián)網(wǎng)及中間件技術(shù)研究[J].微計(jì)算機(jī)信息,2009(7-2):158-160.
[6] BENCHINI A,CIMINO M,MARCELLONI F,et al.Patterns and technologies for enabling supply chain traceability through collaborative e-business[J].Information&Software Technology,2008,50(4):342-359.
[7] DERAKHSHAN R,ORLOWSKA M E,Li Xue.RFID data management:challenges and opportunities[C].IEEE International Conference on RFID.Washington:IEEE Press,2007:175-182.
[8] 李珍香,張宇翔.嵌入式RFID中間件的設(shè)計(jì)與實(shí)現(xiàn)[C]. Proceedings of 2010 International Conference on Services Science,Management and Engineering(Volume 2),2010.