RFID開發(fā)介紹_第1頁
RFID開發(fā)介紹_第2頁
RFID開發(fā)介紹_第3頁
RFID開發(fā)介紹_第4頁
RFID開發(fā)介紹_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、rfid開發(fā)介紹概述rfid (射頻識別技術(shù))是一種使能技術(shù),其本身并沒有提供多少價值,但它卻能使公司開發(fā)出相應(yīng)應(yīng)用來創(chuàng)造價值。概述rfid系統(tǒng)在實(shí)際應(yīng)用中,電子標(biāo)簽附著在待識別物體的表面,電子標(biāo)簽中保存有約定格式的電子數(shù)據(jù)。讀卡器可無接觸地讀取并識別電子標(biāo)簽中所保存的電子數(shù)據(jù),從而達(dá)到自動識別物體的目的。讀卡器通過天線發(fā)送出一定頻率的射頻信號,當(dāng)標(biāo)簽進(jìn)入磁場時產(chǎn)生感應(yīng)電流從而獲得能量,發(fā)送出自身編碼等信息,被讀取器讀取并解碼后送至電腦主機(jī)進(jìn)行相關(guān)處理。通常在讀卡器讀標(biāo)簽的時候給主機(jī)系統(tǒng)傳遞三個信息:標(biāo)簽id,讀卡器自己的id,讀標(biāo)簽的時間。 通過獲取這個讀卡器的位置,就知道了該產(chǎn)品的位置,以

2、及它是什么產(chǎn)品,然后根據(jù)時間數(shù)據(jù)跟蹤標(biāo)簽,就隨時隨地知道產(chǎn)品的位置了。系統(tǒng)結(jié)構(gòu)一個完整、典型的rfid系統(tǒng)通常由下面四個模塊組成:o 標(biāo)簽(tag) o 讀卡器(reader) o rfid中間件 o 應(yīng)用程序 標(biāo)簽(tag)標(biāo)簽由天線和芯片組成,天線在標(biāo)簽和讀卡器間傳遞射頻信號,芯片里面保存每個標(biāo)簽具有的唯一電子編碼和用戶數(shù)據(jù)。每個標(biāo)簽都有一個全球唯一的id號碼uid,uid是在制作芯片時放在rom中的,無法修改;用戶數(shù)據(jù)區(qū)是供用戶存放數(shù)據(jù)的,可以進(jìn)行讀寫、覆蓋、增加的操作。讀卡器(reader)讀?。ɑ?qū)懭耄?biāo)簽信息的設(shè)備,可設(shè)計為手持式或固定式。讀卡器對標(biāo)簽的操作有三類: 識別(iden

3、tify):讀取uid; 讀取(read):讀取用戶數(shù)據(jù); 寫入(write):寫入用戶數(shù)據(jù) rfid中間件rfid中間件是將底層rfid硬件和上層企業(yè)應(yīng)用結(jié)合在一起的粘合劑。 雖然原則上的中間件是橫向的軟件技術(shù),但在rfid系統(tǒng)中,為使其更適用于特定行業(yè),rfid中間件往往會針對行業(yè)做一定的適配工作。 在rfid系統(tǒng)這種具體情況下,中間件層除通常的功能外,還有以下特定功能: 使閱讀/寫入更加可靠 把數(shù)據(jù)通過讀卡器網(wǎng)絡(luò)推或者拉到正確位置(類似路由器) 監(jiān)測和控制讀卡器 提供安全讀/寫操作 降低射頻干擾 處理標(biāo)簽型和讀卡器型事件 應(yīng)用通知 接受并且轉(zhuǎn)發(fā)來自應(yīng)用的中斷指令 給用戶提供異常告警 從體

4、系結(jié)構(gòu)上講,rfid中間件還可以分為子層,包括邊緣層和集成層。邊緣與集成層的分離可以提高可伸縮性并降低客戶成本,因?yàn)檫吘墝蛹仁禽p量級的,成本又低。邊緣層定期輪詢讀卡器,刪除復(fù)本,并進(jìn)行篩選和設(shè)備管理。邊緣服務(wù)器還負(fù)責(zé)創(chuàng)建ale事件并將其分派至集成層。集成層接收多個ale事件并將其合并到涉及各種系統(tǒng)和人員的工作流中,這些系統(tǒng)和人員是更大的業(yè)務(wù)流程的一部分。集成層通過基于標(biāo)準(zhǔn)的jca適配器與打包應(yīng)用程序(如倉庫管理系統(tǒng)或產(chǎn)品信息管理系統(tǒng))交互。通過一些提供抽象層的控件和開源框架,該層也可以與系統(tǒng)一起工作,抽象層將后端組件公開為可重用組件。集成層也可以通過web服務(wù)接口與對象名解析服務(wù)進(jìn)行通信、利用

5、b2b消息通過防火墻中的網(wǎng)關(guān)與外部系統(tǒng)進(jìn)行通信。1)邊緣層邊緣層通常提供的功能有標(biāo)準(zhǔn)的設(shè)備支持和管理、高效的捕獲數(shù)據(jù)和過濾數(shù)據(jù)、創(chuàng)建ale事件并將其分派至集成層等。邊緣層應(yīng)該支持豐富的設(shè)備,包括流行的 rfid 讀卡器和打印機(jī),以及各類條形碼識別器、指示燈、led 顯示、電眼和可編程邏輯控制器 (plc)。它可以運(yùn)行在單獨(dú)的計算機(jī)上,也可以嵌入新出現(xiàn)的其他設(shè)備,如路由器中。應(yīng)該符合 epcglobal應(yīng)用級別事件 (ale) 標(biāo)準(zhǔn),提供易于使用的標(biāo)簽寫入和其他類型設(shè)備的擴(kuò)展功能,并支持 iso 和epcglobal 標(biāo)簽標(biāo)準(zhǔn)(包括 gen2)。隨著rfid技術(shù)的應(yīng)用日益廣泛,企業(yè)需要處理分布在

