物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊(cè)

基于RFID訪問數(shù)據(jù)中間件的設(shè)計(jì)

作者:不詳
來源:電子技術(shù)
日期:2016-12-09 13:58:29
摘要:基于RFID 訪問數(shù)據(jù)的中間件,運(yùn)行在各種不同環(huán)境不同功能的設(shè)備中.這些設(shè)備通過RFID讀取器或者GPRS 網(wǎng)絡(luò)獲得RFID tag 是一個(gè)2 進(jìn)制序列,并不能直接被識(shí)別、處理和儲(chǔ)存.無論它們的RFID tag 的內(nèi)容和格式如何不同,運(yùn)行的環(huán)境有何差別,它們都需要一個(gè)中間件來將RFIDtag 的2 進(jìn)制序列轉(zhuǎn)化成自身需要的若干個(gè)長度和數(shù)據(jù)類型各異的數(shù)據(jù),然后再進(jìn)行顯示、處理或者儲(chǔ)存.文中的中間件,使用了標(biāo)準(zhǔn)的C/C+ + 編寫,可以運(yùn)行在各個(gè)支持C的環(huán)境中,支持對(duì)RFIDtag 進(jìn)行任意的定制,獲取RFID tag 并且按照定制的要求,轉(zhuǎn)化成1 組數(shù)據(jù),直接寫入到某個(gè)連續(xù)的buffer ,或者通過ADO 技術(shù)寫入指定的數(shù)據(jù)庫。
關(guān)鍵詞:RFID中間件

  RFID 是射頻識(shí)別技術(shù)的英文(Radio Frequency Identification ,RFID)的縮寫[ 1 ] ,又稱電子標(biāo)簽,射頻識(shí)別技術(shù)是20 世紀(jì)90 年代開始興起的一種自動(dòng)識(shí)別技術(shù),射頻識(shí)別技術(shù)是一項(xiàng)利用射頻信號(hào)通過空間耦合(交變磁場或電磁場)實(shí)現(xiàn)無接觸信息傳遞并通過所傳遞的信息達(dá)到識(shí)別目的的技術(shù). RFID 射頻識(shí)別是一種非接觸式的自動(dòng)識(shí)別技術(shù),它通過射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù),識(shí)別工作無須人工干預(yù),可工作于各種惡劣環(huán)境.RFID技術(shù)可識(shí)別高速運(yùn)動(dòng)物體并可同時(shí)識(shí)別多個(gè)標(biāo)簽,操作快捷方便[ 2 ] .

  中間件是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源.中間件位于客戶機(jī)/ 服務(wù)器的操作系統(tǒng)之上,管理計(jì)算資源和網(wǎng)絡(luò)通訊.是連接兩個(gè)獨(dú)立應(yīng)用程序或獨(dú)立系統(tǒng)的軟件.相連接的系統(tǒng),即使它們具有不同的接口,但通過中間件相互之間仍能交換信息.執(zhí)行中間件的一個(gè)關(guān)鍵途徑是信息傳遞.通過中間件,應(yīng)用程序可以工作于多平臺(tái)或OS 環(huán)境.簡單的說,中間件是位于平臺(tái)(硬件和操作系統(tǒng))和應(yīng)用之間的通用服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議.針對(duì)不同的操作系統(tǒng)和硬件平臺(tái),它們可以有符合接口和協(xié)議規(guī)范的多種實(shí)現(xiàn)[ 3 ] .

  RFID是2005 年建議企業(yè)可考慮引入的10 大策略技術(shù)之一,而中間件(Middleware) 可稱為是RFID運(yùn)作的中樞,因?yàn)樗梢约铀訇P(guān)鍵應(yīng)用的問世,這樣關(guān)鍵的應(yīng)用軟件(Killer Application)才能迅速推廣.本文結(jié)合‘基于RFID汽車防盜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)’課題,利用RFID 技術(shù)來解決汽車盜搶問題.主要是設(shè)計(jì)1 個(gè)通過上層傳達(dá)的格式信息對(duì)接收到的RFID進(jìn)行解析和傳遞的中間件.

  1 基于RFID 訪問數(shù)據(jù)的中間件的功能和設(shè)計(jì)

  中間件是1 種可復(fù)用軟件,工作在系統(tǒng)層面和應(yīng)用層面之間,為上層的應(yīng)用程序提供統(tǒng)一的服務(wù)接口,為下層不同的硬件或軟件提供不同數(shù)據(jù)接口,從而兼容了不同的硬件和軟件,對(duì)上層屏蔽了這些差別,以便于上層進(jìn)行簡單方便的應(yīng)用.可以看出,中間件是解決上述問題的最好形式.本文中設(shè)計(jì)的中間件,即是兼容了所有RFID tag 的獲取途徑,對(duì)上層屏蔽了這些不同器件的差別.同時(shí)接受上層的定制,獲得具體的RFID tag 的格式信息,包括長度,某幾位對(duì)應(yīng)的數(shù)據(jù)類型等.根據(jù)具體的定制,中間件將RFID tag 解析成一組不同數(shù)據(jù)類型的數(shù)據(jù).最后,根據(jù)需求的不同,將這組數(shù)據(jù)按不同的方式返回上層(圖1) .

