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