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