《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于RFID與Android平臺的物品清點系統(tǒng)
基于RFID與Android平臺的物品清點系統(tǒng)
來源:微型機與應(yīng)用2013年第7期
楊海燕,,陳永紅
(華僑大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,,福建 廈門361021)
摘要: 將帶藍牙通信功能的便攜移動式RFID讀寫器與Android智能移動終端相結(jié)合,實現(xiàn)一個在一定范圍內(nèi)對物品進行自動清點的智能管理系統(tǒng),并可將該系統(tǒng)作為一個簡單,、方便,、適用人群廣的智能家居子系統(tǒng),,實現(xiàn)家庭式倉儲管理,。使用超高頻RFID技術(shù)在一定距離內(nèi)實現(xiàn)多個物品同時識別。
Abstract:
Key words :

摘  要: 將帶藍牙通信功能的便攜移動式RFID讀寫器與Android智能移動終端相結(jié)合,實現(xiàn)一個在一定范圍內(nèi)對物品進行自動清點的智能管理系統(tǒng),并可將該系統(tǒng)作為一個簡單,、方便、適用人群廣的智能家居子系統(tǒng),,實現(xiàn)家庭式倉儲管理。使用超高頻RFID技術(shù)在一定距離內(nèi)實現(xiàn)多個物品同時識別,。
關(guān)鍵詞: RFID,;安卓系統(tǒng);智能家居,;藍牙,;移動應(yīng)用

 RFID技術(shù)是一種非接觸式自動識別技術(shù),由電子標(biāo)簽及讀寫器組成,,具有信息容量大、保密性高,、無需人工干預(yù),、識別效率高等優(yōu)點,。其與上層應(yīng)用軟件及后臺數(shù)據(jù)庫相結(jié)合,可實現(xiàn)物品管理,、物品防偽,、物品定位、身份識別等功能,,被廣泛使用于物流管理,、交通運輸、工業(yè)自動化等領(lǐng)域,。
 在智能家居中,,RFID主要用于門禁系統(tǒng)、人員定位[1]等,。智能家居(Smart Home)是以住宅為平臺,,兼?zhèn)浣ㄖ⒕W(wǎng)絡(luò)通信,、信息家電,、設(shè)備自動化等功能,集系統(tǒng),、結(jié)構(gòu),、服務(wù)、管理為一體的,,體現(xiàn)高效,、舒適、安全,、便利,、環(huán)保的居住環(huán)境[2]。智能家居的核心功能是安防報警與智能控制,。當(dāng)前市場上的智能家居系統(tǒng)主要有基于樓宇對講技術(shù)的智能家居系統(tǒng),、基于現(xiàn)場總線技術(shù)的家庭自動化系統(tǒng)和基于智能手機的智能家居系統(tǒng)三大類[3]。主要的產(chǎn)品有:智能鎖,、監(jiān)控設(shè)備,、各類環(huán)境傳感器、智能電動窗簾系統(tǒng),、家電控制等,。國內(nèi)智能家居行業(yè)起步較晚,智能家居產(chǎn)品存在系統(tǒng)復(fù)雜,、價格昂貴,、不切實際等問題。智能家居企業(yè)所銷售的并不是產(chǎn)品,而是為特定的某部分人量身定做的一套完整的個性化服務(wù),,價格昂貴,,是面向富人群體的消費,且系統(tǒng)設(shè)計復(fù)雜,,產(chǎn)品也不夠多元化,。這將不利于智能家居的長期發(fā)展[4]。
 因此,,在當(dāng)前客戶個性化需求強烈的市場狀況下,,開發(fā)適合大眾消費、操作方便的智能家居產(chǎn)品具有重要意義,。本文基于便攜式RFID與Android智能終端,,是一款適用人群較廣、操作方便的智能物品清點的移動應(yīng)用系統(tǒng),,用于實現(xiàn)家庭式倉儲管理,。