6、全球各個供應(yīng)鏈中數(shù)以千計的讀卡器的輸入信息??焖侔l(fā)展將會挑戰(zhàn)可伸縮性。需要處理的數(shù)據(jù)量非常龐大,這樣就產(chǎn)生了更大的挑戰(zhàn)。要處理這種級別的數(shù)據(jù)流量,需要使用非阻塞i/o機(jī)制。當(dāng)眾多用戶同時使用rfid訪問一個應(yīng)用程序時,大多數(shù)中 間件解決方案為每個客戶端打開一個插口,并為每個用戶建立獨(dú)有的線程。這種阻塞i/o技術(shù)嚴(yán)重限制了性能和可伸縮性。與此相反,非阻塞i/o可以使bea weblogic server之類的中間件能夠在多個并發(fā)用戶中復(fù)用少量的讀卡器線程,確保較高的性能和可伸縮性。在處理讀卡器的大流量數(shù)據(jù)流和進(jìn)行消息傳遞時,需要大量使用i/o和網(wǎng)絡(luò)。邊緣服務(wù)器的cpu利用主要用于邊緣服務(wù)器的復(fù)本

7、檢測和模式匹配。在 要處理的數(shù)據(jù)量確定的情況下,網(wǎng)絡(luò)帶寬也會成為一個問題?!芭繑?shù)據(jù)傳輸”即,將多個請求包裝在一個數(shù)據(jù)包中可以舒緩網(wǎng)絡(luò)堵塞問題。它還可以減少多個請求通過安全層及其它代碼層所需的時間。2)集成層集成層接收多個ale事件并將其合并到涉及各種系統(tǒng)和人員的工作流中,這些系統(tǒng)和人員是更大的業(yè)務(wù)流程的一部分。它通常提供的功能有安全性、互操作性、管理、消息傳遞和集成等等。 安全 對于rfid來說,大量相關(guān)的潛在敏感數(shù)據(jù)使得安全性成為rfid系統(tǒng)至關(guān)重要的一個方面。最低級別,安全管理可以防止讀卡器被關(guān)閉以及記錄項(xiàng)被竊取。因 此,必須通過驗(yàn)證、授權(quán)或?qū)徲媮肀Wo(hù)管理接口,這也許會通過ssl(sec

8、ure socket layer,安全套接字層)來實(shí)現(xiàn)。 互操作 互操作性對于確保rfid的成功實(shí)現(xiàn)具有多重重要意義?;蛟S,最迫切的需求是基于標(biāo)準(zhǔn)的jca適配器要有效連接到諸如倉庫管理系統(tǒng)或運(yùn)輸管理系統(tǒng)之 類的應(yīng)用程序。僅僅能夠以私有格式發(fā)布jms消息或事件是遠(yuǎn)遠(yuǎn)不夠的;應(yīng)用程序供應(yīng)商,比如sap、yantra和manhattan,要求事件以確定的 格式呈現(xiàn)。適配器可以填平鴻溝,將信息以可接受的格式傳播至恰當(dāng)?shù)膽?yīng)用程序。中間件解決方案應(yīng)能夠提供和支持適用于關(guān)鍵應(yīng)用程序的適配器。在其它方面,開箱即用的互操作性同樣至關(guān)重要。例如,中間件應(yīng)能夠與防火墻提供者、身份驗(yàn)證、授權(quán)和審計提供者、負(fù)載均衡系統(tǒng)

9、和jms供應(yīng)商進(jìn) 行互操作。讀卡器的互操作性也非常重要。盡管讀卡器通信協(xié)議的標(biāo)準(zhǔn)化一直在進(jìn)行,但在出現(xiàn)一個占據(jù)主導(dǎo)地位的標(biāo)準(zhǔn)之前,每個中間件供應(yīng)商都必須提供一個讀 卡器抽象層和互操作性解決方案。設(shè)計良好的架構(gòu)可以將讀卡器抽象層置于邊緣層,使得集成層具有讀卡器無關(guān)性。也就是說,集成層無需考慮特定的讀卡器協(xié)議或格式。 管理 隨著rfid在各個供應(yīng)鏈中啟用,管理整個架構(gòu)的能力成為必要。以高級別來看,rfid的監(jiān)控和管理包括兩個方面:設(shè)備管理和對讀卡器的配置。管理員需要一個管理整個架構(gòu)的接口,該接口應(yīng)該包含在一個集中式的門戶框架中。rfid管理解決方案還應(yīng)與現(xiàn)有的管理提供者(例如,hp openvie

10、w或tivoli)無縫集成,需要支持snmp和jmx之類的標(biāo)準(zhǔn)協(xié)議。理想的情況是,一個中央配置主機(jī)應(yīng)能夠?qū)⑴渲猛菩兄吝吘壓驼麄€供應(yīng)鏈中的讀卡器。 消息傳遞 保證的exactly-once(只發(fā)送一次)消息處理語義非常難以實(shí)現(xiàn)。即使在干預(yù)式消息傳輸過程中,發(fā)送方和接收方也都存在著消息中斷的可能 性。大部分中間件解決方案沒有考慮確保exactly-once消息語義的需求。但是,如果不考慮這個問題會產(chǎn)生一系列問題例如,單次交付報告會被無 意地交付多次。倉庫管理員就會認(rèn)為向合作伙伴發(fā)送了兩份報告而非一份;在不同的時間和地點(diǎn)多次發(fā)生這種情況,其效果就會非常驚人。另一個重要因素是確保對消息排隊和出隊的事務(wù)

