電話:15992422229 銷售一、13640293427 銷售二、13660366684 銷售三
郵箱:congseng@hotmail.com
地址:中國(guó)廣東省廣州市番禺區(qū)番禺大道北555號(hào)天安科技園總部中心14號(hào)樓二樓
技術(shù)支持:搜浪網(wǎng)絡(luò)
聲明:如果本站有使用不當(dāng)?shù)臉O限詞匯,并非本站之意愿,本站鄭重聲明所有極限詞匯全部作廢
一
掃
關(guān)
注
微
信
摘要:RFID標(biāo)準(zhǔn)化組織EPCglobal在2007年推出了底層讀寫器協(xié)議LLRP(Low Level Reader Protocol),它為讀寫器和其控制器提供了標(biāo)準(zhǔn)的網(wǎng)絡(luò)接口,極大地減少了RFID應(yīng)用平臺(tái)的構(gòu)筑效率。借助于開(kāi)源的RFID中間件平臺(tái)FosstrakLLRP協(xié)議以及推動(dòng)進(jìn)行探討對(duì)比,會(huì)使開(kāi)發(fā)者對(duì)LLRP協(xié)議有很深入的理解,為推動(dòng)EPCglobal系統(tǒng)打下了穩(wěn)固的基礎(chǔ)。
射頻識(shí)別(Radio Frequency Identification,RFID)是一種非接觸式的手動(dòng)識(shí)別科技,它運(yùn)用無(wú)線射頻方式進(jìn)行雙向通信并交換數(shù)據(jù),以超過(guò)識(shí)別目標(biāo)的目的。由于其具備標(biāo)簽容量大、數(shù)據(jù)保密性好、傳輸可靠性高,以及非可視識(shí)別、移動(dòng)識(shí)別、多目標(biāo)識(shí)別、定位及大量跟蹤管理等特征,RFID技術(shù)在2005年入選“建議企業(yè)采用的十大策略科技",并被公認(rèn)為本世紀(jì)十大重要技術(shù)之一[1]。
目前,RFID技術(shù)被廣泛應(yīng)用于生產(chǎn)、防偽、產(chǎn)品跟蹤、交通、物流、資產(chǎn)管控等諸多領(lǐng)域,射頻識(shí)別科技已經(jīng)作為企業(yè)提升供應(yīng)鏈管理水準(zhǔn),降低生產(chǎn)成本,實(shí)現(xiàn)企業(yè)信息化管理,增強(qiáng)企業(yè)競(jìng)爭(zhēng)能力的有力技術(shù)方法跟工具。
但是,在特色的RFID應(yīng)用與研發(fā)中,RFID讀寫器與其控制器的客戶端之間的通訊協(xié)議并沒(méi)有統(tǒng)一,它們之間的聯(lián)接需要適配讀寫器廠商私有的接口。因此,當(dāng)RFID讀寫器在硬件或工具上稍有變動(dòng),則客戶端的硬件就需要逐漸一起改動(dòng)。當(dāng)客戶選用不同供應(yīng)商提供的產(chǎn)品時(shí),其維護(hù)費(fèi)用也逐漸增加,這就導(dǎo)致了研發(fā)工作的重復(fù)性以及平臺(tái)之間的不兼容性和維護(hù)的復(fù)雜性,同時(shí)也妨礙了RFID技術(shù)的發(fā)展跟普及。
為了解決RFID技術(shù)在相關(guān)領(lǐng)域缺少統(tǒng)一標(biāo)準(zhǔn)的弊端,全球電子產(chǎn)品編碼協(xié)會(huì)(Electronic Product Code global,EPCglobal)于2007年發(fā)布了底層讀寫器協(xié)議(LLRP)[2]。該協(xié)議定義了RFID讀寫器與其控制器客戶端的接口完善,使得硬件開(kāi)發(fā)者能夠非常致力于用戶的意愿,極大地減少了RFID應(yīng)用平臺(tái)的建立效率。本文將借助Fosstrak平臺(tái)對(duì)LLRP進(jìn)行探討,以深入理解LLRP的數(shù)據(jù)結(jié)構(gòu)、工作步驟及推動(dòng)模式等,更好地掌握LLRP的使用方式。
LLRP標(biāo)準(zhǔn)的分析
LLRP應(yīng)用于RFID讀寫器與控制器之間,它負(fù)責(zé)讀寫器與控制器之間的聯(lián)接RFID讀寫器,且能與讀寫器與標(biāo)簽通信的空中接口協(xié)議進(jìn)行互動(dòng)[3-4],如圖2所示。它將低層讀寫器的射頻協(xié)議屏蔽掉,而暴露給客戶端的是統(tǒng)一的協(xié)議接口,使得客戶端可以無(wú)差別地對(duì)低層的讀寫器進(jìn)行控制跟管理。
LLRP協(xié)議為客戶端與讀寫器之間提供了通信的格式跟過(guò)程。這些交互過(guò)程以LLRP消息為基本的數(shù)據(jù)單元進(jìn)行通信,主要包含客戶端-讀寫器消息和讀寫器-客戶端消息。
2.1LLRP的基本數(shù)據(jù)類型
LLRP的基本數(shù)據(jù)類別包含消息(Messages)、參數(shù)(Parameters)和域(Fields)[2]。其中消息可以包括一個(gè)或多個(gè)參數(shù)或域,而一個(gè)參數(shù)也可以包括一個(gè)或多個(gè)參數(shù)(子參數(shù))或域。
從客戶端到讀寫器的消息包含:獲取和修改讀寫器的配置信息;讀寫器的能力看到(包括讀寫器的天線數(shù)、通用輸入/輸出端口數(shù)等);管理讀寫器的清點(diǎn)和訪問(wèn)操作。從讀寫器到客戶端的信息包含:讀寫器的狀況報(bào)告、射頻監(jiān)測(cè)的信息、清點(diǎn)和訪問(wèn)操作的結(jié)果報(bào)告。
LLRP消息中定義了兩個(gè)基本的操作規(guī)格即讀寫器操作規(guī)格(Reader Operations Specification,ROSpec)和訪問(wèn)規(guī)格(Access Specification)。
ROSpec負(fù)責(zé)處理讀寫器的操作(Reader Operation,RO)。在一個(gè)RO中大約包括了一個(gè)規(guī)格AISpec或者RFSurveySpec。其中AISpec負(fù)責(zé)標(biāo)簽的盤點(diǎn)作業(yè),RFSurveySpec負(fù)責(zé)獲取讀寫器操作天線的射頻電流的信息。除此之外,在ROSpec中還可以按照實(shí)際狀況加入其它的規(guī)格,比如ROReportSpec(它表述了一個(gè)報(bào)告的發(fā)送時(shí)機(jī)及其報(bào)告中包括的內(nèi)容等信息),或者一些自定義的規(guī)格(LLRP靈活的能擴(kuò)展性允許供應(yīng)商按照一定的規(guī)則對(duì)其進(jìn)行擴(kuò)充,有利于產(chǎn)品的變革與競(jìng)爭(zhēng))。
Access Specification描述了對(duì)標(biāo)簽存儲(chǔ)中非EPC信息的操作。
從圖3可以看出,LLRP的工作步驟主要包含下列幾個(gè)階段[5]:
(1)客戶端將向讀寫器發(fā)送配置命令。這些配置可以包含讀寫器的能力看到、配置跟查詢讀寫器的設(shè)定。讀寫器能力看到包含讀寫器的天線數(shù)、天線接收靈敏度、天線支持的空中協(xié)議、通用輸入輸出端口(GPIO)數(shù)等。在配置讀寫器設(shè)置時(shí),除了可以設(shè)定天線的方式、GPIO的狀況等,還可以設(shè)置ROReportSpec、AccessReportSpec等成為默認(rèn)的報(bào)告規(guī)格。在客戶端發(fā)送配置消息后,讀寫器在完成了相關(guān)的修改以后會(huì)向客戶端發(fā)送相應(yīng)的響應(yīng)消息。
(2)讀寫器配置階段執(zhí)行完畢后,客戶端向讀寫器發(fā)送LLRP所定義的ROSpec和AccessSpec等操作命令集,對(duì)讀寫器標(biāo)簽的轉(zhuǎn)儲(chǔ)操作進(jìn)行修改與升級(jí)。在該階段,如果在ROSpec規(guī)格中沒(méi)有設(shè)置相關(guān)的報(bào)告規(guī)格(如ROReportSpec),則會(huì)使用在讀寫器配置階段所設(shè)定的默認(rèn)報(bào)告規(guī)格;如果在ROSpec中設(shè)定了相關(guān)的報(bào)告規(guī)格,則將覆蓋默認(rèn)的報(bào)告規(guī)格。
(3)在相關(guān)配置工作完成以后,對(duì)出現(xiàn)的依照條件的事件,將起初執(zhí)行讀寫器操作并向客戶端返回相應(yīng)的信息報(bào)告。讀寫器操作比如標(biāo)簽的盤點(diǎn)、存取和對(duì)讀寫器的射頻監(jiān)測(cè)等。
3LLRP消息的實(shí)現(xiàn)
LLRP的兩個(gè)端點(diǎn)(客戶端與讀寫器端)之間是借助TCP/IP進(jìn)行通信的[2],同時(shí)LLRP消息以二進(jìn)制編碼的格式在他們之間進(jìn)行存儲(chǔ)。這種方法是高效、快速的。LLRP規(guī)范中定義了LLRP消息的二進(jìn)制編碼格式,如圖4所示。如果開(kāi)發(fā)者直接以二進(jìn)制的方式推動(dòng)LLRP消息的話,將是困難的、低效的。因此,根據(jù)以上對(duì)LLRP的剖析,以及LLRPCommander中的謀求方式,并考慮到編程語(yǔ)言的精度,一般采取“面向文檔”
和“面向?qū)ο髢煞N形式對(duì)LLRP消息進(jìn)行推動(dòng)。
面向文檔的謀求方式是基于XML的方法[6]。由于LLRP消息是嵌套的,即消息可以包括一個(gè)或多個(gè)參數(shù)或域,而一個(gè)參數(shù)也可以包括一個(gè)或多個(gè)參數(shù)或域,因此XML標(biāo)簽的可嵌套性和能擴(kuò)展性的特性十分適合于LLRP消息的謀求。利用官方提供的lrp.xsd文檔,開(kāi)發(fā)人員可以便捷地構(gòu)造出一個(gè)面向文檔的LLRP消息。在LLRP Commander中提供了一些LLRP消息的事例,其中ADD_ROSPEC消息的XML描述見(jiàn)圖1。
在圖1中,根節(jié)點(diǎn)ADD_ROSPEC是LLRP中的消息,子節(jié)點(diǎn)ROSpec、ROBoundaryspec、OSpecstartTrigger、ROSpecStopTrigger、AISpec、AISpecStopTrigger、InventoryParameterSpec是LLRP中的參數(shù),而ROSpecID、Priority、CurrentState、ROSpecStart Trigger Type等其它的子節(jié)點(diǎn)則為L(zhǎng)LRP中的域。
面向?qū)ο蟮闹\求方式就是將特定的消息跟面向?qū)ο笾卸x的對(duì)象一一對(duì)應(yīng)[7]。在以面向?qū)ο蟮男问酵苿?dòng)LLRP消息時(shí),LLRP規(guī)范中每一個(gè)特定的消息都對(duì)應(yīng)一個(gè)類,每一個(gè)特定的參數(shù)也都對(duì)應(yīng)一個(gè)類,而域則是成為消息類與參數(shù)類的成員變量。如果在LLRP的定義中某個(gè)消息包括某個(gè)參數(shù),則此參數(shù)也將成為該消息的一個(gè)成員變量。該消息類與其所包括的參數(shù)類之間組成了一種組合關(guān)系。這里,同樣以ADD_ROSPEC消息的面向?qū)ο髮?shí)現(xiàn)方法的UML類圖為例來(lái)進(jìn)行說(shuō)明,如圖5所示。
在圖5中,ADD_ROSPEC就是一個(gè)消息類,它對(duì)應(yīng)于LLRP中的一個(gè)消息RFID讀寫器,而該消息類的一個(gè)成員函數(shù)ROSpec則是ROSPEC參數(shù)類的對(duì)象,它對(duì)應(yīng)于LLRP中的一個(gè)參數(shù)。同時(shí),在參數(shù)類ROSPEC中也包括參數(shù)類ROBoundarySpec等。
4結(jié)論
LLRP作為讀寫器與客戶端之間的一個(gè)接口標(biāo)準(zhǔn),它不需要去適配各個(gè)讀寫器廠商私有的接口,而是提供了標(biāo)準(zhǔn)的接口來(lái)接入不同廠商的讀寫器,極大地減少了RFID應(yīng)用平臺(tái)的建立效率。通過(guò)對(duì)LLRP數(shù)據(jù)結(jié)構(gòu)、工作步驟的剖析,以及對(duì)其推動(dòng)模式的非常,使開(kāi)發(fā)者能夠?qū)ζ溆泻苌钊氲母兄?,提高?yīng)用效率,為推動(dòng)相關(guān)應(yīng)用平臺(tái)奠定了穩(wěn)固的基礎(chǔ)。