1 相關(guān)技術(shù)
1.1 RFID技術(shù)

 無線電射頻識別RFID(Radio Frequency Identification)是一種利用無線電的自動識別技術(shù)。典型的RFID系統(tǒng)通常由電子標(biāo)簽,、讀寫器,、RFID中間件和應(yīng)用系統(tǒng)軟件組成[5]。電子標(biāo)簽及讀寫器通過無線電天線進行通信,,可讀取標(biāo)簽中的物品ID信息,,實現(xiàn)非接觸識別,并能同時識別多個標(biāo)簽,。電子標(biāo)簽具有一定的存儲容量,,能唯一標(biāo)識物品,具有使用壽命長,、可重復(fù)使用等優(yōu)點,。RFID中間件是讀寫器與應(yīng)用系統(tǒng)軟件的中介,管理著讀寫器及其讀取的數(shù)據(jù),,并將數(shù)據(jù)交付給上層的應(yīng)用軟件(如數(shù)據(jù)庫),。帶無線通信功能(如藍牙、WiFi)的RFID讀寫器將無線通信模塊嵌入讀寫器中,,上層軟件通過無線通信信號獲取電子標(biāo)簽信息,,使得用戶可以隨時隨地獲取RFID標(biāo)簽信息,解決有線讀寫器不可移動的限制,。
 RFID系統(tǒng)按其使用的無線電頻率可分為低頻RFID系統(tǒng),、高頻RFID系統(tǒng)及超高頻RFID系統(tǒng)。被廣泛應(yīng)用于門禁系統(tǒng),、身份識別,、產(chǎn)品管理、集裝箱管理、生產(chǎn)線自動化管理等領(lǐng)域,。在識別距離方面,,讀寫器的可識別范圍與其制作工藝有關(guān),比如天線設(shè)計,、讀寫器功率設(shè)計等。一般的,,低高頻系統(tǒng)讀寫距離較小,,在10 cm左右,高頻標(biāo)準(zhǔn)ISO15693在降低傳輸速率,、加大天線設(shè)計與讀寫功率的情況下,,識別距離可達1 m;超高頻在較大工作范圍,,能做到較快的傳輸速率,,工作距離可達3 m~10 m,但是超高頻電波受環(huán)境影響大,,不能穿透許多材料,,比如水、灰塵等,。在實際應(yīng)用中,,需要考慮價格、讀寫距離,、安全特性,、存儲信息量等因素,用于確定合適的頻段及方案[6],。
1.2 藍牙技術(shù)
 藍牙是一種低功耗,、中短距離的無線通信技術(shù),為移動設(shè)備之間提供快速,、方便的無線通信連接,,被廣泛應(yīng)用于手機中,其中藍牙耳機是一個典型的應(yīng)用,。藍牙通信規(guī)范是全球統(tǒng)一的,,工作頻段為全球統(tǒng)一開放的2.4 GHz頻段,該頻段的使用無需向各國的無線電資源管理部門申請許可證,。不同的藍牙設(shè)備通信時,,可以建立臨時性的實時對等連接。皮網(wǎng)(Piconet)是藍牙最基本的一種網(wǎng)絡(luò)形式,,通常由一個主設(shè)備(即主動發(fā)起連接請求的藍牙設(shè)備)和幾個從設(shè)備組成,,能同時實現(xiàn)一對多的通信[7]。藍牙技術(shù)的優(yōu)點是:可以方便地建立無線連接;移植性強,,適用面廣,;安全性較高;設(shè)備功耗低,,成本較低,;開發(fā)設(shè)計較簡單。
