好吊视频一区二区三区-国产精品V欧美精品V日韩精品-老司机亚洲精品影院-国产精品视频免费播放

物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  技術文章  >  其他  >  正文

底層讀寫器協議淺析

作者:劉東杰,蔣 泰,冉東梅
來源:微型機與應用
日期:2016-11-07 14:20:57
摘要:RFID標準化組織EPCglobal在2007年推出了底層讀寫器協議LLRP(Low Level Reader Protocol),它為讀寫器和其控制器提供了標準的網絡接口,極大地提高了RFID應用系統的構建效率。借助于開源的RFID中間件平臺Fosstrak對LLRP協議及其實現進行分析對比,會使開發者對LLRP協議有更深入的理解,為實現EPCglobal系統打下了堅實的基礎。

  0 引言

  射頻識別(Radio Frequency Identification,RFID)是一種非接觸式的自動識別技術,它利用無線射頻方式進行雙向通信并交換數據,以達到識別目標的目的。由于其具有標簽容量大、數據保密性好、傳輸可靠性高,以及非可視識別、移動識別、多目標識別、定位及長期跟蹤管理等特點,RFID技術在2005年入選“建議企業引入的十大策略技術”,并被公認為本世紀十大重要技術之一[1]。

  目前,RFID技術被廣泛應用于生產、防偽、產品跟蹤、交通、物流、資產管理等眾多領域,射頻識別技術已經成為企業提高供應鏈管理水平,降低生產成本,實現企業信息化管理,增強企業競爭能力的有力技術手段和工具。

  但是,在傳統的RFID應用與開發中,RFID讀寫器與其控制器的客戶端之間的通信協議并沒有統一,它們之間的連接需要適配讀寫器廠商私有的接口。因此,當RFID讀寫器在硬件或軟件上稍有變動,則客戶端的軟件就必須隨之一起改動。當用戶采用不同供應商提供的產品時,其維護成本也隨之提高,這就造成了開發工作的重復性以及系統之間的不兼容性和維護的復雜性,同時也影響了RFID技術的發展和普及。

  為了解決RFID技術在相關領域缺乏統一標準的問題,全球電子產品編碼協會(Electronic Product Code global,EPCglobal)于2007年發布了底層讀寫器協議(LLRP)[2]。該協議定義了RFID讀寫器與其控制器客戶端的接口規范,使得軟件開發者能夠更加專注于客戶的需求,極大地提高了RFID應用系統的構建效率。本文將通過Fosstrak平臺對LLRP進行分析,以深入理解LLRP的數據結構、工作流程及實現方式等,更好地掌握LLRP的使用方法。

  1 Fosstrak平臺簡介

  Fosstrak是一個實現了EPC網絡規范的開源的RFID軟件平臺。它提供了軟件的核心組件,旨在為應用程序開發人員和集成商提供一些支持。Fosstrak由EPCIS Repository、Tag Data Translation(TDT)Library、Filtering& Collection Middleware with ALE and LLRP Support和LLRP Commander四個模塊組成。本文中主要使用到Fosstrak的LLRP Commander模塊。

  LLRP Commander是Fosstrak以Eclipse插件的形式對LLRP讀寫器控制器(客戶端)的實現。通過它可以對兼容LLRP協議的RFID讀寫器進行配置與管理操作。

  LLRP Commander提供了XML、binary、graphical三種不同的編輯視圖,使開發者可以方便地檢查和修改LLRP消息。圖1展示了LLRP Commander的XML編輯視圖。

底層讀寫器協議淺析

  2 LLRP標準的分析

  LLRP應用于RFID讀寫器與控制器之間,它負責讀寫器與控制器之間的連接,且可與讀寫器與標簽通信的空中接口協議進行互動[3-4],如圖2所示。它將低層讀寫器的射頻協議屏蔽掉,而暴露給客戶端的是統一的協議接口,使得客戶端可以無差別地對低層的讀寫器進行控制和管理。

底層讀寫器協議淺析

  LLRP協議為客戶端與讀寫器之間提供了通信的格式和過程。這些交互過程以LLRP消息為基本的數據單元進行通信,主要包括客戶端-讀寫器消息和讀寫器-客戶端消息。

  2.1 LLRP的基本數據類型

  LLRP的基本數據類型包括消息(Messages)、參數(Parameters)和域(Fields)[2]。其中消息可以包含一個或多個參數或域,而一個參數也可以包含一個或多個參數(子參數)或域。

  從客戶端到讀寫器的消息包括:獲取和設置讀寫器的配置信息;讀寫器的能力發現(包括讀寫器的天線數、通用輸入/輸出端口數等);管理讀寫器的清點和訪問操作。從讀寫器到客戶端的信息包括:讀寫器的狀態報告、射頻監測的信息、清點和訪問操作的結果報告。

  LLRP消息中定義了兩個基本的操作規格即讀寫器操作規格(Reader Operations Specification,ROSpec)和訪問規格(Access Specification)。

  ROSpec負責處理讀寫器的操作(Reader Operation,RO)。在一個RO中至少包含了一個規格AISpec或者RFSurveySpec。其中AISpec負責標簽的盤點作業,RFSurveySpec負責獲取讀寫器操作天線的射頻功率的信息。除此之外,在ROSpec中還可以根據實際情況加入其他的規格,比如ROReportSpec(它描述了一個報告的發送時機以及報告中包含的內容等信息),或者一些自定義的規格(LLRP靈活的可擴展性允許供應商按照一定的規則對其進行擴展,有利于產品的創新與競爭)。

  Access Specification描述了對標簽內存中非EPC信息的操作。

  2.2 LLRP的工作流程

  典型的LLRP客戶端與讀寫器之間的交互過程如圖3所示。