11、性保證。如果消息沒有按事務(wù)順序排隊,隊列就沒有保證;類似地,出隊的消息也無法保證經(jīng)過完全處理。其它方面的考慮主要是圍繞操作冪等性重新執(zhí)行已部分完成的操作是否安全。有時,需要進(jìn)行連接的計算,特別是在發(fā)送方和接收方地理位置較遠(yuǎn)時。在這種情況下,如果一方依賴于另一方的同步響應(yīng),則網(wǎng)絡(luò)中斷就會帶來整個操作的終止。這種情況下應(yīng)該設(shè)為異步通信。通常使用jms進(jìn)行異步通信。但是,如果jms提供者在接收方,發(fā)送方如果無法對消息進(jìn)行排隊就會阻塞(或者引發(fā)錯誤并負(fù)責(zé)重新嘗試發(fā)送)。因 此,在發(fā)生這些問題的情況下,將jms放在接收方不會對發(fā)送方有任何幫助。但是,如果要使用存儲-轉(zhuǎn)發(fā)消息傳遞機(jī)制,其中的許多問題都可以

12、解決。這樣,異 步通信就可以恢復(fù),因?yàn)榇鎯?轉(zhuǎn)發(fā)系統(tǒng)會負(fù)責(zé)繼續(xù)發(fā)送消息、重試,等等。由于這個原因,jms bridge或存儲-轉(zhuǎn)發(fā)技術(shù)就顯得至為重要。 集成 需要進(jìn)行某種形式的企業(yè)應(yīng)用集成(enterprise application integration,eai)才能實(shí)現(xiàn)rfid事件的全部價值。僅僅將事件從邊緣服務(wù)器分派至一系列的應(yīng)用程序還不能成為完美的解決方案,因?yàn)樗鼤a(chǎn) 生與安全性、可靠消息傳遞、性能、可用性、適配器連接、業(yè)務(wù)流程界定等相關(guān)的問題。比較而言,eai解決方案可提供對一個問題的全面概覽。例如,一個在達(dá)拉斯和舊金山具有不同邊緣服務(wù)器的組織,可以將事件發(fā)送至共同的eai解 決方

13、案。涉及連接至不同邊緣服務(wù)器的讀卡器或天線的事件需要組合并關(guān)聯(lián)到一個統(tǒng)一的eai層。而且,復(fù)雜的事件組合不適用于這種情況,因?yàn)檫吘墝有枰加?cpu周期。隨著業(yè)務(wù)流程涉及到組織內(nèi)部和外部越來越多的系統(tǒng)和人員,eai層變得更為關(guān)鍵。其它一些方面也使得集成解決方案更為必要。要連接至后端應(yīng)用程序,需要使用基于標(biāo)準(zhǔn)的適配器;在可視化環(huán)境下匯編、監(jiān)控和管理流程的能力也非常 重要。通過通用抽象層(比如控件),在業(yè)務(wù)流程、門戶、web服務(wù)、rfid讀卡器和其它元素之間構(gòu)成復(fù)雜交互的能力可以大大提高。最后,在傳遞事件時,必須在邊緣層和實(shí)際集成層之間實(shí)現(xiàn)無縫集成。應(yīng)用程序rfid應(yīng)用通常根據(jù)來自標(biāo)簽的數(shù)據(jù)執(zhí)行特

14、定的動作,例如資產(chǎn)跟蹤和排序,在客戶買走某個商品后在系統(tǒng)中將其刪除。相反的,應(yīng)用也會根據(jù)企業(yè)內(nèi)部的信息對標(biāo)簽進(jìn)行寫入,例如對已經(jīng)售出的商品寫入“已銷售”信息或者對出發(fā)的運(yùn)貨的運(yùn)輸車寫入“零售路線”的信息。rfid應(yīng)用通常會根據(jù)不同的行業(yè)領(lǐng)域進(jìn)行分類:1. 倉儲庫存、資產(chǎn)管理領(lǐng)域因?yàn)殡娮訕?biāo)簽具有讀寫與方向無關(guān)、不易損壞、遠(yuǎn)距離讀取、多物品同時一起讀取等特點(diǎn),所以可以大大提高對出入庫產(chǎn)品信息的記錄采集速度和準(zhǔn)確性;減少庫存盤點(diǎn)時的人為失誤庫,提高存盤點(diǎn)的速度和準(zhǔn)確性。2. 產(chǎn)品跟蹤領(lǐng)域因?yàn)殡娮訕?biāo)簽?zāi)軌驘o接觸的快速識別,在網(wǎng)絡(luò)的支持下,可以實(shí)現(xiàn)對附有rfid 標(biāo)簽物品的跟蹤,并可清楚了解到物品的移動

