基于PDA的RFID手持機開發(fā)研究
基于PDA的RFID采集裝置可以方便操作人員的工作,大大提高現(xiàn)場工作效率,為用戶提供方便高效的業(yè)務移動處理模式,是現(xiàn)代數(shù)據(jù)采集、電子管理的發(fā)展方向,同時在PDA上亦能方便、快捷地進行二次應用開發(fā)。
1 RFID讀寫模塊介紹
本文所使用的硬件設備之一是符合ETSI(歐洲電信標準協(xié)會)規(guī)范的超高頻(UHF)RFID讀寫模塊,它具有高性能、安全、低功耗等特點,能讀寫EPC C1G1(產(chǎn)品電子代碼)、ISO 18000—6B和IS018000-6C等多種協(xié)議的標簽。該模塊能工作在862~955 MHz的頻段,具有多種通信方式,能讀取1~2.5 m范圍內(nèi)的超高頻電子標簽。天線部分通過MMCX(連接器)母頭與RFID模塊進行連接。在此類嵌入式系統(tǒng)開發(fā)過程中常需要解決設備間的通信問題,相對于其他類型的接口,串行通信仍然是最基本、最常用的通信方式。本文利用在WinCE系統(tǒng)下提供的通用串口驅動程序來實現(xiàn)設備間的數(shù)據(jù)通信。
2 基于PDA的軟件開發(fā)
2.1常用工具軟件及開發(fā)流程
PDA常用的操作系統(tǒng)有WinCE和Linux。WinCE系統(tǒng)下的開發(fā)工具軟件主要有:C、C#、Java,Embedded Visual Basic和Embedded Visual C++等;而Linux系統(tǒng)下一般用C語言來進行開發(fā)。本文作者是在WinCE系統(tǒng)下進行軟件開發(fā)的。系統(tǒng)開發(fā)流程如圖1所示。
2.2 系統(tǒng)所具備的功能模塊
在PDA上開發(fā)RFID系統(tǒng)需要實現(xiàn)的功能模塊主要有4個:端口配置、端口配置信息、標簽信息和標簽盤點。系統(tǒng)模塊功能圖如圖2所示。
來說,端口配置的內(nèi)容大多是固定的,包括端口名COMl或COM2、波特率、數(shù)據(jù)位、奇偶校驗及停止位。在打開串口之前首先應進行端口配置的設置,設置完畢后再連接或斷開連接。
端口配置信息包括除端口配置外的標簽協(xié)議信息、工作模式、射頻頻率及射頻功率等。標簽協(xié)議信息可包括常用的幾種RFID協(xié)議,如EPC G2和IS018000—6B等,并可選擇設置同時讀取幾種不同協(xié)議的標簽;工作模式根據(jù)循環(huán)讀取模式的不同讀取單張或多張標簽;射頻功率由RFID模塊所確定。本文作者使用的是超高頻的RFID模塊,其頻率為916.5 MHz;射頻功率在10----27 dBm范圍內(nèi)可調。
3關鍵技術的實現(xiàn)
3.1接口與通信問題
3.1.1接口問題
本文作者使用的PDA是HP ipAQ,由于大部分PDA采用的是RS232電平(士12 V),而RFID模塊使用的是TTL電平(0~5 V),盡管都是串口,都有TX/RX端點,但二者電壓不同,不能直接相連,否則會燒掉RFID讀寫模塊,因此需要使用轉接口來實現(xiàn)轉換,PICl6F84是PDA的接口芯片,與轉換芯片相連,再連接到RFID模塊的接口(目前也有PDA支持TTL電平)。
3.1.2 PDA與RFID模塊間通信的實現(xiàn)
設備間串口通信[33過程如下:
(1)打開串口。使用串口之前,首先應使用CreateFile函數(shù)打開串口,返回一個串口句柄,并確認使用的是COMl還是COM2。
(2)串口配置。打開串口后用SetComm State函數(shù)進行端口配置,包括波特率、數(shù)據(jù)位、工作模式和射頻頻率等。
(3)讀寫串口。通過ReadFile和WriteFile函數(shù)來讀寫串口,讀和寫的超時時間由SetCommTimeouts函數(shù)設置。
(4)設置串口事件。用SetCommMask函數(shù)設定要查找的一個或多個串口事件。
(5)接收串口數(shù)據(jù)。接收數(shù)據(jù)的同時,PDA向RFID模塊發(fā)送連接報文;當PDA接收到正確的模塊返回報文后,PDA與模塊連接成功。此時PDA與RFID模塊之間可以進行正常的串口通信。
(6)關閉串口。在通信結束后,PDA向RFID模塊發(fā)送斷開連接報文,并關閉接收串口數(shù)據(jù)的線程,調用CloseHandle函數(shù)來關閉串口句柄,釋放資源。
PDA與RFID模塊在串口通信過程中進行設置、參數(shù)和信息記錄的上傳和下載過程的流程如圖4所示。
本文所使用的RFID讀寫模塊的部分命令如表1所示。
3.2數(shù)據(jù)庫的選擇及同步問題
在PDA的應用開發(fā)研究中,由于需要進行PDA與PC機數(shù)據(jù)的交互[4],因此數(shù)據(jù)庫的選擇、維護和不同數(shù)據(jù)庫間的同步問題顯得非常重要。目前在PDA的Win CE系統(tǒng)上可以使用的數(shù)據(jù)庫有:Pocket Access、SQL Sever CE和Oracle9i Lite等。Pocket Access只提供對一組表的存儲和訪問,由于缺乏報表、存儲查詢以及表之間的關系,因此并不常用,它只適合于地址本、通訊錄之類的小容量數(shù)據(jù)庫應用。
Oraclegi Lite提供基礎架構和應用程序服務,可以發(fā)布使用各種移動設備的安全和個性化的應用程序。它是Oracle9i AS的附加軟件,對Ora—clegiAS Wireless進行了完善,提供了完整簡單的集成化移動電子商務框架。來源一卡通世界。Oracle9i Lite包括兩個主要組件:Mobile Server和移動開發(fā)工具包。對于使用Oracle基礎框架的企業(yè),建議使用該數(shù)據(jù)庫,以便獲得更高的穩(wěn)定性和服務。
SQL Server CE可以說是目前功能較全面、性能較穩(wěn)定的移動數(shù)據(jù)庫,它提供的關系數(shù)據(jù)庫所占空間很小,但包含了一個查詢處理器和一些合并復制功能,能執(zhí)行大部分SQL查詢處理,支持大部分SQL語句,而且為移動計算應用進行了很多優(yōu)化和取舍,大大加快了SQL語句的執(zhí)行速度,提高了在低CPU頻率、低內(nèi)存情況下運行的性能。SQLServer CE還能與SQL Server 2000較好地配合,只要通過少量的代碼就能實現(xiàn)移動數(shù)據(jù)庫到服務器的數(shù)據(jù)連接。從某種意義上講,SQL Server CE就是SQL Server 2000的一個簡化版本。本文選用的就是該數(shù)據(jù)庫。
目前可以利用RDA(Remote Data Access,遠程數(shù)據(jù)存取)和Replication(復制)來完成與PC機的SQL Server 2000[51數(shù)據(jù)庫的存取交換。由于PDA對PC機訪問必須通過因特網(wǎng)信息服務器(IIS)進行,因此安裝好SQL Server CE后需要在IIS上安裝SQL CE Server Tool,并配置連接SQLServer 2000。由于已有不少關于SQL Server CE與SQL Sever 2000配置的文章,本文不再贅述。
4 實現(xiàn)結果
圖5和圖6所示為在WinCE系統(tǒng)下進行調試并實現(xiàn)RFID功能的圖示。圖5為端口配置示意圖。圖6為資產(chǎn)盤點示意圖,反映了掃描到的標簽相關信息,從而完成了在PDA上實現(xiàn)RFID識別和處理功能。此外還需要將PDA、RFID讀寫模塊及天線進行封裝,使其真正一體化。
5 基于PDA的RFID手持機與傳統(tǒng)RFID手持機的比較
在完成了基于PDA的RFID手持機開發(fā)后,我們將其與傳統(tǒng)的RFID手持機產(chǎn)品進行比較,能更直觀地看到兩者各自所具有的特點及優(yōu)勢,具體見表2。
6 總結與展望
雖然目前PDA價格相對較貴,導致基于PDA的RFID手持機成本偏高,但由于PDA本身功能強大,且具有較大的升級和功能擴展空間,因此基于PDA的RFID手持機具備普通RFID手持機無法比擬的優(yōu)勢。
c++相關文章:c++教程
評論