底層讀寫器協議淺析

  從圖3可以看出,LLRP的工作流程主要包括以下幾個階段[5]:

  (1)客戶端將向讀寫器發送配置命令。這些配置可以包括讀寫器的能力發現、配置和查詢讀寫器的設置。讀寫器能力發現包括讀寫器的天線數、天線接收靈敏度、天線支持的空中協議、通用輸入輸出端口(GPIO)數等。在配置讀寫器設置時,除了可以設置天線的模式、GPIO的狀態等,還可以設置ROReportSpec、AccessReportSpec等作為默認的報告規格。在客戶端發送配置消息后,讀寫器在完成了相關的設置之后會向客戶端發送相應的響應消息。

  (2)讀寫器配置階段執行完畢后,客戶端向讀寫器發送LLRP所定義的ROSpec和AccessSpec等操作命令集,對讀寫器標簽的存取操作進行設置與更新。在該階段,如果在ROSpec規格中沒有設置相關的報告規格(如ROReportSpec),則會使用在讀寫器配置階段所設置的默認報告規格;如果在ROSpec中設置了相關的報告規格,則將覆蓋默認的報告規格。

  (3)在相關配置工作完成之后,對發生的符合條件的事件,將開始執行讀寫器操作并向客戶端返回相應的信息報告。讀寫器操作包括標簽的盤點、存取和對讀寫器的射頻監測等。

  3 LLRP消息的實現

  LLRP的兩個端點(客戶端與讀寫器端)之間是通過TCP/IP進行通信的[2],同時LLRP消息以二進制編碼的格式在它們之間進行傳輸。這種方式是高效、快速的。LLRP規范中定義了LLRP消息的二進制編碼格式,如圖4所示。如果開發者直接以二進制的形式實現LLRP消息的話,將是困難的、低效的。因此,根據以上對LLRP的分析,以及LLRP Commander中的實現方式,并考慮到編程語言的效率,一般采用“面向文檔”和“面向對象”兩種方式對LLRP消息進行實現。

底層讀寫器協議淺析

  面向文檔的實現方式是基于XML的方式[6]。由于LLRP消息是嵌套的,即消息可以包含一個或多個參數或域,而一個參數也可以包含一個或多個參數或域,因此XML標簽的可嵌套性和可擴展性的特點非常適合于LLRP消息的實現。利用官方提供的llrp.xsd文檔,開發人員可以方便地構造出一個面向文檔的LLRP消息。在LLRP Commander中提供了一些LLRP消息的例子,其中ADD_ROSPEC消息的XML描述見圖1。

  在圖1中,根節點ADD_ROSPEC是LLRP中的消息,子節點ROSpec、ROBoundarySpec、OSpecStartTrigger、ROSpecStopTrigger、AISpec、AISpecStopTrigger、InventoryParameterSpec是LLRP中的參數,而ROSpecID、Priority、CurrentState、ROSpecStartTriggerType等其他的子節點則為LLRP中的域。

  面向對象的實現方式就是將特定的消息和面向對象中定義的對象一一對應[7]。在以面向對象的方式實現LLRP消息時,LLRP規范中每一個特定的消息都對應一個類,每一個特定的參數也都對應一個類,而域則是作為消息類與參數類的成員變量。如果在LLRP的定義中某個消息包含某個參數,則此參數也將作為該消息的一個成員變量。該消息類與其所包含的參數類之間構成了一種組合關系。這里,同樣以ADD_ROSPEC消息的面向對象實現方式的UML類圖為例來進行說明,如圖5所示。

底層讀寫器協議淺析

  在圖5中,ADD_ROSPEC就是一個消息類,它對應于LLRP中的一個消息,而該消息類的一個成員變量ROSpec則是ROSPEC參數類的對象,它對應于LLRP中的一個參數。同時,在參數類ROSPEC中也包含參數類ROBoundarySpec等。

  4 結論

  LLRP作為讀寫器與客戶端之間的一個接口標準,它不需要去適配各個讀寫器廠商私有的接口,而是提供了標準的接口來接入不同廠商的讀寫器,極大地提高了RFID應用系統的構建效率。通過對LLRP數據結構、工作流程的分析,以及對其實現方式的比較,使開發者能夠對其有更深入的認知,提高應用效率,為實現相關應用系統奠定了堅實的基礎。

  參考文獻

  [1] 武君勝,李瑞賢.射頻識別系統底層協議開發工具包設計[J].計算機測量與控制,2010,18(1):179-182.

  [2] EPCglobal Inc. llrp_1_1-standard-20101013 [EB/OL]. http://www.gs1.org/gsmp/kc/epcglobal/llrp/llrp_1_1-standard-20101013.pdf.

  [3] 宋林.構建基于LLRP的可擴展的RFID中間件[D].北京:北京郵電大學,2011.

  [4] 林強,趙辰,羅艷.底層識讀器協議規范與測試淺析[J].條碼與信息系統,2009(6):21-23.

  [5] 張益,楊國.基于低級別讀寫器協議的無線射頻識別中間件系統[J].中興通訊技術,2010,16(2):42-45.

  [6] POULOPOULOS D. A generalized binding framework for the low level reader protocol(LLRP)[D]. Cambridge: Massachusetts Institute of Technology, 2008.

  [7] CONSTANTINOU F. An object-oriented implementation of a low level reader protocol(LLRP) library[D]. Cambridge: Massachusetts Institute of Technology, 2008.