首先介紹了RFID中間件的概念,接著介紹了通訊組件所處理的數(shù)據(jù)的封裝格式:即某企業(yè)的系列高頻讀寫器的通訊協(xié)議格式,。在此基礎(chǔ)上,,建立了底層數(shù)據(jù)通訊接口組件、設(shè)備網(wǎng)絡(luò)接口組件,、設(shè)備參數(shù)接口組件,、對(duì)標(biāo)簽讀寫操作接口組件、數(shù)據(jù)庫接口組件等五個(gè)接口組件的軟件設(shè)計(jì),,最終實(shí)現(xiàn)了RFID中間件通訊組件的設(shè)計(jì),,為第三方的企業(yè)級(jí)軟件應(yīng)用提供了基礎(chǔ)。
引言
射頻識(shí)別技術(shù)(Radio Frequency Identification,,縮寫RFID),,射頻識(shí)別技術(shù)是20世紀(jì)90年代開始興起的一種自動(dòng)識(shí)別技術(shù),射頻識(shí)別技術(shù)是一項(xiàng)利用射頻信號(hào)通過空間耦合(交變磁場或電磁場)實(shí)現(xiàn)無接觸信息傳遞并通過所傳遞的信息達(dá)到識(shí)別目的的技術(shù),。這個(gè)問題的本質(zhì)就是企業(yè)的應(yīng)用系統(tǒng)與硬件接口的問題.因此,,通透性就是整個(gè)應(yīng)用的關(guān)鍵,,正確抓取數(shù)據(jù),確保數(shù)據(jù)讀取的可靠性以及有效地將數(shù)據(jù)傳送到后端系統(tǒng)都是必須考慮的問題,。
傳統(tǒng)應(yīng)用程序與應(yīng)用程序之間的數(shù)據(jù)通透是通過中間件架構(gòu)解決,,并發(fā)展出各種服務(wù)器應(yīng)用軟件,因此,,中間件的架構(gòu)解決方案就成為了RFID應(yīng)用的一項(xiàng)極為重要的核心技術(shù),,作者討論的就是RFID中間件的一個(gè)解決方案。
1 RFID中間件技術(shù)
RFID技術(shù)的基本工作原理是:標(biāo)簽進(jìn)入磁場后,,接收讀寫器發(fā)出的射頻信號(hào),,憑借感應(yīng)電流所獲得的能量發(fā)送出存儲(chǔ)在芯片中的產(chǎn)品信息(Passive Tag,無源標(biāo)簽或被動(dòng)標(biāo)簽),,或者主動(dòng)發(fā)送某一頻率的信號(hào)(Active Tag,,有源標(biāo)簽或主動(dòng)標(biāo)簽):讀寫器讀取信息并解碼后,送至中央信息系統(tǒng)進(jìn)行有關(guān)數(shù)據(jù)處理,。中間件是介于應(yīng)用系統(tǒng)和系統(tǒng)軟件之間的一類軟件,,它使用系統(tǒng)軟件所提供的基礎(chǔ)服務(wù),銜接網(wǎng)絡(luò)上應(yīng)用系統(tǒng)的各個(gè)部分或不同的應(yīng)用,,以達(dá)到資源共享,、功能共享的目的.在具體實(shí)現(xiàn)上,中間件是一個(gè)用API定義的軟件層,,具有強(qiáng)大的通信能力和良好的可擴(kuò)展性,。
RFID中間件是一種面向消息的中間件(Message Oriented Middleware,MOM),,其中信息(Information)是以消息(Message)的形式,,采用異步(A—synchronous)的方式從一個(gè)程序傳送到另一個(gè)或多個(gè)程序,傳送者不必等待回應(yīng),。它的作用主要體現(xiàn)在三個(gè)方面,,一是控制RFID讀寫設(shè)備按照預(yù)定的方式工作,保證不同讀寫設(shè)備之間配合協(xié)調(diào),;二是按照一定規(guī)則過濾數(shù)據(jù),,篩除絕大部分冗余數(shù)據(jù),將真正有效的數(shù)據(jù)傳送給后臺(tái)信息系統(tǒng),;三是保證讀寫器和企業(yè)級(jí)分布式應(yīng)用系統(tǒng)平臺(tái)之間的可靠通信,。
2 RFID通訊組件的結(jié)構(gòu)框架
針對(duì)讀寫器在各種應(yīng)用軟件中的應(yīng)用,作者對(duì)RFID讀寫器的通訊指令,,采用組件封裝和SDK方式,,進(jìn)行了標(biāo)準(zhǔn)化,形成RFID標(biāo)準(zhǔn)組件,,RFID標(biāo)準(zhǔn)組件是連接標(biāo)簽讀寫器,、控制器和企業(yè)應(yīng)用程序之間的標(biāo)準(zhǔn)化軟件接口程序集合,,具有分布式結(jié)構(gòu),以層次化進(jìn)行組織,、管理數(shù)據(jù)流,,有效增加了軟件的可重用性,簡化了上位機(jī)應(yīng)用軟件的開發(fā),,提高了應(yīng)用軟件的可靠性和穩(wěn)定性,。本系統(tǒng)中的RFID通訊組件要求實(shí)現(xiàn)如下功能:提供RS232/485串口通訊接口組件、TCP/IP,、UDP網(wǎng)絡(luò)通訊接口組件,,搜索讀寫器、配置讀寫器參數(shù)接口,,讀取,、設(shè)置標(biāo)簽數(shù)據(jù)接口以及統(tǒng)一配置軟件,其架構(gòu)圖如圖1所示,。
圖1 RFID通訊組件的框架
其中SDK(Software Development Kit)是指可以供軟件開發(fā)人員開發(fā)自己可以在特定的平臺(tái)上運(yùn)行或者通過API(Application Program Interface)運(yùn)行的軟件產(chǎn)品的一組程序(文檔)集合,;組件(Component):是對(duì)數(shù)據(jù)和方法的二進(jìn)制封裝,具備跨語言調(diào)用,,良好的可重用性,,進(jìn)程獨(dú)立性等優(yōu)點(diǎn)。
3 RFID通訊協(xié)議格式
RFID通訊組件最重要的是對(duì)數(shù)據(jù)的處理,。作者重點(diǎn)介紹讀寫器對(duì)數(shù)據(jù)的處理,,即通訊協(xié)議格式.文中所使用的讀寫器是某公司的高頻工業(yè)讀寫器系列,包含PRR8160讀寫器,、PRR8152讀寫器,、PRR8032讀寫器。下面將簡單介紹本軟件中所涉及的這幾種RFID讀寫器,,重點(diǎn)介紹PRR8160讀寫器。
3.1 PRR8160讀寫器
PRR8160是一款應(yīng)用于工業(yè)流水線上,,進(jìn)行數(shù)據(jù)采集,、流水線控制、跟蹤管理的可編程智能數(shù)據(jù)終端機(jī),。具有TCP,、UDP、RS232多種通訊方式,,有極強(qiáng)的現(xiàn)場編程功能,,適應(yīng)性極強(qiáng)。其系統(tǒng)采用兩級(jí)聯(lián)網(wǎng)結(jié)構(gòu),,采用UDP協(xié)議進(jìn)行通訊,,即管理主機(jī)通過訪問生產(chǎn)數(shù)據(jù)輸入終端機(jī)所在的IP地址對(duì)終端機(jī)進(jìn)行數(shù)據(jù)訪問和參數(shù)設(shè)置,。設(shè)備工作狀態(tài)采用聯(lián)機(jī)工作方式:即設(shè)備將得到的用戶的完整操作記錄保存在RAM內(nèi),并主動(dòng)上傳到管理主機(jī),,如果設(shè)備沒有接收到上位機(jī)的正確返回響應(yīng)(超時(shí)時(shí)間N可以由用戶定義),,設(shè)備將再次上傳,直至成功為止,,但是當(dāng)設(shè)備再次得到用戶新的完整操作記錄,,原有的RAM記錄將被轉(zhuǎn)移到FLASH內(nèi)存儲(chǔ)。工作時(shí)若網(wǎng)絡(luò)斷開,,終端機(jī)可以自動(dòng)存儲(chǔ)工作的記錄,,當(dāng)網(wǎng)絡(luò)連接正常后,自動(dòng)上傳數(shù)據(jù),。
設(shè)備支持ARP,,ICPM(ping),IP,,UDP網(wǎng)絡(luò)通訊協(xié)議,,數(shù)據(jù)傳輸方式默認(rèn)采用UDP協(xié)議,不支持?jǐn)?shù)據(jù)包分組操作.數(shù)據(jù)編碼方式采用HEX的數(shù)據(jù)格式操作,,所有通訊數(shù)據(jù)采用“以太網(wǎng)CRC校驗(yàn)”方式,,其中UDP層加UDP校驗(yàn),應(yīng)用數(shù)據(jù)層再加“和校驗(yàn)”方式,,具體校驗(yàn)方式采用從報(bào)頭至報(bào)尾所有的協(xié)議數(shù)據(jù)按16進(jìn)制做累加,,對(duì)256取模后的十六進(jìn)制數(shù).應(yīng)用數(shù)據(jù)層的通訊協(xié)議格式如表1~3所示,其中數(shù)據(jù)單位為bit,。
其中:數(shù)據(jù)長度為有效數(shù)據(jù)報(bào)文的長度,;和校驗(yàn)為整個(gè)數(shù)據(jù)報(bào)文的校驗(yàn)位.有效數(shù)據(jù)部分的報(bào)文格式為:類型編號(hào)|數(shù)據(jù)|.......|類型編號(hào)|數(shù)據(jù):
終端機(jī)檢測到的打包數(shù)據(jù)格式為:打包數(shù)據(jù)格式=‘#’+步驟1檢測結(jié)果+# + 功能號(hào)+型操作類型號(hào)+‘#’+ 步驟2檢測結(jié)果+ #+功能號(hào)+操作類型號(hào)+ ..... +‘#’+步驟N檢測結(jié)果+功能號(hào)+操作類型號(hào)‘#’。每個(gè)檢測步驟中的檢測結(jié)果之間用‘#’號(hào)間隔,。
3.2 PRR8032讀寫器及PRR8152讀寫器
PRR8032是具有專利外觀設(shè)計(jì)的表面嵌入式多功能中距離讀寫器.其讀寫距離最大23cm,,具有防沖撞電子標(biāo)簽讀寫功能,可同時(shí)對(duì)10張電子標(biāo)簽的多個(gè)數(shù)據(jù)塊進(jìn)行操作,。
PRR8152符合IS015693標(biāo)準(zhǔn)的高頻工業(yè)讀寫設(shè)備,,可選RS232、RS485以及TCP/IP通訊格式,,適用于需要防水,、防塵、防油污,、防腐蝕等各種惡劣工作環(huán)境,,是工業(yè)自動(dòng)化控制領(lǐng)域的首選讀寫機(jī)器。
4 RFID中間件通訊組件的軟件設(shè)計(jì)
RFID中間件通訊組件包括以下幾部分:底層數(shù)據(jù)通訊接口組件,、設(shè)備網(wǎng)絡(luò)接口組件,、設(shè)備參數(shù)接口組件,、對(duì)標(biāo)簽讀寫操作接口組件、數(shù)據(jù)庫接口組件等.各接口組件既相對(duì)獨(dú)立,,又有密切聯(lián)系,。其中,筆者的通訊組件的操作標(biāo)簽是符合ISO/IEC 15693協(xié)議的電子標(biāo)簽,。
本軟件的設(shè)計(jì)是在Windows環(huán)境下,,選用SQL Server 2000作為后臺(tái)數(shù)據(jù)庫,利用Visual C++6.0開發(fā)環(huán)境,,將接口組函數(shù)封裝成dll文件,,使其可以直接被其它應(yīng)用系統(tǒng)調(diào)用,實(shí)現(xiàn)讀寫器與計(jì)算機(jī)之間的企業(yè)局域網(wǎng)的通信,。整個(gè)系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)如下所述,。
(1)底層數(shù)據(jù)通訊接口組件:負(fù)責(zé)數(shù)據(jù)通訊的鏈路層和物理層,是讀寫器與應(yīng)用軟件通訊的物理基礎(chǔ),,在應(yīng)用邏輯上,,與應(yīng)用通訊協(xié)議無關(guān)。所以,,底層數(shù)據(jù)通訊應(yīng)獨(dú)立設(shè)計(jì)相對(duì)固定的接口,,與高層應(yīng)用分離。
(2)數(shù)據(jù)庫接口組件:實(shí)現(xiàn)對(duì)后臺(tái)數(shù)據(jù)庫的操作,,為RFID 中間件的開發(fā)軟件提供標(biāo)準(zhǔn)的函數(shù)接口,。
(3)設(shè)備網(wǎng)絡(luò)接口組件:為客戶提供連接通訊鏈路上的RFID讀寫器信息,設(shè)備參數(shù)設(shè)置接口提供更改讀寫器工作參數(shù)的接口,,實(shí)現(xiàn)設(shè)備管理功能,。
(4)標(biāo)簽讀寫操作接口組件:為讀寫器實(shí)時(shí)工作時(shí)提供與計(jì)算機(jī)通訊的接口,兩者在用戶和使用功能上相對(duì)對(duì)立,,也可單獨(dú)設(shè)計(jì),。
&nTagNum);//讀取多個(gè)標(biāo)簽的UID,。.......
....
5 RFID中間件通訊組件的一個(gè)應(yīng)用
深圳普諾瑪公司生產(chǎn)制成管理系統(tǒng)項(xiàng)目中的實(shí)時(shí)監(jiān)控模塊充分利用了本RFID通訊組件,。簡化了開發(fā)流程。其中涉及到的功能有:讀取設(shè)備內(nèi)部數(shù)據(jù),、打開并關(guān)閉與數(shù)據(jù)庫的連接,控制讀寫器對(duì)標(biāo)簽進(jìn)行操作等等,。
筆者完成了以下五個(gè)接口組件的標(biāo)準(zhǔn)化:底層數(shù)據(jù)通訊接口組件,、設(shè)備網(wǎng)絡(luò)接口組件、設(shè)備參數(shù)接口組件,、對(duì)標(biāo)簽讀寫操作接口組件,、數(shù)據(jù)庫接口組件等接口組件,,為第三方的企業(yè)級(jí)軟件應(yīng)用提供了基礎(chǔ).該RFID中間件在上海生豬收購管理系統(tǒng)和深圳普諾瑪公司生產(chǎn)制成管理系統(tǒng)中已經(jīng)得到了應(yīng)用,并取得了良好的市場效果,。