基于RFID訪問數(shù)據(jù)中間件的設(shè)計(jì)

圖1 基于RFID訪問數(shù)據(jù)的中間件的功能

  圖1 中可以看到,獲取RFID tag 的不同途徑包括幾類.第一是不同類型的RFID讀取器,它們直接從一個(gè)RFIDLable 上讀取其tag .一般來說,在不同的應(yīng)用中,才會(huì)用到不同類型的RFID 讀取器.第二是GPRS 網(wǎng)絡(luò),或者internet 網(wǎng)絡(luò),或其他無線或有線網(wǎng)絡(luò).大部分RFID讀取器是分散的,可能無法通過有線網(wǎng)絡(luò)互連,大部分時(shí)候采用GPRS 網(wǎng)絡(luò)互相通信.網(wǎng)絡(luò)傳遞中,RFID 信息的傳遞還是以解析的RFID tag 的形式傳遞更為方便,效率高,糾錯(cuò)也容易.第三種獲取途徑,包括一些其他不常用的途徑,如上層直接傳遞1 個(gè)RFID tag 要求解析等等。

  中間件本身的功能是接受上層軟件的定制信息,然后將RFID tag 分解成1 組數(shù)據(jù).定制信息的內(nèi)容,包括RFID tag 的長度,其中包含字段的數(shù)目和每個(gè)字段的長度,以及每個(gè)字段應(yīng)該轉(zhuǎn)換成何種數(shù)據(jù)類型.這種可以接受定制的特性,是中間件可以復(fù)用的本質(zhì),保證了在不同的應(yīng)用當(dāng)中都可以憑借幾個(gè)簡單參數(shù)額傳遞得到需求的功能.

  上層對(duì)于RFID tag 解析后的數(shù)據(jù)可能有不同的應(yīng)用,例如顯示,處理,儲(chǔ)存等等.這些不同的應(yīng)用,可以簡單的分為2 類.一是直接使用,例如顯示,處理,這些需求中,對(duì)于解析后的數(shù)據(jù)進(jìn)行直接的操作即可.二是儲(chǔ)存,最常見的是寫入數(shù)據(jù)庫.總的來說,本文中設(shè)計(jì)的中間件需要有以下3個(gè)功能:

  (1)兼容各種RFID tag 的獲取途徑;

  (2)接受定制,解析RFID tag ;

  (3)根據(jù)不同的需求對(duì)解析后的數(shù)據(jù)進(jìn)行返回

  2 基于RFID 技術(shù)的訪問數(shù)據(jù)的中間件的算法及其實(shí)現(xiàn)[ 4]

  2 .1 RFID 的獲取

  RFID tag 是一個(gè)2 進(jìn)制序列.為了儲(chǔ)存這個(gè)2 進(jìn)制序列,需要一個(gè)具體的數(shù)據(jù)類型.本文中,使用了一個(gè)unsigned long 數(shù)組來進(jìn)行儲(chǔ)存.這個(gè)數(shù)組是不定長,動(dòng)態(tài)生成的,用一個(gè)unsigned long * 指示其啟示地址,用一個(gè)int 型變量指示其長度.不同CPU 的字長不同,所以一個(gè)unsignedlong 的位數(shù)也不同.本文中,軟件取sizeof(unsigned long) * 8 來自動(dòng)處理不同字長的問題.本機(jī)的CPU 是32 位字長,在XP 環(huán)境下,sizeof(unsignedlong) * 8 = 32 .

  對(duì)一個(gè)n 位的RFID tag ,n 除以sizeof ( unsigned long) * 8 向上取整就得到了unsigned long 數(shù)組的長度.RFID tag 順次的放在這個(gè)數(shù)組中,如果數(shù)組最后一個(gè)unsigned long 有多出的位用0 填補(bǔ).

  有兩種形式來獲取RFID tag .

  一是由上層傳遞.上層直接傳遞一個(gè)unsigned long * ,由此給出了RFID.這個(gè)功能也許并不常用到,大部分時(shí)間還是由下層獲取RFID tag[ 5 ] .另外就是由RFID 讀取器獲取RFID tag ,上層只告知讀取器的類型(實(shí)現(xiàn)約定好編號(hào)) .由中間件根據(jù)讀取器的類型,調(diào)用相應(yīng)的API 來獲取RFIDtag ,再轉(zhuǎn)化成統(tǒng)一的格式[ 6 ] .具體來說可以由以下如下形式的函數(shù)獲取RFID tag :

  bool getid (int n ,//RFID tag 的位數(shù)

  int t ,//RFID讀取器的類型

  unsigned long data[]//返回地址)

  具體上,針對(duì)不同類型的讀取器,也就是不同的參數(shù)t ,要分別編寫程序分支.

  2 .2 RFID 的解析算法流程圖

  把一個(gè)RFID tag 解析成要求的格式的流程如圖2 .

基于RFID訪問數(shù)據(jù)中間件的設(shè)計(jì)

圖2 RFID 解析算法流程圖

  3 中間件的應(yīng)用:基于RFID 技術(shù)的汽車監(jiān)控系統(tǒng)

  汽車盜搶和監(jiān)控目前已經(jīng)成為社會(huì)關(guān)注的1 個(gè)重要議題,利用RFID 技術(shù)來解決汽車盜搶問題是當(dāng)前監(jiān)控系統(tǒng)研究的一個(gè)熱點(diǎn).實(shí)際上防范汽車的盜搶,就是汽車的監(jiān)控問題,也就是能在各個(gè)地方,方便,自動(dòng)化的追蹤到過往的汽車信息的問題.利用RFID技術(shù),這一設(shè)想并不難實(shí)現(xiàn).

  傳統(tǒng)上,汽車的監(jiān)管是使用的車牌號(hào)系統(tǒng).實(shí)際上車牌號(hào)并不是汽車的惟一性標(biāo)識(shí),套牌車并不少見,偽造車牌也很容易,發(fā)動(dòng)機(jī)號(hào)碼才是一輛汽車的惟一標(biāo)識(shí),但是很明顯發(fā)動(dòng)機(jī)號(hào)碼不容易監(jiān)控.經(jīng)常能見到的在使用的汽車監(jiān)控系統(tǒng)有兩種.一是經(jīng)??梢钥吹骄焓褂玫?基于數(shù)據(jù)庫和無線網(wǎng)絡(luò)的,通常是一個(gè)筆記本電腦通過無線上網(wǎng),使用車牌號(hào)在遠(yuǎn)程服務(wù)器中查詢汽車的車主,外觀,交通記錄等等.這種監(jiān)管系統(tǒng)不但無法實(shí)現(xiàn)自動(dòng)化,而且處理速度緩慢,需要人工操作,如果用于追蹤犯罪車輛幾乎是無法實(shí)現(xiàn),或者反映不夠快的.第二種是公路收費(fèi)站的管理系統(tǒng),最早使用的是傳統(tǒng)的紙制票據(jù)業(yè)務(wù)進(jìn)行的管理:入口處拿票,出口處付款;現(xiàn)在大部分公路使用了IC 卡或者射頻卡(這應(yīng)用了RFID 技術(shù),但是并沒有把ID 和汽車綁定在一起) ,通過數(shù)據(jù)庫管理,實(shí)際上這管理的不是車而是經(jīng)過收費(fèi)站的每張卡.

  把這兩種方式結(jié)合起來,也就是,給每個(gè)汽車1個(gè)RFID用于識(shí)別,由此可以構(gòu)成整個(gè)汽車監(jiān)控系統(tǒng).每輛汽車擁有1 個(gè)RFID,類似1 個(gè)射頻卡,其中的ID 是汽車的惟一標(biāo)識(shí),包含簡要的車輛信息.各個(gè)需要監(jiān)控和管理的地方,安裝RFID 讀卡器,通過有線或者無線的方式連接數(shù)據(jù)庫和遠(yuǎn)程控制系統(tǒng),同時(shí)可以執(zhí)行簡要的控制功能.這種監(jiān)控措施可以存在于各個(gè)地方:收費(fèi)站,路口的紅綠燈,停車場,社區(qū)出入口,或者是手持的移動(dòng)終端,可以在任何位置檢測(cè)過往車輛的信息.

  毋庸置疑,這種系統(tǒng)的效率更高,幾乎實(shí)現(xiàn)了完全自動(dòng)化.RFID技術(shù)的特性保證了它的可靠性,大功率的RFID讀取器,可以在幾米到幾十米的范圍內(nèi)1 次讀取數(shù)10 個(gè)RFID.在安全性上,偽造RFID比偽造車牌需要更高技術(shù),而且如果需要的話,RFID可以有1 個(gè)加密部分用來進(jìn)行驗(yàn)證.

  4 結(jié)束語

  本設(shè)計(jì)的應(yīng)用是以‘基于RFID 技術(shù)的汽車監(jiān)控系統(tǒng)’為背景的.整個(gè)系統(tǒng)利用RFID 技術(shù),給每個(gè)車輛配發(fā)一個(gè)RFID Lable ,通過在各個(gè)位置的路邊機(jī)具和手持終端的RFID 讀取器,可以隨時(shí)讀取過往車輛的信息,以此達(dá)到在任意位置對(duì)車輛進(jìn)行監(jiān)控的目的.同時(shí)通過GPRS 網(wǎng)絡(luò),各個(gè)路邊機(jī)具和手持終端都可以將讀取到的RFID 信息發(fā)送給遠(yuǎn)程的數(shù)據(jù)庫和控制系統(tǒng)做進(jìn)一步處理,并且可以接收遠(yuǎn)程控制系統(tǒng)的命令做出一定的監(jiān)控行為,整個(gè)系統(tǒng)實(shí)現(xiàn)了在一定程度上的自動(dòng)化監(jiān)控.

  參考文獻(xiàn):

  [ 1] COMWARE 株式會(huì)社.RFID 的現(xiàn)狀和發(fā)展趨勢(shì)[M] .北京:人民郵電出版社,2 00 7 .

  [ 2] (德)Klaus Finkenzelle .射頻識(shí)別技術(shù).第3 版.[M] .北京:電子工業(yè)出版社,2 00 6 .

  [3 ] 張?jiān)朴?中間件技術(shù)原理與應(yīng)用/高等學(xué)校教材[M] .北京:清華大學(xué)出版社,2 00 6 .

  [ 4] 姜波.Windows CE .Net 程序設(shè)計(jì)[M] .北京:機(jī)械工業(yè)出版社,2 00 7 .

  [ 5] 同濟(jì)大學(xué).Windows CE 嵌入式系統(tǒng)[M] .北京:北京航空航天大學(xué)出版社,20 06 .

  [ 6] Richard Barnett ,Larry O’Cull and Sarah Cox . 嵌入式C編程與Atmel AVR[M] .周俊杰譯.北京:清華大學(xué)出版社,200 3 .

  :如需轉(zhuǎn)載,必須注明來源和作者,保留文中圖片和內(nèi)容的完整性,違者將依法追究。