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