1.3 安卓系統(tǒng)藍牙編程
 藍牙技術(shù)的開發(fā)核心是根據(jù)藍牙標(biāo)準(zhǔn)所實現(xiàn)的藍牙協(xié)議棧,。該協(xié)議棧包含了眾多協(xié)議,,主要有邏輯鏈路控制和適配協(xié)議(L2CAP)、服務(wù)發(fā)現(xiàn)協(xié)議(SDP),、串口模擬協(xié)議(RFCOMM)等,。其中SDP協(xié)議是一個基于C/S結(jié)構(gòu)的協(xié)議,是藍牙協(xié)議棧中的核心協(xié)議,。在藍牙系統(tǒng)中,,用戶依靠SDP獲取建立藍牙連接所需的設(shè)備信息、服務(wù)信息及服務(wù)特征[8],。
 Android SDK從2.0版本開始支持藍牙功能,,應(yīng)用程序必須在AndroidManifest.xml文件中加入一定的權(quán)限才能使用藍牙服務(wù):android.permission.BLUETOOTH權(quán)限允許用戶連接藍牙設(shè)備,android.permission.BLUETOOTH_ADMIN權(quán)限允許用戶管理藍牙硬件及使用相關(guān)服務(wù),,包括開啟或關(guān)閉藍牙硬件,、掃描可連接藍牙設(shè)備、傳送數(shù)據(jù)等,。相關(guān)的藍牙API在android.bluetooth包中進行定義,,包含以下幾個主要類:
 (1)BluetoothAdapter類代表設(shè)備上的藍牙硬件,;
?。?)BluetoothDevice類定義遠程藍牙設(shè)備;
?。?)BluetoothServerSocket類用來打開監(jiān)聽到達連接的套接字,,并且在連接后提供一個BluetoothSocket對象;
?。?)BluetoothSocket類用來建立同遠程設(shè)備的連接,,獲取輸入輸出流。
通過藍牙進行數(shù)據(jù)傳輸?shù)倪^程包括:
?。?)檢查可用的藍牙硬件,。并不是所有Android終端都具有藍牙功能,因此使用前需確定是否有可用的藍牙硬件,;
?。?)開啟藍牙,;
 (3)查詢已配對設(shè)備,;
?。?)搜索設(shè)備;
?。?)建立設(shè)備間的連接,;
 (6)數(shù)據(jù)交互,;
?。?)關(guān)閉藍牙硬件。
 當(dāng)兩個設(shè)備連接后,,各自擁有一個BluetoothSocket對象,并獲得用來讀取信息的InputStream對象和發(fā)送信息的OutputStream對象[9],。
1.4 Android平臺數(shù)據(jù)存儲方式
 基于Android平臺的數(shù)據(jù)存儲方式分外部存儲和內(nèi)部存儲兩類,。外部存儲方式指:內(nèi)容提供器和網(wǎng)絡(luò)數(shù)據(jù)庫,內(nèi)部存儲方式有:系統(tǒng)配置,、文件存儲,、SQLite數(shù)據(jù)庫[10]。在實際應(yīng)用開發(fā)中主要使用內(nèi)部存儲方式,。系統(tǒng)配置方式指通過Android平臺提供的SharedPreferences類,,保存應(yīng)用程序的一些簡單的配置信息的機制。文件存儲方式使用Java中的IO類實現(xiàn)對內(nèi)部存儲器或SD卡等外部存儲設(shè)備中的文件的讀寫與解析,,該方式實現(xiàn)數(shù)據(jù)插入與修改操作較復(fù)雜,,每次操作都需讀取整個文件,效率較低,。SQLite是一款超輕量級的嵌入式數(shù)據(jù)庫,,支持SQL語句,能實現(xiàn)查詢,、插入,、刪除、修改等操作,,具有小,、安全、免費等特點,。本文提到的系統(tǒng)所選擇的數(shù)據(jù)存儲方式便是SQLite數(shù)據(jù)庫,,對數(shù)據(jù)進行操作簡單而快速。