15、位置,如已經(jīng)成功應(yīng)用的symbol公司為香港國際機(jī)場和美國mccarran 國際機(jī)場的行李跟蹤系統(tǒng)和中國鐵路列車監(jiān)控系統(tǒng)。3. 供應(yīng)鏈自動管理領(lǐng)域可以設(shè)想,如果商場的貨架部署的電子標(biāo)簽讀寫器,當(dāng)貨物減少時,系統(tǒng)會將缺貨信息自動傳遞給倉庫管理 系統(tǒng),并且系統(tǒng)會將缺貨信息自動匯總并傳遞給生產(chǎn)廠家。電子標(biāo)簽自動讀寫和在網(wǎng)絡(luò)中信息的方便傳遞功能將大大提高供應(yīng)鏈的管理水平,通過這個過程降低庫 存,提高生產(chǎn)的有效性和效率,從而大大提供企業(yè)的核心競爭力。電子標(biāo)簽在零售商店中的應(yīng)用包括從電子標(biāo)簽貨架、出入庫管理、自動結(jié)算等各個方面。沃爾瑪公司是全球 rfid電子標(biāo)簽最大的倡導(dǎo)者,現(xiàn)在 wal-mart 的兩個

16、大的供貨商 hp 和 p&g 已經(jīng)在他們的產(chǎn)品大包裝上開始使用電子標(biāo)簽。4. 防偽領(lǐng)域rfid 電子標(biāo)簽的應(yīng)用并不是為防偽單獨(dú)設(shè)計的,但是電子標(biāo)簽中的唯一編碼、電子標(biāo)簽仿造的難度以及電子標(biāo)簽的自動探測的特點(diǎn),都使電子標(biāo)簽具備了產(chǎn)品防偽和防盜 的作用,在產(chǎn)品上使用電子標(biāo)簽,還可以起到品牌保護(hù)的功能,防止生產(chǎn)和流通中盜竊的功能??蓮V泛應(yīng)用于藥品、品牌商品防偽、門禁、門票等身份識別領(lǐng)域。5. 醫(yī)療衛(wèi)生領(lǐng)域rfid技術(shù)在醫(yī)療衛(wèi)生領(lǐng)域的應(yīng)用包括對藥品監(jiān)控預(yù)防,對患者的持續(xù)護(hù)理、不間斷監(jiān)測、醫(yī)療記錄的安全共享、醫(yī)學(xué)設(shè)備的追蹤、進(jìn)行正確有效的醫(yī)學(xué)配藥、 以及不斷的改善數(shù)據(jù)顯示和通信,還包括對患者的識別與定位

17、功能,用來防止醫(yī)生做手術(shù)選錯了病人和防止護(hù)士抱錯了出生的嬰兒的事情發(fā)生。rfid相關(guān)標(biāo)準(zhǔn)目前,rfid還未形成統(tǒng)一的全球化標(biāo)準(zhǔn),市場為多種標(biāo)準(zhǔn)并存的局面,但隨著全球物流行業(yè)rfid大規(guī)模應(yīng)用的開始,rfid標(biāo)準(zhǔn)的統(tǒng)一已經(jīng)得到業(yè) 界的廣泛認(rèn)同。rfid系統(tǒng)主要由數(shù)據(jù)采集和后臺數(shù)據(jù)庫網(wǎng)絡(luò)應(yīng)用系統(tǒng)兩大部分組成。目前已經(jīng)發(fā)布或者是正在制定中的標(biāo)準(zhǔn)主要是與數(shù)據(jù)采集相關(guān)的,其中包括 電子標(biāo)簽與讀寫器之間的空氣接口、讀寫器與計算機(jī)之間的數(shù)據(jù)交換協(xié)議、rfid標(biāo)簽與讀寫器的性能和一致性測試規(guī)范、以及rfid標(biāo)簽的數(shù)據(jù)內(nèi)容編碼標(biāo)準(zhǔn) 等。后臺數(shù)據(jù)庫網(wǎng)絡(luò)應(yīng)用系統(tǒng)目前并沒有形成正式的國際標(biāo)準(zhǔn),只有少數(shù)產(chǎn)業(yè)聯(lián)盟制定了一

18、些規(guī)范,現(xiàn)階段還在不斷演變中。rfid標(biāo)準(zhǔn)爭奪的核心主要在rfid標(biāo)簽的數(shù)據(jù)內(nèi)容編碼標(biāo)準(zhǔn)這一領(lǐng)域。目前,形成了五大標(biāo)準(zhǔn)組織,分別代表了國際上不同團(tuán)體或者國家的利益。 epc global是由北美ucc產(chǎn)品統(tǒng)一編碼組織和歐洲ean產(chǎn)品標(biāo)準(zhǔn)組織聯(lián)合成立,在全球擁有上百家成員,得到了零售巨頭沃爾瑪,制造業(yè)巨頭強(qiáng)生、寶潔等跨 國公司的支持。而aim、iso、uid則代表了歐美國家和日本;ip-x的成員則以非洲、大洋洲、亞洲等國家為主。比較而言,epc global由于綜合了美國和歐洲廠商,實(shí)力相對占上風(fēng)。 epc global epc global是由ucc和ean聯(lián)合發(fā)起的非盈利性機(jī)構(gòu),全球最大的零

