無線射頻識(shí)別RFID(Radio Frequency IDentification)技術(shù)又稱為電子標(biāo)簽技術(shù),具有非接觸、可批量讀寫、可重復(fù)利用等特點(diǎn)[1],使其在食品溯源系統(tǒng)中得到了廣泛運(yùn)用。隨著食品溯源系統(tǒng)的廣泛應(yīng)用,系統(tǒng)集成規(guī)模越來越大,從單個(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中間件來構(gòu)建分布式應(yīng)用系統(tǒng)簡(jiǎn)單而快速[3]。分布式食品溯源系統(tǒng)如圖1所示。溯源系統(tǒng)從左至右分別涉及食品流通的4個(gè)環(huán)節(jié):生產(chǎn)、加工、物流、銷售。而系統(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)簽中,并將其附著在食品的包裝上;食品通過各個(gè)環(huán)節(jié)時(shí),標(biāo)簽在經(jīng)過閱讀器的感應(yīng)區(qū)域后,會(huì)自動(dòng)被閱讀器捕獲;經(jīng)過防碰撞機(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ù)并通過遠(yuǎn)程網(wǎng)絡(luò)接口上傳到服務(wù)器平臺(tái)。
(3)溯源平臺(tái)服務(wù)器:通過以太網(wǎng)接收食品相關(guān)信息并進(jìn)行處理和應(yīng)用。溯源平臺(tái)服務(wù)器通過專用網(wǎng)與政府監(jiān)控服務(wù)器連接,政府監(jiān)管部門可以及時(shí)地發(fā)現(xiàn)和追蹤食品安全問題。消費(fèi)者則可以根據(jù)銷售溯源碼,通過短信、電話方式或進(jìn)入本地溯源網(wǎng)站,查詢食品流通記錄,以保障消費(fèi)者的有效追溯權(quán)利。
分布式食品溯源系統(tǒng)通過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è)備可以通過3種方式與中間件通信;外設(shè)接口包括USB接口和串口,用于安裝適配器驅(qū)動(dòng)和復(fù)制存儲(chǔ)器數(shù)據(jù)到其他設(shè)備;LCD屏和鍵盤用于用戶與中間件交流,可以在中間件設(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所示。