本發(fā)明涉及基于有源和無源的RFID數(shù)據(jù)采集和監(jiān)控方法,屬于射頻識(shí)別技術(shù)領(lǐng)域。
背景技術(shù):RFID射頻識(shí)別是一種非接觸的自動(dòng)識(shí)別技術(shù),其基本原理是利用射頻信號(hào)或空間耦合(電感或電磁耦合)的傳輸特性,實(shí)現(xiàn)對(duì)物品的自動(dòng)識(shí)別。RFID技術(shù)與其他的自動(dòng)識(shí)別技術(shù)(條形碼技術(shù)、光學(xué)識(shí)別等)相比,具有抗干擾能力強(qiáng)、信息量大、非視覺范圍讀寫和壽命長(zhǎng)等優(yōu)點(diǎn),被廣泛用于物流、供應(yīng)鏈、動(dòng)物和車輛識(shí)別、門禁系統(tǒng)、圖書管理、自動(dòng)收費(fèi)、生產(chǎn)制造等領(lǐng)域。然而,在選用RFID技術(shù)時(shí),不同的RFID產(chǎn)品具有不同的編程接口,而且有源RFID設(shè)備和無源RFID設(shè)備存在的差別更大?,F(xiàn)有的軟件和系統(tǒng)如何與不同的RFID設(shè)備結(jié)合使用,成為一個(gè)難點(diǎn)。另外,RFID標(biāo)簽中可能包含大量的涉密信息等,因此就需要一個(gè)能夠?qū)υ撔畔⑦M(jìn)行監(jiān)控的平臺(tái),實(shí)現(xiàn)對(duì)涉密物品的監(jiān)控等。目前RFID的數(shù)據(jù)采集主要是使用中間件技術(shù),一種基于可擴(kuò)展標(biāo)記語言的射頻識(shí)別中間件集成方法(公開號(hào)為CN102622231A)中提出一種基于XML語言的RFID中間件集成方法,主要是解決了不同企業(yè)的不同讀寫器的接口差異問題以及不同企業(yè)不同讀寫器讀取的數(shù)據(jù)結(jié)構(gòu)以及格式差異問題等兩個(gè)問題。該方法封裝了底層設(shè)備的不同接口,屏蔽底層設(shè)備接口的差異性。然后將獲取的RFID標(biāo)簽數(shù)據(jù)處理后以XML形式存在,該方法雖然解決了讀寫器接口差異性的問題以及數(shù)據(jù)格式一致化的問題。但是該方法依然有一些不足之處:(1)該專利只解決了不同企業(yè)不同讀寫器對(duì)采集標(biāo)簽數(shù)據(jù)接口的差異性,并沒有解決不同企業(yè)不同讀寫器的打開、關(guān)閉、寫標(biāo)簽數(shù)據(jù)等接口的差異性。(2)在解決數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)格式差異問題中,使用了兩個(gè)步驟,即先調(diào)用讀取數(shù)據(jù)方法,采集到區(qū)域內(nèi)的標(biāo)簽數(shù)據(jù),再調(diào)用將讀取數(shù)據(jù)轉(zhuǎn)化到可擴(kuò)展標(biāo)記語言XML的方法,每次只能處理一個(gè)數(shù)據(jù),不能進(jìn)行批量處理。另外,在對(duì)RFID數(shù)據(jù)采集之后,一般都是采用無源標(biāo)簽的形式對(duì)物品進(jìn)行監(jiān)控,即需要標(biāo)簽與物品建立對(duì)應(yīng)的聯(lián)系。然而由于無源RFID技術(shù)的受金屬表面及人體對(duì)信號(hào)的干擾比較大,不利于實(shí)現(xiàn)對(duì)筆記本之類的監(jiān)控。目前,為了彌補(bǔ)無源RFID技術(shù)的缺點(diǎn),對(duì)含有金屬的物品監(jiān)控是可以采用有源RFID技術(shù)。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明是一種基于有源和無源的RFID數(shù)據(jù)采集和監(jiān)控的方法,主要是針對(duì)上面提到的問題和不足之處,提出的一種RFID數(shù)據(jù)采集和監(jiān)控方法,主要解決了有源和無源讀寫器以及不同廠家不同讀寫器之間的接口差異化問題,也就是設(shè)計(jì)了一個(gè)同時(shí)兼容有源讀寫器和無源讀寫器的中間件,負(fù)責(zé)實(shí)現(xiàn)對(duì)數(shù)據(jù)的采集和處理??紤]到有源標(biāo)簽的壽命問題,本發(fā)明給有源讀寫器增加了激勵(lì)的狀態(tài)位,即只有處于激勵(lì)狀態(tài)下標(biāo)簽才能被讀寫器采集和處理,因此對(duì)數(shù)據(jù)格式的定義要加上此狀態(tài)。數(shù)據(jù)重復(fù)冗余數(shù)據(jù)過濾處理是在規(guī)定的時(shí)間內(nèi),保證一個(gè)標(biāo)簽只讀取一次,而且讀取的標(biāo)簽必須是已經(jīng)錄入到數(shù)據(jù)庫的標(biāo)簽。同時(shí)對(duì)采集到的數(shù)據(jù)采用統(tǒng)一的格式進(jìn)行處理和傳輸。采用結(jié)構(gòu)體對(duì)數(shù)據(jù)結(jié)構(gòu)和格式進(jìn)行統(tǒng)一的定義,針對(duì)小數(shù)據(jù)量的采集和監(jiān)控,使用結(jié)構(gòu)體封裝處理和傳輸,處理速度相應(yīng)較快。數(shù)據(jù)在傳輸?shù)臅r(shí)候,考慮到數(shù)據(jù)的安全性,進(jìn)行加密傳輸。為了實(shí)現(xiàn)對(duì)物品的監(jiān)控,預(yù)先將需要監(jiān)控的物品信息錄入到數(shù)據(jù)庫,給物品分配責(zé)任人、是否授權(quán)攜帶等屬性。將采集的數(shù)據(jù)與預(yù)先錄入數(shù)據(jù)庫的物品信息進(jìn)行匹配查找,根據(jù)相應(yīng)的策略,對(duì)物品進(jìn)行監(jiān)控及報(bào)警。本發(fā)明的技術(shù)方案為:一種基于有源和無源的RFID數(shù)據(jù)采集和監(jiān)控的方法,其步驟為:1)在監(jiān)控場(chǎng)所內(nèi)布設(shè)若干RFID讀寫器;所述RFID讀寫器與數(shù)據(jù)采集端數(shù)據(jù)連接;所述數(shù)據(jù)采集端設(shè)有一接口庫,所述接口庫中包括統(tǒng)一接口函數(shù)格式編寫的讀寫器接口;其中,所述RFID讀寫器包括有源RFID讀寫器和無源RFID讀寫器;2)數(shù)據(jù)采集端調(diào)用所述讀寫器接口中的讀寫器打開接口,驅(qū)動(dòng)RFID讀寫器采集標(biāo)簽數(shù)據(jù);3)數(shù)據(jù)采集端對(duì)RFID讀寫器采集的每一標(biāo)簽數(shù)據(jù),檢查該標(biāo)簽數(shù)據(jù)是否是已經(jīng)錄入到標(biāo)簽列表中,如果未錄入則將其錄入到該標(biāo)簽列表中;如果已錄入,則查看該標(biāo)簽數(shù)據(jù)在設(shè)定時(shí)間閾值內(nèi)是否已經(jīng)出現(xiàn),如果出現(xiàn),則放棄添加該標(biāo)簽至該標(biāo)簽列表且將該標(biāo)簽數(shù)據(jù)的時(shí)間改為當(dāng)前時(shí)間,否則繼續(xù)將該標(biāo)簽錄入到該標(biāo)簽列表中;4)數(shù)據(jù)采集結(jié)束后,數(shù)據(jù)采集端將該標(biāo)簽列表中的標(biāo)簽數(shù)據(jù)進(jìn)行數(shù)據(jù)格式一致化處理后發(fā)送給服務(wù)器端。進(jìn)一步的,所述讀寫器接口包括讀寫器打開接口、讀寫器關(guān)閉接口、讀取標(biāo)簽接口和狀態(tài)檢查接口。進(jìn)一步的,所述RFID讀寫器的驅(qū)動(dòng)中還設(shè)有統(tǒng)一結(jié)構(gòu)的清理存儲(chǔ)區(qū)接口和改寫標(biāo)簽ID接口。進(jìn)一步的,所述步驟2)采集標(biāo)簽數(shù)據(jù)的方法為:數(shù)據(jù)采集端首先調(diào)用讀寫器打開接口建立RFID讀寫器與標(biāo)簽的數(shù)據(jù)通信,然后數(shù)據(jù)采集端每次讀取標(biāo)簽數(shù)據(jù)時(shí),通過檢查讀寫器接口檢查RFID讀寫器的連接狀態(tài),如果為已連接,則調(diào)用RFID讀寫器讀取標(biāo)簽接口讀取標(biāo)簽數(shù)據(jù),讀取完畢之后調(diào)用讀寫器關(guān)閉接口關(guān)閉讀寫器與標(biāo)簽的通信連接。進(jìn)一步的,所述有源RFID讀寫器采集的有源標(biāo)簽中設(shè)有電量和激勵(lì)狀態(tài)兩個(gè)屬性,所述數(shù)據(jù)采集端設(shè)有一有源標(biāo)簽的激勵(lì)器;所述數(shù)據(jù)采集端調(diào)用讀寫器打開接口驅(qū)動(dòng)所述有源RFID讀寫器采集有源標(biāo)簽數(shù)據(jù)時(shí),先調(diào)用所述激勵(lì)器發(fā)送一個(gè)低頻信號(hào),將所述有源標(biāo)簽激勵(lì)到工作狀態(tài)進(jìn)行數(shù)據(jù)采集。進(jìn)一步的,所述數(shù)據(jù)采集端進(jìn)行數(shù)據(jù)格式一致化處理的方法為:所述數(shù)據(jù)采集端為無源RFID讀寫器采集的無源標(biāo)簽數(shù)據(jù)增加電量和激勵(lì)狀態(tài)兩個(gè)屬性,且電量屬性默認(rèn)為高電量、激勵(lì)狀態(tài)默認(rèn)為已激勵(lì)。進(jìn)一步的,所述數(shù)據(jù)采集端利用一數(shù)據(jù)結(jié)構(gòu)體進(jìn)行數(shù)據(jù)格式一致化處理,封裝為結(jié)構(gòu)體數(shù)據(jù),然后再將所述結(jié)構(gòu)體數(shù)據(jù)轉(zhuǎn)化成數(shù)據(jù)流的形式發(fā)送給所述服務(wù)器端;其中,所述數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)格式為:標(biāo)簽ID、標(biāo)簽的靈敏度、電量標(biāo)志位、是否處于激勵(lì)狀態(tài)、標(biāo)簽處理的時(shí)間戳。進(jìn)一步的,所述數(shù)據(jù)采集端對(duì)有源標(biāo)簽電量進(jìn)行監(jiān)控,當(dāng)有源標(biāo)簽的電量低于設(shè)定值時(shí)報(bào)警。進(jìn)一步的,所述數(shù)據(jù)采集端實(shí)時(shí)監(jiān)控讀寫器的狀態(tài),如果讀寫器出現(xiàn)不連網(wǎng)的狀態(tài),則調(diào)用斷線重連技術(shù)自動(dòng)重新連接RFID讀寫器,對(duì)RFID讀寫器進(jìn)行配置,使RFID讀寫器處于正常工作狀態(tài);如果在設(shè)定次數(shù)內(nèi)RFID讀寫器都未連接到網(wǎng)絡(luò),則判定為斷線,調(diào)用讀寫器接口指示連接狀態(tài)為已斷開,不再調(diào)用對(duì)應(yīng)的讀寫器接口。與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:本方法可實(shí)現(xiàn)對(duì)所有沾有有源標(biāo)簽和無源標(biāo)簽的物品的數(shù)據(jù)采集和監(jiān)控,同時(shí)解決了有源標(biāo)簽壽命短的問題,有效提高了處理速度,并且降低了漏報(bào)率,同時(shí),利于物品的監(jiān)控及定責(zé)操作。附圖說明圖1本發(fā)明方法流程圖;圖2數(shù)據(jù)過濾處理流程圖;圖3標(biāo)簽數(shù)據(jù)讀取方法流程圖;圖4為數(shù)據(jù)監(jiān)控流程圖。具體實(shí)施方式本發(fā)明的一種有源和無源的RFID數(shù)據(jù)采集和監(jiān)控方法流程如圖1所示,具體包括:(1)硬件部署在一些出入口布設(shè)RFID讀寫器,硬件布設(shè)是監(jiān)控的物理基礎(chǔ)。根據(jù)RFID系統(tǒng)使用的工作頻率可分為4類:低頻(LF,30~300kHz)、高頻(HF,3~30MHz)、超高頻(UHF,300~968MHz)和微波(UWF,2.4~5.8GHz)。不同頻率、型號(hào)的標(biāo)簽讀寫距離相差很多。研究證明,2.4GHz的RFID標(biāo)簽具有衰減較小,傳輸距離遠(yuǎn).傳輸數(shù)據(jù)快,數(shù)據(jù)吞吐量高,識(shí)別多目標(biāo)能力強(qiáng)的特點(diǎn)。本方法在實(shí)驗(yàn)中使用2.4GHz的有源標(biāo)簽以及900MHz的無源標(biāo)簽。一般來說,需要監(jiān)控的區(qū)域的出入口部署一個(gè)讀寫器,讀寫器在周期T內(nèi)不停的掃描獲取標(biāo)簽。且讀寫器和標(biāo)簽之間,要盡量避免隔擋,尤其是金屬隔擋,否則會(huì)大幅增加漏報(bào)率,影響性能。(2)用戶按照統(tǒng)一的接口函數(shù)格式編寫讀寫器接口,利用相應(yīng)的驅(qū)動(dòng)程序進(jìn)行封裝為dll文件,為接口實(shí)現(xiàn)提供相應(yīng)的接口庫。讀寫器接口包括對(duì)讀寫器的打開、關(guān)閉、清理存儲(chǔ)區(qū)、讀取標(biāo)簽、狀態(tài)檢查接口以及改寫標(biāo)簽的ID接口。這里最常用的是打開讀寫器接口和關(guān)閉讀寫器的操作接口。對(duì)于數(shù)據(jù)采集端的應(yīng)用程序,只需要調(diào)用接口庫中相應(yīng)的接口就可以進(jìn)行相應(yīng)的操作。相應(yīng)的接口定義為:如圖3所示,本發(fā)明通過定義的讀寫器接口實(shí)現(xiàn)采集標(biāo)簽數(shù)據(jù),首先通過調(diào)用讀寫器打開接口建立讀寫器與標(biāo)簽的數(shù)據(jù)通信,然后每次讀取標(biāo)簽數(shù)據(jù)時(shí),通過檢查讀寫器接口檢查讀寫器的連接狀態(tài),如果為已連接,則調(diào)用讀寫器讀取標(biāo)簽接口讀取標(biāo)簽數(shù)據(jù),讀取完畢之后調(diào)用讀寫器關(guān)閉接口關(guān)閉讀寫器與標(biāo)簽的通信連接。(3)服務(wù)器端對(duì)采集的數(shù)據(jù)進(jìn)行處理:數(shù)據(jù)采集端對(duì)RFID讀寫器采集的每一標(biāo)簽數(shù)據(jù),檢查該標(biāo)簽數(shù)據(jù)是否是已經(jīng)錄入到標(biāo)簽列表中,如果未錄入則將其錄入到該標(biāo)簽列表中;查看該標(biāo)簽數(shù)據(jù)在設(shè)定時(shí)間閾值內(nèi)是否已經(jīng)出現(xiàn),如果已出現(xiàn),且同一標(biāo)簽出現(xiàn)的時(shí)間間隔小于設(shè)定的時(shí)間閾值,則將標(biāo)簽列表中該標(biāo)簽數(shù)據(jù)的時(shí)間改為當(dāng)前時(shí)間,同時(shí)不在列表中繼續(xù)添加該改變信息;如大于或等于設(shè)定的時(shí)間閾值,則將標(biāo)簽錄入到標(biāo)簽列表中,作為一個(gè)新的標(biāo)簽來處理。該具體的處理流程如圖2所示。(4)數(shù)據(jù)格式一致化:定義了采集數(shù)據(jù)的結(jié)構(gòu)和格式,便于數(shù)據(jù)后期的處理和應(yīng)用。由于有源標(biāo)簽和無源標(biāo)簽的數(shù)據(jù)結(jié)構(gòu)的形式存在不同,最大的差別就是對(duì)于有源標(biāo)簽的電量和激勵(lì)狀態(tài)兩個(gè)屬性,而為了能對(duì)這些標(biāo)簽進(jìn)行統(tǒng)一的處理,為無源標(biāo)簽增加了這兩個(gè)狀態(tài)(電量默認(rèn)為高電量,激勵(lì)狀態(tài)默認(rèn)為已激勵(lì))。默認(rèn)的情況下有源標(biāo)簽不工作,只有在激勵(lì)的情況下,有源標(biāo)簽才工作,從而延長(zhǎng)有源標(biāo)簽的壽命。在實(shí)現(xiàn)中,需要使用對(duì)有源標(biāo)簽的激勵(lì)器,激勵(lì)器發(fā)送一個(gè)低頻信號(hào),有源標(biāo)簽在接收到低頻信號(hào)之后,開始處于工作狀態(tài),未激勵(lì)的標(biāo)簽,在(3)中就無法采集到,從而減少了數(shù)據(jù)量,減緩了系統(tǒng)的壓力。另外,數(shù)據(jù)采集端可以獲得有源標(biāo)簽的電池電量,通過對(duì)有源標(biāo)簽電量的監(jiān)控,實(shí)現(xiàn)對(duì)有源標(biāo)簽低電量的報(bào)警,提示更換有源標(biāo)簽,防止出現(xiàn)無法監(jiān)控物品的情況。具體數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)格式如下:在做數(shù)據(jù)格式一致化的過程中,我們只需要在上面的介紹的讀寫器統(tǒng)一接口中,在數(shù)據(jù)采集時(shí),調(diào)用讀取標(biāo)簽數(shù)據(jù)的接口LoadTagData(refXtiveTag[]tagData,refintRecordCount),在采集標(biāo)簽數(shù)據(jù)的同時(shí),我們就使用接口函數(shù)中的第一個(gè)參數(shù)XtiveTag進(jìn)行數(shù)據(jù)格式一致化,即只讀取XtiveTag中定義的屬性段,而不是全部讀取之后在篩選,提高了數(shù)據(jù)采集和處理的速度。同時(shí),在數(shù)據(jù)采集的過程中,一次可以讀取到很多的標(biāo)簽,LoadTagData接口函數(shù)中,使用第二個(gè)參數(shù)RecordCount來記錄一次讀取的標(biāo)簽個(gè)數(shù),便于數(shù)據(jù)處理。(5)數(shù)據(jù)傳輸加密:數(shù)據(jù)采集端對(duì)讀寫器設(shè)備采集到的數(shù)據(jù)經(jīng)過步驟(3)過濾等處理后,對(duì)數(shù)據(jù)進(jìn)行加密傳輸?shù)椒?wù)器端。這里需要使用兩個(gè)方法,StructToBytes()主要是將采集到的標(biāo)簽封裝成結(jié)構(gòu)體,然后再將結(jié)構(gòu)體數(shù)據(jù)轉(zhuǎn)化成數(shù)據(jù)流的形式;MD5Encrypt()主要是實(shí)現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)傳輸時(shí),對(duì)傳輸?shù)臄?shù)據(jù)流進(jìn)行加密,保證數(shù)據(jù)的安全。首先,使用StructToBytes()方法將數(shù)據(jù)流轉(zhuǎn)化為字節(jié)流,然后使用MD5Encrypt()方法對(duì)數(shù)據(jù)流進(jìn)行加密,在接收端,使用對(duì)應(yīng)的方法解密即可。(6)斷線重連機(jī)制:讀寫器接口有以下現(xiàn)象:建立連接的函數(shù)在網(wǎng)線連接正確的情況下不能保證每次調(diào)用都成功;建立連接的函數(shù)會(huì)阻塞調(diào)用線程幾秒鐘;當(dāng)建立連接的函數(shù)連接成功后,讀寫器接口指示連接狀態(tài)為已連接,但當(dāng)網(wǎng)線斷開或讀寫器掉電后,讀寫器接口指示連接狀態(tài)仍為已連接;在連接正確后,接收標(biāo)簽函數(shù)不能保證每次調(diào)用都成功;當(dāng)網(wǎng)絡(luò)連接斷開后重新連上時(shí),程序需要重新建立連接后,接收標(biāo)簽函數(shù)才能正確返回標(biāo)簽數(shù)據(jù)。針對(duì)這種情況,需要實(shí)時(shí)監(jiān)控讀寫器的狀態(tài),只要讀寫器出現(xiàn)不連網(wǎng)的狀態(tài),就調(diào)用斷線重連技術(shù),自動(dòng)的重新連接讀寫器,進(jìn)行讀寫器相應(yīng)的配置,使讀寫器處于正常的工作狀態(tài)。如果在規(guī)定的次數(shù)內(nèi)讀寫器都未連接到網(wǎng)絡(luò),則判定為真正的斷線,讀寫器接口指示連接狀態(tài)為已斷開,不會(huì)再調(diào)用接收標(biāo)簽的函數(shù)。需要相關(guān)人員進(jìn)行網(wǎng)絡(luò)通信的檢查。該機(jī)制減少了人為的系統(tǒng)維護(hù)的次數(shù)。(7)數(shù)據(jù)監(jiān)控:為了實(shí)現(xiàn)對(duì)物品的監(jiān)控,預(yù)先將需要監(jiān)控的物品信息錄入到數(shù)據(jù)庫,給物品分配責(zé)任人、是否授權(quán)攜帶等屬性。將采集的數(shù)據(jù)與預(yù)先錄入數(shù)據(jù)庫的物品信息進(jìn)行匹配查找,根據(jù)相應(yīng)的策略,對(duì)物品進(jìn)行監(jiān)控及報(bào)警。如圖4所示為本發(fā)明的數(shù)據(jù)監(jiān)控流程圖,對(duì)RFID標(biāo)簽數(shù)據(jù)的采集和處理,通過獲取的標(biāo)簽查詢數(shù)據(jù)庫,實(shí)現(xiàn)對(duì)要監(jiān)控物品的監(jiān)控。在本方法中,查詢主要是通過標(biāo)簽的ID進(jìn)行,另外,物品的信息存儲(chǔ)在物品信息表中,當(dāng)有未授權(quán)的物品通過時(shí)檢測(cè)區(qū)域時(shí),可以根據(jù)授權(quán)情況進(jìn)行報(bào)警。便于對(duì)物品的監(jiān)控管理。因此,本方法還實(shí)現(xiàn)對(duì)RFID數(shù)據(jù)監(jiān)控的功能。