19、售商沃爾瑪連鎖集團(tuán)、英國tesco等100多家美國和歐洲的流通企業(yè)都是epc的 成員,同時由美國bea公司、ibm公司、微軟、auto-id lab等進(jìn)行技術(shù)研究支持。此組織除發(fā)布工業(yè)標(biāo)準(zhǔn)外,還負(fù)責(zé)epcgobal號碼注冊管理。epc global系統(tǒng)是一種基于eanucc編碼的系統(tǒng)。作為產(chǎn)品與服務(wù)流通過程信息的代碼化表示,eanucc編碼具有一整套涵蓋了貿(mào)易流通過程各種有 形或無形的產(chǎn)品所需的全球唯一的標(biāo)識代碼,包括貿(mào)易項(xiàng)目、物流單元、位置、資產(chǎn)、服務(wù)關(guān)系等標(biāo)識代碼。eanucc標(biāo)識代碼隨著產(chǎn)品或服務(wù)的產(chǎn)生在流通 源頭建立,并伴隨著該產(chǎn)品或服務(wù)的流動貫穿全過程。eanucc標(biāo)識代碼是固定結(jié)構(gòu)

20、、無含義、全球唯一的全數(shù)字型代碼。在epc標(biāo)簽信息規(guī)范1.1中采 用64-96位的電子產(chǎn)品編碼;在epc標(biāo)簽2.0規(guī)范中采用96-256位的電子產(chǎn)品編碼。 iso標(biāo)準(zhǔn) 國際標(biāo)準(zhǔn)化組織(iso)制定也制定了rfid自動識別和物品管理的一系列標(biāo)準(zhǔn)。例如,iso創(chuàng)造了使用rfid跟蹤牛群的標(biāo)準(zhǔn)。iso11784定義了如何組織標(biāo)簽的數(shù)據(jù)結(jié)構(gòu),iso11785定義空中接口協(xié)議。國際標(biāo)準(zhǔn)化組織也起草、建立了rfid標(biāo)簽在支付系統(tǒng)、非接觸智能卡和接觸式卡領(lǐng)域的空中接口標(biāo)準(zhǔn)(iso14443和iso15693)。它也建立了測試rfid標(biāo)簽和讀卡器兼容性的標(biāo)準(zhǔn)(iso18047)和測試rfid標(biāo)簽和讀卡器性能的

21、標(biāo)準(zhǔn) (iso18046)。下面是其中的一些標(biāo)準(zhǔn): iso 15693smart labels iso 14443contactless payments iso 11784livestock iso 18000 - 包括可能被用來追蹤貨物供應(yīng)鏈的空中接口協(xié)議。 它們基本覆蓋了用于rfid系統(tǒng)的頻率范圍。 它的七個組成部分是: o 180001: generic parameters for air interfaces for globally accepted frequencies o 180002: air interface for 135 khz o 180003: air int

22、erface for 13.56 mhz o 180004: air interface for 2.45 ghz o 180005: air interface for 5.8 ghz o 180006: air interface for 860 mhz to 930 mhz o 180007: air interface at 433.92 mhz bea參考實(shí)現(xiàn)bea在epcglobal-即rfid的國際標(biāo)準(zhǔn)組織內(nèi)一直保持領(lǐng)先地位。bea weblogic rfid 產(chǎn)品系列是第一個端到端、基于標(biāo)準(zhǔn)的rfid 基礎(chǔ)架構(gòu)平臺,能自動運(yùn)行具有全新 rfid 功能的業(yè)務(wù)流程。領(lǐng)先的無線射頻識

23、別 (rfid) 基礎(chǔ)架構(gòu)技術(shù)與 bea 面向服務(wù)架構(gòu) (soa) 驅(qū)動的平臺的強(qiáng)強(qiáng)結(jié)合,使企業(yè)可利用網(wǎng)絡(luò)邊緣和數(shù)據(jù)中心資產(chǎn),并在所有層次獲得無與倫比的擴(kuò)展性和性能。bea的參考架構(gòu)由四個層組成:讀卡器層、邊緣服務(wù)器層、集成層和應(yīng)用層。如下圖所示。底層的讀卡器以特定的速度輪詢標(biāo)記,通?;谝粋€類似于運(yùn)動傳感器的觸發(fā)器。無論在任何時間,ip可尋址的讀卡器應(yīng)由一個且僅由一個邊緣服務(wù)器進(jìn)行控制。該要求是避免與網(wǎng)絡(luò)分區(qū)相關(guān)的問題所必需的。邊緣服務(wù)器定期輪詢讀卡器(例如每秒兩次),刪除復(fù)本,并進(jìn)行篩選和設(shè)備管理。邊緣服務(wù)器還負(fù)責(zé)創(chuàng)建ale事件并將其分派至集成層。這種分派通常需要exactly-once消