2 系統(tǒng)概述
 在日常生活中,,當(dāng)家庭里物品被閑置一段時間后,,會出現(xiàn)被遺忘的狀況,,而得不到再次使用;在外出需要攜帶較多物品時,,常常在清點過后,,依然會出現(xiàn)遺漏東西的狀況。本系統(tǒng)的功能是幫助人們記錄物品信息,,能自動識別對物品進行清點,,并顯示清點結(jié)果(該步操作類似于倉庫管理中的出庫,對照出庫清單清點出庫物品是否有遺漏),。其系統(tǒng)結(jié)構(gòu)如圖1所示,。

 首先根據(jù)物品的不同特性,準(zhǔn)備好合適的RFID電子標(biāo)簽,,貼或掛在物品上,;使用帶藍牙通信功能的手機和便攜式RFID讀寫器。當(dāng)系統(tǒng)工作時,,由讀寫器讀取標(biāo)簽上的ID信息,,通過藍牙傳給手機應(yīng)用程序端;在應(yīng)用程序上填寫與標(biāo)簽ID對應(yīng)的物品名稱,,并保存于本地的SQLite數(shù)據(jù)庫中,。登記完標(biāo)簽信息后,用戶可根據(jù)每次不同需求,,選中要清點的物品名稱,,通過RFID讀寫器的掃描后,便可完成對一定空間內(nèi)的物品的清點,。

 


3 軟硬件設(shè)計及系統(tǒng)評價
3.1 軟件設(shè)計

 軟件開發(fā)所涉及模塊有:物品RFID標(biāo)簽信息添加,、物品信息刪除、物品信息修改,、物品選擇,、物品RFID標(biāo)簽清點掃描等。
 應(yīng)用程序的工作流程如圖2所示,。

 應(yīng)用程序在實現(xiàn)物品RFID標(biāo)簽信息添加及物品RFID標(biāo)簽清點掃描前,,應(yīng)首先打開藍牙連接,搜索附近的藍牙設(shè)備,,然后選擇與便攜RFID讀寫器建立連接,。在進行添加操作時,應(yīng)用程序向讀寫器發(fā)送單標(biāo)簽掃描的命令,,讀寫器返回標(biāo)簽的ID,,用戶輸入物品名稱后,應(yīng)用程序?qū)⑵滗浫霐?shù)據(jù)庫中并標(biāo)注為未選中狀態(tài),。
在列出所有物品界面中,,用戶可對需要清點的物品進行選中或取消選中,。當(dāng)用戶選中物品后,物品的狀態(tài)屬性(THING_STATUS)值為“1”,,表示該物品將要被清點,;否則為“0”,表示該物品已在數(shù)據(jù)庫中登記,,但暫時不需要清點,。
 應(yīng)用程序清點掃描物品時,向讀寫器發(fā)送防沖突識別(多標(biāo)簽識別)命令,,讀寫器不斷返回帶標(biāo)簽ID信息的數(shù)據(jù)流,。應(yīng)用程序從數(shù)據(jù)流中提取出標(biāo)簽ID,并在數(shù)據(jù)庫中查詢其狀態(tài),,若為“1”,,則在已掃描列表中以系統(tǒng)默認(rèn)字體顏色(灰色)顯示其物品名稱;若為“0”,,則以其他非系統(tǒng)默認(rèn)字體顏色(深灰色)顯示物品名稱,。掃描個數(shù)是在掃描過程中實時顯示已被讀寫器掃描到的、并進行登記過的標(biāo)簽個數(shù),。
 當(dāng)識別完一定空間內(nèi)的物品后,用戶按下讀寫器上的停止識別按鈕,,讀寫器向應(yīng)用程序發(fā)送停止識別的響應(yīng),。應(yīng)用程序接收后,在未掃描列表中輸出已被選中未被掃描到的物品名稱,,掃描結(jié)果顯示界面如圖3所示,。


