1 引言
在RFID技術迅速發展并得到越來越廣泛的應該的同時,也伴隨著出現了兩個問題:第一,在一個如此大的市場里,存在著眾多協議,還存在著各種使用和操作不同的形形色色的閱讀器,這嚴重阻礙了RFID技術的大規模應用;第二,如何整合、過濾和傳輸這些數據使企業不會被大量的數據淹沒而得不到RFID技術帶來的好處是另一個急待解決的重要問題。
在這種情況下,RFID中間件運因而生,并得到了快速的發展,RFID中間件可以屏蔽各種不同規格型號的閱讀器和各種不同協議標準的標簽,讓上層應用軟件得到統一、不變的接口;另外,它還負責整合和過濾數據,產生報表,使海量數據的傳輸和應用成為可能。
目前,國內外的RFID中間件體積大,所設計只適用于PC機,不能直接移植到嵌入式閱讀器中,本文實現了一種可移植,可直接運行于嵌入式閱讀器設備上,基于ALE標準的嵌入式RFID中間件。
2 EPCglobal ALE標準
EPC是 Electronic Product Code (產品電子代碼)的縮寫,是美國麻省理工學院的自動識別中心(Auto-ID 中心)提出的,其主要思想是為每一個參加物聯網的產品分配一個電子標簽,該標簽存儲了一個世界唯一的EPC碼,當產品通過閱讀器時,由RFID技術來讀取數據,得到對應的EPC碼,最后通過與互聯網相連的服務器來完成相應的EPC碼的解析。
EPC系統主要由EPC編碼, EPC 標簽,EPC 讀寫器, EPC 中間件, PML (物理標記語言) 服務器,ONS (對象名解析服務) 服務器等組成。系統協議主要由RFID通信協議,應用事件管理(ALE)協議等組成。
EPC ALE 協議是EPC 中間件與閱讀器模塊和客戶應用程序之間的接口協議。 該協議定義了客戶可以如何過慮和整合來自多個閱讀器的EPC標簽,并面向不同的企業應用程序和閱讀器定義了統一的接口,這樣即使后端應用程序增加或改由其他軟件取代,或者RFID讀寫器的種類有所改變、增加等情況發生時,其它部件不需要做修改。ALE所包含的處理過程有: 接收來自一個或多個數據源的EPC 標簽碼; 根據客戶端(企業應用程序)要求以一定的時間間隔整合數據, 過濾重復和不感興趣的EPC 碼;根據客戶端要求以不同的形式打包發送報告。ALE協議是基于事件的,工作方式可為同步模式或異步模式,對實時性有較高的要求,而對接收到的EPC數據的存儲時間不要求很長,當收到的EPC數據已經被相關所有事件處理且發送后,該數據將可以被刪除。發送數據包的文件格式是XML格式,所有要發送給客戶或者其他閱讀器的數據封裝成為XML文件,客戶端將收到的數據文件后根據對應規定的XML格式解析出相應的數據信息。ALE在EPCglobal中的位置如圖1,位于原始EPC檢測事件層(RFID標簽閱讀層)和應用商業邏輯層之間。
3 基于EPCglobal ALE標準的嵌入式RFID中間件實現方案
3.1 本文設計的RFID中間件主要實現特點
該中間件構架于嵌入式系統中,它有別于運行在一般計算機上的中間件,在嵌入式系統上實現RFID中間件功能,使中間件可以集成在閱讀器上。這樣一方面增強了閱讀器的性能,使傳統“啞”閱讀器成為名副其實的“聰明”閱讀器,另一方面,使RFID中間件和閱讀器形成一個整體,體現了“All in a box”思想,這樣既方便了RFID系統的安裝,又降低了成本。該中間件同時支持EPCglobal ALE標準,該標準應用廣泛,可以應用于不同規格型號的閱讀器,支持多種標簽標準,為上層應用提供統一不變的標準接口,具有很強的通用性和兼容性。該中間件還具有網絡功能,具有普通的web服務器和數據庫功能,這實現了閱讀器與閱讀器,閱讀器與客戶端的網絡通信和數據緩沖,且網絡之間的數據都是封裝成為標準的XML格式傳輸。
3.2 嵌入式RFID閱讀器硬件系統平臺
該嵌入式RFID閱讀器有三個基本的硬件模塊:天線和射頻模塊,DSP基帶板模塊,主控系統模塊。天線和射頻模塊負責射頻信號的發射和接收,DSP基帶模塊負責對射頻模塊接收到的信號轉換為數字信號,進行CRC校驗,并把數據通過HPI接口傳給主控系統模塊,同時也負責對主控系統模塊發出的控制命令進行解析和實現。主控系統模塊主要負責整個系統的控制和標簽的處理,和客戶服務響應。
主控系統模塊主要由ARM(AT91RM9200)和周邊器件組成,操作系統為arm-linux2.4.19。中間件將運行于該模塊中。
3.3 嵌入式RFID中間件軟件體系結構
本系統采用分層的軟件體系結構,低層是Linux操作系統和各外設接口的驅動模塊,包括DSP驅動、網口驅動和串口驅動。中間層是GoAhead Web服務器和嵌入式數據庫SQLite,上層是閱讀器管理,ReadProtocol和ALE層,如圖2所示。
操作系統是中間件的基礎,采用嵌入式Linux作為本嵌入式RFID中間件的操作系統,Linux支持TCP/IP,HTTP等多種協議,省去了協議移植等復雜工作,降低了中間件的開發難度,縮短了開發周期。DSP驅動、網口驅動、串口驅動,是為RFID閱讀器開發的驅動模塊,只需在linux的支持上作些修改。Linux 移植技術已經成熟, 本文不作詳細的闡述。
GoAhead Web 服務器是一款主要面向嵌入式系統的 Web 服務器,主要功能模塊有安全模塊,GoForm模塊,CGI模塊,SSL(Secure Sockets Layer)模塊。其中安全模塊中又包含內存數據庫模塊,主要負責存儲用戶信息,以及提供保密安全機制。GoForm模塊主要負責處理客戶提交的表單數據,并以web頁面的形式返回相應的處理結果。CGI模塊主要處理客戶的CGI請求。SSL模塊在GoAhead中實現了SSL協議。它是本文設計嵌入式中間件的基本軟件架構,系統的所有網絡開發都是在這個架構上進行,GoAhead web服務器作為中間件的一個數據轉發平臺和模塊承載平臺,閱讀器與客戶端之間,閱讀器與閱讀器之間的數據通信都是由GoAhead Web服務器來完成,ALE協議實現模塊(ALE模塊),數據庫管理模塊,閱讀器管理模塊,ReaderProtocol Server模塊等的開發也是建立在GoAhead的基礎上的。
數據庫采用SQLite,SQLite是一種小巧、免費、開源的嵌入式數據庫應用軟件,它提供了標準SQL語言,并且由于其工作速度較快,滿足了數據的實時要求。它可以集成在應用軟件中,也可以獨立運行,本系統選用它主要是對原始數據進行平滑、過濾以及根據客戶端的命令篩選出數據。
Reader Management是閱讀器管理模塊,負責設置本閱讀器的工作狀態和工作模式。
Reader Protocol是閱讀器協議服務器,它負責管理所有與該中間件閱讀器相連的閱讀器,是Reader Protocol協議在中間件上的實現。
ALE Server是ALE協議服務器,它是該系統的核心,負責向上層應用程序提供標準的ALE接口,實現各個ALE接口。
3.4 ALE標準在該嵌入式中間件系統中的實現
如何在RFID中間件的軟件系統中實現EPCglobal ALE規范,是本系統開發的核心。在系統中,我們開發了ALE模塊用以實現了EPCglobal ALE標準,由于中間件采用的基本軟件架構是GoAhead Web服務器,它作了一個模塊承載平臺,在上面可以很好地嵌入ALE模塊。ALE模塊在GoAhead中的位置以及ALE模塊的處理流程如圖3所示。
客戶端用http協議發送一個ALE命令的XML文件給服務器端,服務器端在GoAhead進程中接收該xml文件,然后將該文件封裝成消息,根據不同的接口函數填充上具體消息類型,然后用命令消息隊列傳給ALE進程,在ALE進程中從命令消息隊列把消息取出,根據消息的類型把XML文件交給相應的函數去解析和做相應的操作。
在ALE模塊中,對于每個用戶定義的ECSpec(它是一個復雜的數據結構類型,規定了如何處理和完成一個事件周期),系統實現了四個狀態:Undefine,Unrequested,Requested,Active。Undefine表示該ECSpec現在已不能再使用,即將被釋放;Unrequested表示該ECSpec現在處于沒有用戶訂閱狀態;Requested 表示該ECSpec現在處于有用戶訂閱狀態;Active表示該ECSpec現在正要觸發線程來制作和發送報表的狀態。每個不處于Undefine的ECSpec將對應一專有的子線程(在ALE進程中創建),該子線程處理該ECSpec所規定的具體數據提取,報表制作和發送。各個ECSpec對應的子線程將互不干擾,子線程只跟主線程(ALE進程原線程)有聯系,通過條件變量機制實現主線程對子線程的觸發和控制。
系統在根據對應的ECSpec要求進行數據提取、過濾、整合時,將與數據庫系統模塊相互結合。數據庫系統模塊首先把從閱讀器讀到的原始數據進行濾除重復多余的EPC碼,并屏蔽各種不同閱讀器數據格式的差異,統一數據格式后將數據送入到數據庫SQLite中,成為數據庫操作的數據源。系統的數據提取等操作就是在該數據源中進行的,這些操作是通過應用SQLite自身標準SQL語言來實現的。在相應的數據操作完成后,必須把數據源中的過期數據進行刪除。
在完成了數據的提取和整合后,系統將把數據根據對應ECSpec的具體要求封裝成為XML格式,并以TCP方式發送給所訂閱的用戶。
4 結束語
本文作者研究的創新點是在基于EPCglobal ALE標準,如何設計構架于嵌入式系統中的RFID中間件方面上,提出了比較清晰的思路,并按照該思路實現了基于EPCglobal ALE標準的嵌入式RFID中間件,經編譯運行測試,該系統體積小、穩定可靠、實時性好、并行處理速度高,可廣泛應用于嵌入式RFID閱讀器系統中。
責任編輯:gt
-
嵌入式
+關注
關注
5071文章
19026瀏覽量
303495 -
服務器
+關注
關注
12文章
9029瀏覽量
85205 -
閱讀器
+關注
關注
0文章
299瀏覽量
27908
發布評論請先 登錄
相關推薦
評論