24、息語義(參見上面的“消息傳遞”)。集成層接收多個ale事件并將其合并到涉及各種系統(tǒng)和人員的工作流中,這些系統(tǒng)和人員是更大的業(yè)務(wù)流程的一部分。集成層通過基于標(biāo)準(zhǔn)的jca適 配器與打包應(yīng)用程序(如倉庫管理系統(tǒng)或產(chǎn)品信息管理系統(tǒng))交互。通過一些提供抽象層的控件和開源框架,該層也可以與系統(tǒng)一起工作,抽象層將后端組件公開 為可重用組件。集成層也可以通過web服務(wù)接口與對象名解析服務(wù)(object naming service,ons)進(jìn)行通信。類似于dns服務(wù)器,ons可以用于查尋獨(dú)有的rfid標(biāo)記id以及確認(rèn)附加的產(chǎn)品信息。集成層還必須維護(hù)電子產(chǎn)品代 碼信息服務(wù)(electronic product

25、code information service,epc-is)儲存庫,并從中查詢數(shù)據(jù),該庫提供了ale事件(如:通過供應(yīng)鏈跟蹤和追蹤產(chǎn)品)的業(yè)務(wù)上下文。圍繞epc-is儲存庫的 標(biāo)準(zhǔn)目前正在定義。最后,集成層還可以利用b2b消息(如查詢epc-is儲存庫的edi或web服務(wù)請求)通過防火墻中的網(wǎng)關(guān)與外部系統(tǒng)進(jìn)行通信。邊緣與集成層的分離可以提高可伸縮性并降低客戶成本,因?yàn)檫吘墝蛹仁禽p量級的,成本又低。隨著應(yīng)用服務(wù)器和數(shù)據(jù)庫連接池的使用日益流行,互聯(lián)網(wǎng)數(shù)據(jù)庫連接的快速增長,隨著業(yè)界從互聯(lián)網(wǎng)通信轉(zhuǎn)向rfid通信,需要有一個單獨(dú)的層進(jìn)行篩選并將連接集中到集成層??刂葡⑼ㄟ^管理門戶流入系統(tǒng),進(jìn)入集成

26、層,然后進(jìn)入邊緣,最后進(jìn)入讀卡器。自動配置和配置沿著這個鏈向下進(jìn)行,而讀卡器數(shù)據(jù)逆鏈而上進(jìn)行篩選和傳播。本篇我們概要的介紹了rfid系統(tǒng)的工作原理、系統(tǒng)結(jié)構(gòu)、標(biāo)準(zhǔn)化工作和bea公司的rfid參考實(shí)現(xiàn)。在后續(xù)的文章中我們會教大家一步一步的學(xué)習(xí)使用bea公司提供的中間件產(chǎn)品來構(gòu)建rfid企業(yè)應(yīng)用。其中涉及的產(chǎn)品有包括bea edge server, bea enterprise server和 bea compliance express。作者簡介孟和孟和(dev2dev id: menghe),bea系統(tǒng)中國有限公司實(shí)習(xí)工程師,天津大學(xué)博士研究生,研究方向?yàn)閿?shù)據(jù)庫和計算機(jī)網(wǎng)絡(luò)。在無線內(nèi)容下載應(yīng)用

27、系統(tǒng)方面有豐富的經(jīng)驗(yàn),熟悉j2ee中間件領(lǐng)域,對derby、beehive等開源項(xiàng)目感興趣。rfid開發(fā)介紹edge server(1)時間:2006-08-31作者:孟和瀏覽次數(shù): 1723 本文關(guān)鍵字:rfid,射頻識別技術(shù),開發(fā),讀卡器,中間件,標(biāo)準(zhǔn)文章工具推薦給朋友打印文章接下來的文章會介紹如何安裝、配置和部署bea的rfid產(chǎn)品,包括bea edge server, bea enterprise server和 bea compliance express。默認(rèn)的,每個步驟都是接下來步驟的基礎(chǔ)。并且該配置是基于weblogic server 9.1的,本篇首先介紹bea edge s

28、erver。一. 安裝及使用1. 產(chǎn)品安裝(以windows為例) 從以下網(wǎng)址下載或者拷貝rfid_edge210_win32.exe 雙擊該文件,運(yùn)行安裝程序 看到介紹面板后,點(diǎn)擊“下一步” 看到許可面板后,接受許可,點(diǎn)擊“下一步” 看到安裝目錄選擇面板,選擇路徑或者默認(rèn),點(diǎn)擊“下一步” 看到安裝類型面板,選擇“快速”,點(diǎn)擊“下一步” 接下來的配置都按照默認(rèn)值,點(diǎn)擊“下一步” 瀏覽安裝信息摘要,點(diǎn)擊“安裝” 選擇“完成”結(jié)束安裝 2. 打開閱讀器模擬器、edge server和管理控制臺1. 打開資源管理器,瀏覽到bin 目錄 2. 打開閱讀器模擬器:雙擊runreadersim.bat.

29、3. 修改/etc/ps文件,修改后如下: com.connecterra.ale.serviceport = 6060com.connecterra.ale.savantid = savant_idcom.connecterra.ale.siteid = site_idcom.connecterra.ale.telemetryperiod = 5000或者可以使用edge server configuration wizard來進(jìn)行配置,配置過程如下:4. 從windows菜單選擇運(yùn)行configuration wizard 或者直接運(yùn)行/common/bin/config.

30、cmd命令: 5. configuration wizard打開后,首先進(jìn)入歡迎頁面,選擇其中的下一步。 6. 在出現(xiàn)的頁面中配置各參數(shù)如下: 7. 選擇下一步,在確認(rèn)頁面中選擇“創(chuàng)建”,最后確認(rèn)。 8. 打開edge server:瀏覽到bin 目錄,雙擊 runedgeserver.bat. 9. 修改/etc/ps,修改后如下: com.connecterra.ualegui.edgeserverurls=http:/localhost:606010. 打開管理控制臺: 瀏覽到bin 目錄,雙擊 runadminconsole.bat. 3. 使用管理控

31、制臺和ecspecs來驗(yàn)證操作安裝bea edge server是相對比較容易的,但是需要驗(yàn)證它的工作是否正確就需要我們進(jìn)一步學(xué)習(xí)了。使用管理控制臺和閱讀器模擬器,我們可以快速的配置一個“事件周期”(“event cycle specification”, or “ecspec”)來模擬讀取標(biāo)簽。下面就是創(chuàng)建一個簡單的ecspec并且使用管理控制臺的測試特性。在開始配置前,首先需要理解的一點(diǎn)是rfid應(yīng)用程序其實(shí)就是bea edge server的一個客戶端。bea edge server實(shí)現(xiàn)了ale(application level events)規(guī)范,ale客戶端需要定義一個ecspec

