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