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