32、,然后提交給ale接口(即edge server)。edge server使用ecspec的內(nèi)容來控制閱讀器的限制條件、使用哪個邏輯閱讀器、報告返回等等。其中限制條件可能是例如何時開始讀卡、何時停止讀卡;一個邏輯閱讀器是一個任意的rfid閱讀點(diǎn),通常是具有統(tǒng)一命名的一組天線;報告指edge server返回給應(yīng)用程序的信息。具體操作如下:1. 在管理控制臺里面左邊的設(shè)備瀏覽器中,選中ecspecs 2. 在右邊選擇“new”,這樣會打開ecspec editor 3. 使用“”按鈕將connecterra1 和connecterra2兩個邏輯閱讀器到選擇窗口。 4. 在“stop”區(qū),選中“d

33、uration”,輸入5000,這個域以毫秒為單位。配置好地ecspec如下: 5. 在左邊選擇“reports” 6. 在右邊選擇“new report”,就按默認(rèn)設(shè)置創(chuàng)建名為“report_0”的報告,配置后的窗口如下: 7. 在菜單中選擇toolstest,看到如下窗口: 8. 在管理控制臺可以通過選擇設(shè)備瀏覽器中的rfid devices下面的simreadr來查看設(shè)備統(tǒng)計信息。有兩組圖,每個邏輯閱讀器或者天線,每個邏輯閱讀器都可以看到如下信息: 9. 讀周期時間一個完整的讀周期所用的時間,一個讀周期是edge server和閱讀器之間的最小交易單位,它被三個因素影響:(1) edge

34、 server和閱讀器之間協(xié)議交互所用的時間,這和驅(qū)動設(shè)計和實(shí)現(xiàn)有關(guān);(2)網(wǎng)絡(luò)延遲;(3)閱讀器內(nèi)部讀卡機(jī)制、設(shè)計等等。 10. 讀周期數(shù)- edge server執(zhí)行的總讀周期數(shù) 11. 標(biāo)簽數(shù):edge server所能讀到的標(biāo)簽數(shù) 4. 配置多個閱讀器模擬器在本節(jié)配置完成后,我們從邏輯上將實(shí)現(xiàn)如下的部署圖:首先,創(chuàng)建第二個閱讀器,并且配置edge server來使用它1. make a copy of, and put the copy in the bin directory. 1. 復(fù)制runreadersim.bat,放在bin目錄下,重命名為runreadersim2.bat

35、2. 打開runreadersim2.bat,將reader_port修改為5051,保存,關(guān)閉文件 3. 運(yùn)行新的模擬器(runreadersim2.bat). 4. 在管理控制臺配置edge server使用新的閱讀器:選擇設(shè)備管理器里面的rfid設(shè)備,在右邊窗口選擇simreadr,并且clone 5. 將新閱讀器的名字改為“simreadr2”,reader port 改為5051.兩個邏輯天線的名字修改為“connecterra3” 和“connecterra4”. 確定后,新的配置如下: 6. 為了測試,需要在ecspec中添加新的邏輯閱讀器,首先導(dǎo)出已經(jīng)存在的ecspec,然后再

