基于Android平臺的保險(xiǎn)箱異動監(jiān)控系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時隨地手機(jī)看文章
摘要:為了實(shí)現(xiàn)遠(yuǎn)程監(jiān)控保險(xiǎn)箱,及時地預(yù)警和報(bào)警,降低損失,在傳統(tǒng)保險(xiǎn)箱基礎(chǔ)上增加了振動傳感器、GPS模塊、GSM模塊、攝像頭模塊等監(jiān)控設(shè)備,并利用WSN,GPS,GSM,拍照等現(xiàn)有的技術(shù)提出了一種基于Android平臺的保險(xiǎn)箱異動監(jiān)控系統(tǒng)。介紹了保險(xiǎn)箱監(jiān)控系統(tǒng)體系結(jié)構(gòu)和硬件平臺,重點(diǎn)論述了Android平臺下保險(xiǎn)箱異動監(jiān)控客戶端的設(shè)計(jì)思路與實(shí)現(xiàn)過程。在無線局域網(wǎng)絡(luò)的環(huán)境下對保險(xiǎn)箱進(jìn)行測試,實(shí)現(xiàn)了Android手機(jī)對保險(xiǎn)箱定位,圖片顯示,遠(yuǎn)程拍照等功能,達(dá)到了利用手機(jī)進(jìn)行保險(xiǎn)箱異動監(jiān)控的目的。
關(guān)鍵詞:遠(yuǎn)程監(jiān)控;Android;異動監(jiān)控;客戶端;手機(jī)監(jiān)控
0 引言
隨著黃金,白銀等貴金屬價(jià)格的飆升,人們投資黃金的熱情不斷高漲,投資類金條屢次簽出大單,黃金飾品銷量也隨之攀升,越來越多的家庭開始擁有黃金、珠寶首飾等貴重物品以及大量現(xiàn)金或房產(chǎn)證等,這些貴重物品的保管成了一個難題。傳統(tǒng)的保險(xiǎn)箱雖然有防火,防盜,防潮等功能,但還存在很多弊端,主要表現(xiàn)在:
(1)物主不在家中貴重物品被盜時物主不能及時被通知,也不能捕捉犯罪證據(jù),報(bào)警后也難以立案,給辦案人員增加了不少困難。
(2)物主要時常打開保險(xiǎn)箱查看里面的貴重物品是否丟失和變質(zhì),以及保險(xiǎn)箱內(nèi)環(huán)境是否潮濕,給物主帶來不便,尤其是物主長期在外出差。
為了解決以上問題,存?zhèn)鹘y(tǒng)保險(xiǎn)箱基礎(chǔ)上增加一些必要的傳感器,如振動傳感器,傾角傳感器,濕度傳感器、通信模塊,如GSM(Global System for Mobile Communications)全球移動通信系統(tǒng)/GPRS(General Paeket Radio Service)通用分組無線服務(wù)模塊,GPS(Global Posi tioning System)全球定位系統(tǒng)定位模塊、攝像頭模塊,數(shù)據(jù)處理設(shè)備等,利用現(xiàn)有的WSN(Wireless Sensor Network)無線傳感器網(wǎng)絡(luò)技術(shù),GSM技術(shù),GPS技術(shù),攝像頭拍照技術(shù)對保險(xiǎn)箱當(dāng)前狀態(tài)進(jìn)行監(jiān)測,當(dāng)保險(xiǎn)箱出現(xiàn)異常狀態(tài)時能將保險(xiǎn)箱狀態(tài)等信息可靠的發(fā)送到指定的服務(wù)平臺。同時保險(xiǎn)箱也能解析從服務(wù)平臺發(fā)送過來的特定指令,如保險(xiǎn)箱防盜配置,查看等互動操作指令,并且能根據(jù)這些指令做出相應(yīng)的動作。本文將使用Android智能手機(jī)為保險(xiǎn)箱異動監(jiān)控系統(tǒng)的客戶終端,開發(fā)出一套網(wǎng)絡(luò)化,智能化的保險(xiǎn)箱異動監(jiān)控系統(tǒng)移動客戶終端。
1 保險(xiǎn)箱異動監(jiān)控系統(tǒng)簡介
保險(xiǎn)箱異動監(jiān)控系統(tǒng)整體分為硬件部分和軟件部分。硬件設(shè)備有監(jiān)測設(shè)備,數(shù)據(jù)庫,服務(wù)器,電腦,手機(jī)終端組成,其中監(jiān)測設(shè)備的硬件框圖如圖1所示。
監(jiān)測設(shè)備主要包括供電模塊、傳感模塊(振動傳感器、傾角傳感器、紅外傳感器、攝像頭)、控制模塊、GSM/GPRS模塊、GPS模塊、蜂鳴器、Ethernet以太網(wǎng)卡、存儲卡。軟件部分從功能上分為數(shù)據(jù)采集程序,數(shù)據(jù)傳輸程序,數(shù)據(jù)處理程序等。軟件部分各功能子模塊程序獨(dú)立設(shè)計(jì)運(yùn)行,從而使系統(tǒng)運(yùn)行更流暢,更具靈活性。整個系統(tǒng)的網(wǎng)絡(luò)架構(gòu)如圖2所示。
(1)監(jiān)控設(shè)備負(fù)責(zé)感知整個保險(xiǎn)箱的狀態(tài)。例如,如果有報(bào)警事件被觸發(fā),則要么通過短信方式,要么通過GPRS方式,將報(bào)警信息發(fā)送至GSM/GPRS網(wǎng)絡(luò)。
(2)GSM/GPRS/Internet網(wǎng)絡(luò)負(fù)責(zé)數(shù)據(jù)的中轉(zhuǎn)。
GSM/GPRS與Internet之間內(nèi)部是通過專有網(wǎng)關(guān)負(fù)責(zé)轉(zhuǎn)發(fā)。
(3)服務(wù)器是一臺連入公網(wǎng)的服務(wù)器,負(fù)責(zé)接收來自Internet網(wǎng)絡(luò)的數(shù)據(jù)。
(4)PC(Personal Computer)個人計(jì)算機(jī)終端與服務(wù)器相連,可獲得來自服務(wù)器端數(shù)據(jù)信息,在終端顯示。
(5)手機(jī)終端可獲取報(bào)警的短信信息,通過手機(jī)客戶端軟件實(shí)現(xiàn)對保險(xiǎn)箱定位,圖片顯示,遠(yuǎn)程拍照等功能,達(dá)到利用手機(jī)對保險(xiǎn)箱異動監(jiān)控的目的。
2 Android系統(tǒng)介紹
Android是Google公司開發(fā)的基于Linux平臺的開源手機(jī)操作系統(tǒng)。Android顯著的開放性使其擁有眾多的開發(fā)者,應(yīng)用日益豐富,不僅應(yīng)用于智能手機(jī),也向平板電腦等方向急速擴(kuò)張。同時,Android智能手機(jī)操作系統(tǒng)具有5大優(yōu)勢:開放性,擺脫運(yùn)營商的束縛,豐富的應(yīng)用選擇,開發(fā)商不受任何限制和無縫合的Google應(yīng)用。Android平臺由操作系統(tǒng),中間件,用戶界面和應(yīng)用軟件組成。它的體系結(jié)構(gòu)主要分為4層,從高層到低層分別是應(yīng)用程序(Application),應(yīng)用程序框架(Application Framework),核心類庫(Libraries and Android Runtime),Linux內(nèi)核(Linux Kernel)。
應(yīng)用程序?qū)邮茿ndroid系統(tǒng)自帶的一系列核心應(yīng)用程序的集合,其中所有的應(yīng)用程序都是采用Java語言編寫的。
應(yīng)用程序框架層是Android平臺為應(yīng)用程序的開發(fā)設(shè)計(jì)的,開發(fā)者完全可以訪問核心應(yīng)用程序所使用的框架APIs。應(yīng)用程序的體系結(jié)構(gòu)旨在簡化組件的重用,任何應(yīng)用程序都能發(fā)布它的功能且任何其他應(yīng)用程序可以使用這些功能(需要服從框架執(zhí)行的安全限制)。
核心類庫層包括一個被Android系統(tǒng)中各種不同組件所使用的C/C++類庫,同時包含了一個提供Java編寫語言核心庫的大多數(shù)功能的核心庫。
Linux內(nèi)核層是系統(tǒng)內(nèi)核層。Android核心系統(tǒng)服務(wù)依賴于Linux 2.6內(nèi)核,Linux內(nèi)核作為硬件和軟件之間的抽象層,它隱藏了具體硬件的一些細(xì)節(jié)而為上層提供統(tǒng)一的服務(wù)。
開發(fā)Android應(yīng)用程序最簡捷的方式是安裝Android SDK和Eclipse IDE。Eclipse提供了一個豐富的Java環(huán)境,Java代碼通過編譯后,Android DeveloperTools會將它打包,用于安裝。
3 監(jiān)控客戶端的設(shè)計(jì)與實(shí)現(xiàn)
Android智能手機(jī)在硬件上有CPU等設(shè)備,在系統(tǒng)運(yùn)行上有更高的數(shù)據(jù)處理能力。利用智能手機(jī)對數(shù)據(jù)處理能力,結(jié)合保險(xiǎn)箱異動監(jiān)控系統(tǒng)可以實(shí)現(xiàn)對保險(xiǎn)箱定位,圖片顯示,遠(yuǎn)程拍照等應(yīng)用,從而進(jìn)一步提高整個監(jiān)控系統(tǒng)的運(yùn)行效率。
3.1 監(jiān)控客戶端的設(shè)計(jì)
作為保險(xiǎn)箱監(jiān)控系統(tǒng)的移動客戶端,Android智能手機(jī)在功能上主要實(shí)現(xiàn)用戶登錄,保險(xiǎn)箱定位,實(shí)時圖片顯示,主動拍照等功能,同時為了能滿足客戶端程序的可移植性,在客戶端程序上還設(shè)計(jì)了用戶配置的輔助功能。手機(jī)客戶端與服務(wù)器采用C/S(Client/Server)客
戶端服務(wù)器架構(gòu)進(jìn)行設(shè)計(jì)開發(fā)。為了程序的可移植性,手機(jī)客戶端軟件不直接跟監(jiān)控設(shè)備連接。手機(jī)客戶端采用HTTP(Hypertext Transport Protocol)超文本傳送協(xié)議和SOAP(Simple Object Access Protocol)簡單對象訪問協(xié)議同Web服務(wù)器通信來進(jìn)行數(shù)據(jù)交互??蛻舳斯δ茉O(shè)計(jì)如圖3所示。
當(dāng)保險(xiǎn)箱受到外力非法破壞,傾斜后會自動啟動GPS模塊,在GPS能正常接收到衛(wèi)星定位數(shù)據(jù)后把保險(xiǎn)箱當(dāng)前的位置信息不問斷地發(fā)送到服務(wù)器。用戶手機(jī)通過設(shè)定固定的數(shù)據(jù)請求頻率請求服務(wù)器中保險(xiǎn)箱的經(jīng)度,緯度信息,同時調(diào)用高德Android地圖API,達(dá)到對保險(xiǎn)箱實(shí)時定位的功能,為用戶了解保險(xiǎn)箱去向和警察破案提供了一定的幫助。
當(dāng)保險(xiǎn)箱受到振動時保險(xiǎn)箱自動啟動攝像頭拍照,將拍攝到的圖片或視頻存到SD卡以及通過GSM/GPRS上傳到服務(wù)器,用戶手機(jī)可以讀取服務(wù)器上的最近圖片,為用戶遠(yuǎn)程的了解當(dāng)前誰動過保險(xiǎn)箱,也為報(bào)警提供了很有利的證據(jù)。
保險(xiǎn)箱內(nèi)安裝濕度傳感器,當(dāng)保險(xiǎn)箱內(nèi)超過一定的濕度后會提醒用戶。同時,用戶也可以通過手機(jī)請求服務(wù)器中保險(xiǎn)箱的濕度信息實(shí)時的查看保險(xiǎn)箱內(nèi)的潮濕度,方便用戶更好地管理保險(xiǎn)箱內(nèi)貴重物品,使貴重物品不易被受潮損壞。
遠(yuǎn)程拍照是用戶通過手機(jī)調(diào)用系統(tǒng)內(nèi)短信發(fā)送功能,向攝像頭發(fā)送啟動拍照指令。攝像頭收到指令后開始拍照,并同時向服務(wù)器發(fā)送拍照圖片信息。這樣用戶可以通過手機(jī)隨時地拍照保險(xiǎn)箱前的環(huán)境,了解保險(xiǎn)箱的狀態(tài)。
用戶登錄后可以查看個人信息,可以選擇保險(xiǎn)箱號,了解自己某一個保險(xiǎn)箱當(dāng)前狀態(tài)。同時,可以查看當(dāng)前版本號和對系統(tǒng)的更新操作。
通過對服務(wù)器地址和數(shù)據(jù)元等信息的配置,從一定程度上提高了系統(tǒng)的移植性。
對于整個系統(tǒng),對于保險(xiǎn)箱位置信息的獲取可以提供系統(tǒng)的其他模塊進(jìn)行利用,比如超出一定范圍觸發(fā)報(bào)警,啟動蜂嗚器。實(shí)時圖片功能,箱內(nèi)潮濕度功能和遠(yuǎn)程拍照功能增強(qiáng)了監(jiān)控中心對保險(xiǎn)箱的監(jiān)控力度,提高了預(yù)警率,降低了誤警率。隨著手機(jī)功能的不斷增強(qiáng),利用手機(jī)可以實(shí)現(xiàn)的功能還有很多,資源還待利用,功能還待完善。
3.2 監(jiān)控客戶端的實(shí)現(xiàn)
從客戶端主要功能上看,手機(jī)主要需要用到地圖調(diào)用,圖片操作,遠(yuǎn)程調(diào)用攝像頭,手機(jī)與服務(wù)器之間數(shù)據(jù)的交互。
保險(xiǎn)箱定位地圖采用的是高德地圖。在Android應(yīng)用程序中使用高德地圖API的步驟如下:
(1)創(chuàng)建工程,并在工程Build Path>ConfigureBuild Path...>Libraries中選擇“Add External JARs…”,選定MapApi.iar,點(diǎn)擊OK,這樣就可以將高德地圖Android API庫文件引入。
(2)在工程Build Path>Configure Build Path…>Order and Export中將引入的庫文件MapApi.iar選中,點(diǎn)擊OK,這樣可以在Android應(yīng)用程序中使用高德地圖API了。
地圖圖片的顯示利用Android中View類來實(shí)現(xiàn)。地圖的顯示基于一個圖層管理器上,每張圖片的顯示都是由多個圖層組成,每個圖層都由View構(gòu)成。通過建立Canvas畫布來顯示高德地圖,保險(xiǎn)箱位置等信息,同時利用圖片的放大縮小系數(shù)實(shí)現(xiàn)圖片的放大縮小和地圖坐標(biāo)的改變實(shí)現(xiàn)圖片移動等圖片處理功能。
實(shí)時圖片和遠(yuǎn)程拍照功能都是通過調(diào)用監(jiān)控設(shè)備上的攝像機(jī)模塊來實(shí)現(xiàn)的。遠(yuǎn)程拍照功能以短信指令向監(jiān)控設(shè)備發(fā)送,監(jiān)控設(shè)備接收到短信,解析短信內(nèi)容后,啟動攝像頭拍照。之后獲取拍照圖片跟實(shí)時圖片功能機(jī)制一樣。當(dāng)攝像頭拍照后,監(jiān)控設(shè)備將圖片數(shù)據(jù)信息以字符輸出流的形式保存到SD卡,同時以GSM/GPRS方式發(fā)送到服務(wù)器,服務(wù)器接收到相應(yīng)的字符流后以規(guī)定的協(xié)議把圖片數(shù)據(jù)轉(zhuǎn)成相應(yīng)的圖片并存到指定的位置上,手機(jī)從服務(wù)器指定的位置獲取相應(yīng)的圖片。這樣,用戶手機(jī)實(shí)現(xiàn)了實(shí)時圖片的獲取和遠(yuǎn)程拍照功能。手機(jī)終端與服務(wù)器間的通信的數(shù)據(jù)格式采用XML(Extensible Markup Language)可擴(kuò)展標(biāo)記語言格式,手機(jī)通過HTTP和SOAP方式與服務(wù)器進(jìn)行數(shù)據(jù)交互。手機(jī)界面設(shè)計(jì)和界面間的轉(zhuǎn)換主要是通過Activity類來實(shí)現(xiàn),每個界面采用一個Activity類進(jìn)行界面UI設(shè)計(jì),同時通過利用Intent類中的setClass方法對頁面間的轉(zhuǎn)換進(jìn)行設(shè)置,并通過startActivity來實(shí)現(xiàn)頁面間的轉(zhuǎn)換。
3.3 系統(tǒng)功能展示
保險(xiǎn)箱異動監(jiān)測系統(tǒng)很有實(shí)用意義,基于保險(xiǎn)箱異動監(jiān)測系統(tǒng)功能的實(shí)現(xiàn)還能衍生出更多的應(yīng)用,比如公司保險(xiǎn)柜安防,銀行保險(xiǎn)柜安防等等。目前,該系統(tǒng)已經(jīng)在實(shí)驗(yàn)室進(jìn)行了測試,客戶端軟件安裝在Android手機(jī)上,通過WiFi接入到無線局域網(wǎng)中與服務(wù)器建立連接,可實(shí)現(xiàn)遠(yuǎn)程查看保險(xiǎn)箱位置,獲取實(shí)時圖片,查看保險(xiǎn)箱潮濕度,遠(yuǎn)程拍照等操作。監(jiān)控客戶端界面如圖4所示,其中左邊的是保險(xiǎn)箱定位界面,右邊的是實(shí)時圖像拍照界面。保險(xiǎn)箱定位界面中紅圈表示保險(xiǎn)箱當(dāng)前的位置,同時通過對手機(jī)的操作可以對圖片進(jìn)行放大縮小功能,使用戶更加清楚地知道保險(xiǎn)箱所處的位置。實(shí)時圖像拍照界面中的圖像表示保險(xiǎn)箱發(fā)生振動報(bào)警時記錄下來的情景。
4 結(jié)語
通過對整個保險(xiǎn)箱異動監(jiān)控系統(tǒng)的介紹,對手機(jī)監(jiān)控功能進(jìn)行設(shè)計(jì),開發(fā)了一套基于C/S模式的保險(xiǎn)箱異動監(jiān)控系統(tǒng)Android手機(jī)客戶端程序。程序通過HTTP和SOAP與服務(wù)器進(jìn)行數(shù)據(jù)交互,并對系統(tǒng)數(shù)據(jù)進(jìn)行分析和展現(xiàn)。通過對系統(tǒng)的設(shè)計(jì),一方面推廣了Android智能手機(jī)等移動設(shè)備的應(yīng)用領(lǐng)域,另一方面也增強(qiáng)了保險(xiǎn)箱監(jiān)測系統(tǒng)的監(jiān)控力度。該保險(xiǎn)箱異動監(jiān)控系統(tǒng)能讓用戶全面及時地遠(yuǎn)程觀察保險(xiǎn)箱情況,并可在異常情況發(fā)生時自動發(fā)出報(bào)警,捕捉犯罪現(xiàn)場證據(jù),及時地提醒用戶,這體現(xiàn)了監(jiān)控系統(tǒng)與物聯(lián)網(wǎng)的融合。此監(jiān)控系統(tǒng)具有良好的便攜性,預(yù)警率高,誤警率低,功能較為完善。