3.2 硬件選擇
 現(xiàn)如今,藍牙通信在智能手機中是一種十分常見的功能,。本系統(tǒng)開發(fā)選用Android 2.3版本系統(tǒng)的觸屏手機,,有藍牙硬件模塊,具備藍牙通信功能,,且自帶SQLite數(shù)據(jù)庫,,無需用戶安裝。RFID讀寫器的選擇要考慮讀寫距離不能太短,,否則識別效率較低,,容易掃描不全;價格應(yīng)較適合大眾消費,;為了便于使用及攜帶,,外形應(yīng)小巧。因此選擇帶藍牙通信功能的超高頻讀寫器,,讀寫距離20 cm左右,,體積小,,易于攜帶,如圖4所示,。當(dāng)按下圖中所示的扇形按鈕“R”時,,讀寫器開始或停止識別標(biāo)簽。

3.3 系統(tǒng)評價
 目前該系統(tǒng)是一個獨立的系統(tǒng),,能實現(xiàn)文中提到的功能,。受讀寫器讀寫距離限制,進行清點掃描過程中需來回在電子標(biāo)簽中移動,,以確保掃描結(jié)果的準(zhǔn)確度,。系統(tǒng)在未部署智能家居系統(tǒng)的場所中亦能使用。用戶只需擁有具備藍牙通信功能的Android終端及便攜RFID讀寫器,,即可實現(xiàn)物品清點工作,,移動性強。所使用的電子標(biāo)簽,,可貼或掛于物品上,,使用方便。適用于家庭式倉儲管理,、外出或旅行的物品清點等個人日?;蜣k公物品管理。
 當(dāng)下手機已成為人們?nèi)粘I畹囊徊糠?。智能手機為開發(fā)各種移動應(yīng)用軟件提供了很好的平臺,。關(guān)于RFID技術(shù)的研究倍受關(guān)注,RFID應(yīng)用范圍在摸索中越來越廣,。目前智能家居市場仍具有很大的發(fā)展空間及潛力,。本文中的智能物品清點系統(tǒng),作為智能家居的子系統(tǒng)將來可以:(1)通過無線通信技術(shù),,實現(xiàn)智能手機本地數(shù)據(jù)與智能家居系統(tǒng)中個人數(shù)據(jù)庫的對接,;(2)選用讀寫距離合適的讀寫器,增加包裹內(nèi)物品防盜功能,;(3)開發(fā)基于其他移動平臺的應(yīng)用程序,,如IOS、windows phone等,。
參考文獻
[1] 劉瀟,,劉幸,吳勝華.基于RFID的智能家居用戶識別定位技術(shù)分析[J].物聯(lián)網(wǎng)技術(shù),,2011(9):60-62.
[2] 馬莎.淺談智能家居[J].建材技術(shù)與應(yīng)用,,2011(4):35-36.
[3] 葉國偉.物聯(lián)網(wǎng)時代智能家居系統(tǒng)[J].智能建筑與城市信息,2011(8):69-70.
[4] 張艷秋,,李達.智能家居產(chǎn)品綜述[J].傳感器世界,,2011(8):13-17.
[5] 康東,,石喜勤,李勇鵬,,等.射頻識別(RFID)核心技術(shù)與典型應(yīng)用開發(fā)案例[M].北京:人民郵電出版社,,2008.
[6] 朱正.射頻識別技術(shù)頻率選擇的一些考慮[J].中國電子商情(RFID技術(shù)與應(yīng)用),2006(2):52-54.
[7] 陳紅昱,,王青川,,丁敬保.藍牙技術(shù)分析及在工控行業(yè)的應(yīng)用[J].可編程控制器與工廠自動化(PLC),2012(4):45-48.
[8] 侯新琦,,李佳.基于Android藍牙通訊的研究[J].電子世界,,2012(11):84-85.
[9] (美)Lauren Darcey等著.Android移動開發(fā)一本就夠[M].李卉等譯.北京:人民郵電出版社,2011.
[10] 彭燕,,楊歐.Android平臺的數(shù)據(jù)存儲技術(shù)[J].計算機系統(tǒng)應(yīng)用,,2012,21(5):192-194.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。