物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

基于PDA的RFID手持機(jī)開發(fā)研究

作者:王淑君 吳軍 李磊
來源:RFID世界網(wǎng)
日期:2011-09-01 15:47:11
摘要:文章研究了如何利用無線射頻識別(RFID)讀寫模塊和PDA(掌上電腦)來進(jìn)行RFID手持機(jī)的開發(fā)。首先簡要描述了硬件設(shè)備、軟件開發(fā)的流程和RFID盤點(diǎn)系統(tǒng)的功能模塊,然后研究了開發(fā)過程中的通信接口、教據(jù)庫同步等關(guān)鍵問題,最后將所開發(fā)的RFID手持機(jī)與傳統(tǒng)RFID手持機(jī)進(jìn)行了比較。結(jié)果表明,前者具有方便、快捷和直現(xiàn)等特點(diǎn),能在實(shí)際應(yīng)用中提高工作效率。

    射頻識別(RFID)是一種非接觸的自動識別技術(shù),它能通過射頻信號自動識別目標(biāo)對象并獲取相關(guān)數(shù)據(jù)。RFID系統(tǒng)由3部分組成:讀寫器(Reader)及天線(Antenna)、標(biāo)簽(Tag)和RFID后臺應(yīng)用管理系統(tǒng)。與其他自動識別技術(shù)相比,RFID技術(shù)具有可遠(yuǎn)距離、多目標(biāo)識別、可反復(fù)讀寫、適應(yīng)場合廣和智能化程度高等優(yōu)點(diǎn),已越來越多地應(yīng)用于金融、保險、身份認(rèn)證、公共交通、物流、倉儲及會員管理等領(lǐng)域。在RFID現(xiàn)場應(yīng)用中,通常的方法是直接在裝置上或者通過后臺系統(tǒng)來進(jìn)行操作,然后將數(shù)據(jù)上傳并進(jìn)行處理。但由于PC機(jī)和筆記本電腦體積較大,存在攜帶、供電不便等問題,在實(shí)際環(huán)境中應(yīng)用時受到諸多制約。來源一卡通世界。而PDA(掌上電腦)是一種比筆記本電腦還要小得多的個人信息處理設(shè)備,其數(shù)據(jù)處理、信息管理和電子商務(wù)等功能完善。將RFID和PDA結(jié)合起來應(yīng)用,不僅保持了PDA的原有功能,而且還具有了對射頻卡的讀、寫能力,能充分利用PDA的便捷、易操作、大屏幕、手寫輸入等特點(diǎn),形成具有高可靠性、低功耗、操作簡單、模塊化設(shè)計(jì)的智能掌上數(shù)據(jù)處理終端設(shè)備,同時還能提供豐富的應(yīng)用軟件資源和硬件接口等?;赑DA的RFID采集裝置可以方便操作人員的工作,大大提高現(xiàn)場工作效率,為用戶提供方便高效的業(yè)務(wù)移動處理模式,是現(xiàn)代數(shù)據(jù)采集、電子管理的發(fā)展方向,同時在PDA上亦能方便、快捷地進(jìn)行二次應(yīng)用開發(fā)。

    1 RFID讀寫模塊介紹

    本文所使用的硬件設(shè)備之一是符合ETSI(歐洲電信標(biāo)準(zhǔn)協(xié)會)規(guī)范的超高頻(UHF)RFID讀寫模塊,它具有高性能、安全、低功耗等特點(diǎn),能讀寫EPC C1G1(產(chǎn)品電子代碼)、ISO 18000—6B和IS018000-6C等多種協(xié)議的標(biāo)簽。該模塊能工作在862~955 MHz的頻段,具有多種通信方式,能讀取1~2.5 m范圍內(nèi)的超高頻電子標(biāo)簽。天線部分通過MMCX(連接器)母頭與RFID模塊進(jìn)行連接。在此類嵌入式系統(tǒng)開發(fā)過程中常需要解決設(shè)備間的通信問題,相對于其他類型的接口,串行通信仍然是最基本、最常用的通信方式。本文利用在WinCE系統(tǒng)下提供的通用串口驅(qū)動程序來實(shí)現(xiàn)設(shè)備間的數(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語言來進(jìn)行開發(fā)。本文作者是在WinCE系統(tǒng)下進(jìn)行軟件開發(fā)的。系統(tǒng)開發(fā)流程如圖1所示。

    2 系統(tǒng)所具備的功能模塊

    在PDA上開發(fā)RFID系統(tǒng)需要實(shí)現(xiàn)的功能模塊主要有4個:端口配置、端口配置信息、標(biāo)簽信息和標(biāo)簽盤點(diǎn)。系統(tǒng)模塊功能圖如圖2所示。

    來說,端口配置的內(nèi)容大多是固定的,包括端口名COMl或COM2、波特率、數(shù)據(jù)位、奇偶校驗(yàn)及停止位。在打開串口之前首先應(yīng)進(jìn)行端口配置的設(shè)置,設(shè)置完畢后再連接或斷開連接。

    端口配置信息包括除端口配置外的標(biāo)簽協(xié)議信息、工作模式、射頻頻率及射頻功率等。標(biāo)簽協(xié)議信息可包括常用的幾種RFID協(xié)議,如EPC G2和IS018000—6B等,并可選擇設(shè)置同時讀取幾種不同協(xié)議的標(biāo)簽;工作模式根據(jù)循環(huán)讀取模式的不同讀取單張或多張標(biāo)簽;射頻功率由RFID模塊所確定。本文作者使用的是超高頻的RFID模塊,其頻率為916.5 MHz;射頻功率在10----27 dBm范圍內(nèi)可調(diào)。

    3關(guān)鍵技術(shù)的實(shí)現(xiàn)

    3.1接口與通信問題

    3.1.1接口問題

    本文作者使用的PDA是HP ipAQ,由于大部分PDA采用的是RS232電平(士12 V),而RFID模塊使用的是TTL電平(0~5 V),盡管都是串口,都有TX/RX端點(diǎn),但二者電壓不同,不能直接相連,否則會燒掉RFID讀寫模塊,因此需要使用轉(zhuǎn)接口來實(shí)現(xiàn)轉(zhuǎn)換,PICl6F84是PDA的接口芯片,與轉(zhuǎn)換芯片相連,再連接到RFID模塊的接口(目前也有PDA支持TTL電平)。

    3.1.2 PDA與RFID模塊間通信的實(shí)現(xiàn)

    設(shè)備間串口通信[33過程如下:
    (1)打開串口。使用串口之前,首先應(yīng)使用CreateFile函數(shù)打開串口,返回一個串口句柄,并確認(rèn)使用的是COMl還是COM2。
    (2)串口配置。打開串口后用SetComm State函數(shù)進(jìn)行端口配置,包括波特率、數(shù)據(jù)位、工作模式和射頻頻率等。
    (3)讀寫串口。通過ReadFile和WriteFile函數(shù)來讀寫串口,讀和寫的超時時間由SetCommTimeouts函數(shù)設(shè)置。
    (4)設(shè)置串口事件。用SetCommMask函數(shù)設(shè)定要查找的一個或多個串口事件。
    (5)接收串口數(shù)據(jù)。接收數(shù)據(jù)的同時,PDA向RFID模塊發(fā)送連接報文;當(dāng)PDA接收到正確的模塊返回報文后,PDA與模塊連接成功。此時PDA與RFID模塊之間可以進(jìn)行正常的串口通信。
    (6)關(guān)閉串口。在通信結(jié)束后,PDA向RFID模塊發(fā)送斷開連接報文,并關(guān)閉接收串口數(shù)據(jù)的線程,調(diào)用CloseHandle函數(shù)來關(guān)閉串口句柄,釋放資源。

{$page$}


    PDA與RFID模塊在串口通信過程中進(jìn)行設(shè)置、參數(shù)和信息記錄的上傳和下載過程的流程如圖4所示。

    本文所使用的RFID讀寫模塊的部分命令如表1所示。

    3.2數(shù)據(jù)庫的選擇及同步問題

    在PDA的應(yīng)用開發(fā)研究中,由于需要進(jìn)行PDA與PC機(jī)數(shù)據(jù)的交互[4],因此數(shù)據(jù)庫的選擇、維護(hù)和不同數(shù)據(jù)庫間的同步問題顯得非常重要。目前在PDA的Win CE系統(tǒng)上可以使用的數(shù)據(jù)庫有:Pocket Access、SQL Sever CE和Oracle9i Lite等。Pocket Access只提供對一組表的存儲和訪問,由于缺乏報表、存儲查詢以及表之間的關(guān)系,因此并不常用,它只適合于地址本、通訊錄之類的小容量數(shù)據(jù)庫應(yīng)用。

    Oraclegi Lite提供基礎(chǔ)架構(gòu)和應(yīng)用程序服務(wù),可以發(fā)布使用各種移動設(shè)備的安全和個性化的應(yīng)用程序。它是Oracle9i AS的附加軟件,對Ora—clegiAS Wireless進(jìn)行了完善,提供了完整簡單的集成化移動電子商務(wù)框架。來源一卡通世界。Oracle9i Lite包括兩個主要組件:Mobile Server和移動開發(fā)工具包。對于使用Oracle基礎(chǔ)框架的企業(yè),建議使用該數(shù)據(jù)庫,以便獲得更高的穩(wěn)定性和服務(wù)。

    SQL Server CE可以說是目前功能較全面、性能較穩(wěn)定的移動數(shù)據(jù)庫,它提供的關(guān)系數(shù)據(jù)庫所占空間很小,但包含了一個查詢處理器和一些合并復(fù)制功能,能執(zhí)行大部分SQL查詢處理,支持大部分SQL語句,而且為移動計(jì)算應(yīng)用進(jìn)行了很多優(yōu)化和取舍,大大加快了SQL語句的執(zhí)行速度,提高了在低CPU頻率、低內(nèi)存情況下運(yùn)行的性能。SQLServer CE還能與SQL Server 2000較好地配合,只要通過少量的代碼就能實(shí)現(xiàn)移動數(shù)據(jù)庫到服務(wù)器的數(shù)據(jù)連接。從某種意義上講,SQL Server CE就是SQL Server 2000的一個簡化版本。本文選用的就是該數(shù)據(jù)庫。

    目前可以利用RDA(Remote Data Access,遠(yuǎn)程數(shù)據(jù)存取)和Replication(復(fù)制)來完成與PC機(jī)的SQL Server 2000[51數(shù)據(jù)庫的存取交換。由于PDA對PC機(jī)訪問必須通過因特網(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í)現(xiàn)結(jié)果

    圖5和圖6所示為在WinCE系統(tǒng)下進(jìn)行調(diào)試并實(shí)現(xiàn)RFID功能的圖示。圖5為端口配置示意圖。圖6為資產(chǎn)盤點(diǎn)示意圖,反映了掃描到的標(biāo)簽相關(guān)信息,從而完成了在PDA上實(shí)現(xiàn)RFID識別和處理功能。此外還需要將PDA、RFID讀寫模塊及天線進(jìn)行封裝,使其真正一體化。

    5 基于PDA的RFID手持機(jī)與傳統(tǒng)RFID手持機(jī)的比較

    在完成了基于PDA的RFID手持機(jī)開發(fā)后,我們將其與傳統(tǒng)的RFID手持機(jī)產(chǎn)品進(jìn)行比較,能更直觀地看到兩者各自所具有的特點(diǎn)及優(yōu)勢,具體見表2。

    6 總結(jié)與展望

    本文實(shí)現(xiàn)了PDA與RFID模塊的結(jié)合應(yīng)用,研究了應(yīng)用PDA開發(fā)RFID系統(tǒng)的關(guān)鍵問題。雖然目前PDA價格相對較貴,導(dǎo)致基于PDA的RFID手持機(jī)成本偏高,但由于PDA本身功能強(qiáng)大,且具有較大的升級和功能擴(kuò)展空間,因此基于PDA的RFID手持機(jī)具備普通RFID手持機(jī)無法比擬的優(yōu)勢。這種結(jié)合模式已經(jīng)在烽火通信科技股份有限公司的產(chǎn)品中得到應(yīng)用,同時通過對該過程的分析研究,可以類比完成將一塊RFID芯片移植到其他個人信息處理設(shè)備中,因此具有較高的實(shí)際應(yīng)用價值。