36、導(dǎo)入并且添加新的邏輯閱讀器。 二. 讀取標(biāo)簽信息1. 運(yùn)行immediate示例immediate示例使用ale“immediate”方式來演示同步報告發(fā)布。1. 打開閱讀器模擬器、edge sever和管理控制臺 2. 打開資源管理器,瀏覽目錄 samplesimmediatesample. 3. 修改run.bat set edgehost=localhostset edgeport=60604. 點(diǎn)擊run.bat,觀察輸出,注意報告有7個標(biāo)簽 5. 使用管理控制臺ecspec editor導(dǎo)入示例的ecspec,ecspec文件也在該目錄中 測試導(dǎo)入的ecspec:2. 程序分析/*

37、* immediatesample 是使用ale api 從指定的邏輯讀卡器讀取一個epc 列表的小 * 程序 * ecspec 將從一個xml文件中讀取,周期報告也將以xml格式打印出來*/public class immediatesample/程序的使用說明,其中的命令行參數(shù)ecspecfilename 應(yīng)該是ecspec.xml,/aleserviceurl 形如:http:/localhost:6060/axis/services/epcglobalaleservice。 private static void usage() system.out.println( usage: i

38、mmediatesample ); system.exit(1); public static void main(string args) system.out.println( immediate sample, xml-based ); /分析命名行參數(shù) if ( args.length != 2 ) usage(); string aleserviceurl = args0; string ecspecfilename = args1; try / 創(chuàng)建一個ale客戶端實(shí)例 ale aleclient = new soapaleclient(new url(aleserviceurl)

39、; / 從xml文件讀取ecspec (event cycle specification) / ecspec 包括定義事件周期的所有參數(shù),也可以在程序中指定 ecspec myecspec = readecspec(ecspecfilename); / 使用 ale.immediate()方法,發(fā)出事件請求 / immediate() 在一個事件周期完成后會阻塞,并且返回報告 system.out.println( sending request to edge server.); ecreports myecreports = aleclient.immediate(myecspec);

40、system.out.println( .received response.n); printecreports(myecreports); catch (exception e) e.printstacktrace(); /* * 從xml文件讀取ecspec的輔助方法 */ private static ecspec readecspec(string ecspecfilename) throws ioexception, xmldeserializerexception / ecspec 和ecreports等對象可以轉(zhuǎn)換為xml 表現(xiàn)形式 / xmlserializationfact

41、ory是一個單態(tài)的工廠,從中可以通過轉(zhuǎn)換完成xml / 的序列化和反序列化 / 下面,使用xml反序列化將xml 中的內(nèi)容轉(zhuǎn)換為一個ecspec 對象實(shí)例 xmlserializationfactory factory = xmlserializationfactory.getinstance( xmlserializationsyntax.epcglobal_ale_1_0); xmldeserializer deserializer = factory.createdeserializer(); filereader filereader = new filereader(ecspecfi

42、lename); ecspec ecspec = deserializer.deserializeecspec(filereader); return ecspec; /* * 將xml形式的ecreports輸出到控制臺 */ private static void printecreports(ecreports ecreports) throws xmlserializerexception, ioexception system.out.println(received the following ecreports:n);/ xmlserializationfactory是一個單態(tài)的

43、工廠,獲取實(shí)例 xmlserializationfactory factory = xmlserializationfactory.getinstance( xmlserializationsyntax.epcglobal_ale_1_0); xmlserializer serializer = factory.createserializer(); /使用xml序列化將ecreports對象實(shí)例轉(zhuǎn)化為xml形式,并輸出. writer w = new outputstreamwriter(system.out); serializer.serialize(ecreports, w, true

44、); w.flush(); 三. 寫入標(biāo)簽信息1. 運(yùn)行 immediateprogram 示例1. 確保只打開一個閱讀器模擬器,并且只選中其中一個天線的一個標(biāo)簽: 2. 打開命令行窗口,瀏覽到samplesimmediateprogramsample 3. 執(zhí)行如下命令: run.bat urn:epc:tag:gid-64-i:1.4.104. 運(yùn)行結(jié)果應(yīng)該是xml格式的pcwritereport,表示寫入tag程序運(yùn)行的結(jié)果,如下: 5. received the following pcwritereport:6.7. pcwritereport date=2005-12-16t16:

45、10:44.265z savantid=edgeserverid specname=8. $immediate=0 totalmilliseconds=531 totaltrials=1 xmlns=http:/schemas.con9. 10. application specific data can go here11. true12. successful13. 14. simreadr15. 16. 17. 018. urn:epc:tag:gid-64-i:1.4.1019. connecterra1press any key to continue . . .o 元素表示寫入程序

46、成功,元素相應(yīng)的也設(shè)置為successful ;如果寫入出現(xiàn)問題, 將會提供診斷用的信息,例如cache_empty, reader_error等等 o 元素表示那個物理閱讀器參與了標(biāo)簽寫操作,我們的操作中可以看到是simreadr o 為空,表示寫操作周期中沒有失敗的閱讀器 o 被設(shè)置為零,可以在程序中設(shè)置該值,該值也與ecspec中的設(shè)置相關(guān)。 o 顯示寫入標(biāo)簽的值: urn:epc:tag:gid-64-i:1.4.10 o finally, indicates that the logical reader connecterra1 was the logical reader tha

47、t wrote this tag.程序分析/* * immediateprogramsample 是使用alepc api來通過邏輯讀卡器將epc值寫入標(biāo) * 簽的一個簡單程序 */public class immediateprogramsample/程序使用說明 private static void usage() system.out.println(usage: immediateprogramsample ); system.exit(1); public static void main(string args) system.out.println( immediate pro

48、gram sample, xml-based ); /分析命名行參數(shù) if ( args.length != 3 ) usage(); /程序的使用說明,其中的命令行參數(shù)pcspecfilename 應(yīng)該是pcspec.xml,/aleserviceurl 形如:http:/localhost:6060/axis/services/epcglobalaleservice。/ epcval是epc值 string aleserviceurl = args0; string pcspecfilename = args1; string epcval = args2; try / 創(chuàng)建一個alepc

49、客戶端實(shí)例. alepc aleclient = new axisalepcclient(new url(aleserviceurl);/ 從xml文件讀取pcspec (programming cycle specification) / pcspec包括定義寫入周期的所有參數(shù),也可以在程序中指定 pcspec pcspec = readpcspec(pcspecfilename); / 使用alepc.immediate()方法,發(fā)出事件請求 / immediate() 在一個事件周期完成后會阻塞,并且返回報告system.out.println( sending request to e

50、dge server.); pcwritereport writereport = aleclient.immediate(pcspec, new uri(epcval); system.out.println( .received response.n); printwritereport(writereport); catch (exception e) e.printstacktrace(); /* *從xml文件讀取pcspec的輔助方法 */ private static pcspec readpcspec(string pcspecfilename) throws ioexcept

51、ion, pcxmldeserializerexception / pcspec和pcwritereport等對象可以轉(zhuǎn)換為xml 表現(xiàn)形式 / pcxmlserializationfactory是單態(tài)工廠類,從中可以通過轉(zhuǎn)換完成xml / 的序列化和反序列化 / 下面,使用xml反序列化將xml 中的內(nèi)容轉(zhuǎn)換為一個pcspec對象實(shí)例 pcxmlserializationfactory factory = pcxmlserializationfactory.getinstance(); pcxmldeserializer deserializer = factory.createdeserializer(); filereader filere

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論