- 相關(guān)推薦
家庭安防系統(tǒng)數(shù)據(jù)通信問(wèn)題的研究
【摘 要】當(dāng)今社會(huì),家庭的安全防盜成為了重大的問(wèn)題,為了維護(hù)家庭的生命財(cái)產(chǎn)安全,及時(shí)發(fā)現(xiàn)危險(xiǎn)情況,安裝一套家庭安防系統(tǒng)是很有必要的,家庭安防系統(tǒng)的重點(diǎn)在于安防數(shù)據(jù)的通信,以便實(shí)時(shí)預(yù)警。本文闡述了安防系統(tǒng)的整個(gè)數(shù)據(jù)通信過(guò)程,并對(duì)具體的通信部分提出了解決方案,有利于實(shí)現(xiàn)更加安全、高效率的安防系統(tǒng)。
【關(guān)鍵詞】家庭安防;數(shù)據(jù)通信;Mina框架;WebService技術(shù);手機(jī)推送
引言
隨著社會(huì)經(jīng)濟(jì)的飛速發(fā)展,社會(huì)結(jié)構(gòu)和社會(huì)治安都日趨復(fù)雜,入室搶竊、偷盜等諸多社會(huì)問(wèn)題時(shí)有發(fā)生,使得人們對(duì)家庭生命財(cái)產(chǎn)的安全越來(lái)越重視。為了滿足人們對(duì)家庭安全防范的更高要求,及時(shí)發(fā)現(xiàn)入室搶劫等危險(xiǎn)情況,并在第一時(shí)間內(nèi)迅速通知給用戶,將險(xiǎn)情遏制在萌芽階段,從而更好的保護(hù)住宅用戶的利益。家庭安防系統(tǒng)應(yīng)運(yùn)而生,家庭安防系統(tǒng)的研究,可以使用戶跨越時(shí)間、空間的阻隔進(jìn)行遠(yuǎn)程監(jiān)控工作[1],提高了住宅的安全防盜性能,可以有效的保護(hù)用戶的生命財(cái)產(chǎn)安全,具有較高的應(yīng)用價(jià)值。
家庭安防系統(tǒng)是基于網(wǎng)絡(luò)的,系統(tǒng)功能實(shí)現(xiàn)的重點(diǎn)在于數(shù)據(jù)通信,數(shù)據(jù)通信是通信技術(shù)和計(jì)算機(jī)技術(shù)相結(jié)合而產(chǎn)生的一種新的通信方式。需要把文本、圖像、視頻、音頻等元素與二進(jìn)制數(shù)據(jù)進(jìn)行轉(zhuǎn)換傳輸。本文在實(shí)現(xiàn)了一套家庭安防系統(tǒng)的基礎(chǔ)上,著重對(duì)系統(tǒng)的數(shù)據(jù)通信問(wèn)題做出研究,并提供了一套有效的解決方案。
1 開(kāi)發(fā)工具簡(jiǎn)介
1.1 MyEclipse
MyEclipse是一個(gè)功能十分強(qiáng)大的企業(yè)級(jí)集成開(kāi)發(fā)環(huán)境,是在eclipse的基礎(chǔ)上集成自己的插件開(kāi)發(fā)而成的,主要用于Java還有Java EE和移動(dòng)應(yīng)用的開(kāi)發(fā)。MyEclipse擁有完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, CSS, Javascript, Struts, JSF, SQL, Hibernate。MyEclipse在結(jié)構(gòu)上可以被分為7類(lèi)特征:(1)J2EE模型;(2)WEB開(kāi)發(fā)工具;(3)EJB開(kāi)發(fā)工具;(4)應(yīng)用程序服務(wù)器的連接器;(5)J2EE項(xiàng)目部署服務(wù);(6)數(shù)據(jù)庫(kù)服務(wù);(7)MyEclipse整合幫助。MyEclipse通過(guò)各種各樣的的插件來(lái)提供以上的功能。MyEclipse具有模塊化的結(jié)構(gòu),能夠?qū)θ我荒K實(shí)現(xiàn)單獨(dú)的升級(jí)和擴(kuò)展。
1.2 Android
Android是一種操作系統(tǒng),是基于Linux開(kāi)發(fā)而成,開(kāi)放源碼,它主要被使用于移動(dòng)設(shè)備,如平板電腦和智能手機(jī)。Anroid平臺(tái)對(duì)第三方軟件是完全開(kāi)放的,開(kāi)發(fā)者可以更加自由的在平臺(tái)上開(kāi)發(fā)程序。Android系統(tǒng)是不收費(fèi)的,這樣可以節(jié)省開(kāi)發(fā)者開(kāi)發(fā)的成本。Android平臺(tái)主要擁有5大特點(diǎn):(1)開(kāi)放性:Android聯(lián)盟允許所有的移動(dòng)終端設(shè)備廠商加入到 Android平臺(tái);(2)擺脫運(yùn)營(yíng)商的制約:用戶能夠更方便地去連接網(wǎng)絡(luò),減少了運(yùn)營(yíng)商對(duì)用戶的束縛;(3)硬件選擇更加豐富:眾多的Android設(shè)備廠商提供了五花八門(mén)、功能各式各樣的產(chǎn)品;(4)開(kāi)發(fā)商不會(huì)受到任何的限制:Android平臺(tái)擁有一個(gè)非常寬泛、十分自由的生態(tài)環(huán)境,使得開(kāi)發(fā)商不會(huì)被太多的條條框框而阻擾;(5)Google應(yīng)用:Android平臺(tái)設(shè)備可以非常方便的使用Google服務(wù)。
2 系統(tǒng)功能簡(jiǎn)介
家庭安防系統(tǒng)主要由三部分組成,硬件端采集系統(tǒng)、服務(wù)器管理系統(tǒng)和手機(jī)移動(dòng)終端。硬件端利用溫度傳感器、振動(dòng)傳感器與攝像頭,實(shí)現(xiàn)對(duì)家庭安全防盜信息的采集;服務(wù)器端對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)分析;手機(jī)端對(duì)數(shù)據(jù)進(jìn)行展示,以及防盜報(bào)警。系統(tǒng)主要功能是實(shí)現(xiàn)對(duì)家庭內(nèi)部的監(jiān)控,能夠采集家庭內(nèi)的溫度、振動(dòng)、圖像信息,并且能將這些信息發(fā)送到服務(wù)器上。當(dāng)家庭內(nèi)有異常(陌生人非正常進(jìn)入)時(shí),可以檢測(cè)出異常,然后通過(guò)服務(wù)器將報(bào)警信息發(fā)送到用戶的手機(jī)上。用戶可以通過(guò)手機(jī)登錄服務(wù)器來(lái)查看家中的溫度、振動(dòng)、圖像信息,并且可以發(fā)送特定的指令信息給服務(wù)器,修改家庭內(nèi)監(jiān)控網(wǎng)絡(luò)的一些參數(shù)(采集頻率、開(kāi)關(guān)狀態(tài)等)。
3 通信功能實(shí)現(xiàn)
家庭安防系統(tǒng)的數(shù)據(jù)通信功能主要分為三個(gè)模塊:(1)硬件端與服務(wù)器端通信:硬件端網(wǎng)關(guān)把采集的數(shù)據(jù)分析壓縮后上傳到服務(wù)器端,服務(wù)器端向硬件端發(fā)送監(jiān)控參數(shù)設(shè)置信息;(2)服務(wù)器端與手機(jī)端通信:服務(wù)器端對(duì)硬件端上傳的數(shù)據(jù)進(jìn)行存儲(chǔ)分析,向手機(jī)端提供數(shù)據(jù)調(diào)用的展示和異常時(shí)的報(bào)警,手機(jī)端向服務(wù)器端設(shè)置監(jiān)控參數(shù);(3)服務(wù)器端與PC客戶端通信:服務(wù)器端向PC客戶端提供數(shù)據(jù)調(diào)用的展示,PC客戶端向服務(wù)器端傳送數(shù)據(jù)操作生成的數(shù)據(jù)信息。具體的系統(tǒng)數(shù)據(jù)通信框架如圖1。
圖1 系統(tǒng)數(shù)據(jù)通信框架圖
3.1 硬件端與服務(wù)器端通信
家庭安防系統(tǒng)面對(duì)的用戶群非常廣泛,同一時(shí)間需要支持大量的硬件端數(shù)據(jù)上傳,而且數(shù)據(jù)上傳的頻率非常高,因此,服務(wù)器需要支持大規(guī)模的并發(fā)連接。傳統(tǒng)的Socket通信是阻塞的、非異步的,連接數(shù)較多將會(huì)出現(xiàn)資源不足的情況,程序響應(yīng)出現(xiàn)延遲,甚至崩潰。Apache Mina是一個(gè)網(wǎng)絡(luò)通信應(yīng)用框架,也就是說(shuō),它主要是基于UDP/IP和TCP/IP協(xié)議棧的通信框架,我們可以使用Mina 快速的開(kāi)發(fā)高性能并且高擴(kuò)展性的網(wǎng)絡(luò)通信應(yīng)用,Mina 提供了基于事件驅(qū)動(dòng)和異步(Mina 的異步IO 默認(rèn)使用的是JAVA NIO 作為底層支持)操作的編程模型[2]。messageReceived是Mina中用于接收消息的方法,在此方法中進(jìn)行消息的處理。核心代碼如下:
public void messageReceived(IoSession session, Object message)
throws Exception {
IoBuffer buffer = (IoBuffer) message;
Context ctx = getContext(session);
byte[] b = new byte[buffer.limit()];
buffer.get(b);
System.out.println(b.length);
DataOutputStream dos = ctx.getDos();
boolean isopen = ctx.isIsopen();
System.out.println(isopen);
int len = b.length;
for(int k=0;k ...
}
}
3.2 服務(wù)器端與手機(jī)端通信
3.2.1 WebService調(diào)用
WebService是一種跨編程語(yǔ)言和跨操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用技術(shù)[3],WebService使用HTTP協(xié)議進(jìn)行數(shù)據(jù)傳輸,采用XML格式來(lái)封裝數(shù)據(jù)(在XML中要說(shuō)明調(diào)用遠(yuǎn)程服務(wù)對(duì)象的什么方法,傳遞的是什么參數(shù),還有服務(wù)對(duì)象會(huì)返回什么結(jié)果)。家庭安防系統(tǒng)服務(wù)器端將已經(jīng)開(kāi)發(fā)好的功能和數(shù)據(jù)發(fā)布到網(wǎng)絡(luò)上某個(gè)地址,手機(jī)客戶端通過(guò)訪問(wèn)這個(gè)地址獲取所需的功能。WebService發(fā)布的核心代碼如下:
public void init() {
System.out.println("Start Server...");
TestImpl implementor = new TestImpl();
String address = "http://127.0.0.1:8080/Test";
Endpoint.publish(address, implementor);
System.out.println("Server ready...");
}
服務(wù)器端提供了和手機(jī)端進(jìn)行交互的各式各樣的方法,具體的WebService方法如圖2。
圖2 WebService方法
3.2.2 推送報(bào)警信息
家庭安防系統(tǒng)很重要的一個(gè)功能就是服務(wù)器端向手機(jī)端實(shí)時(shí)推送報(bào)警信息,目前的推送技術(shù)有幾種常用的解決方案[4]。(1)輪詢(xún)(Pull)方式:手機(jī)端會(huì)不間斷的主動(dòng)連接服務(wù)器,查詢(xún)是否有推送消息到達(dá),選取這個(gè)方式需要注意的是輪詢(xún)頻率的選擇,如果太慢,消息可能會(huì)遭到延遲,假如太快,電量和網(wǎng)絡(luò)會(huì)被大量消耗;(2)SMS(Push)方式:在使用Android平臺(tái)的設(shè)備上,通過(guò)對(duì)SMS消息的攔截,程序可以分析服務(wù)器推送消息的意圖,并對(duì)消息內(nèi)容進(jìn)行分析和處理。選取這個(gè)方案,可以完全的實(shí)現(xiàn)實(shí)時(shí)操作,但是運(yùn)營(yíng)成本是比較高的,目前基本上沒(méi)有可以免費(fèi)發(fā)送短消息的網(wǎng)關(guān)來(lái)實(shí)現(xiàn)這個(gè)方案;(3)持久連接(Push)方式:這個(gè)方案能夠解決由輪詢(xún)方式帶來(lái)的消息延遲問(wèn)題,但是還是會(huì)消耗手機(jī)的網(wǎng)絡(luò)帶寬和電池電量,也會(huì)大大增加服務(wù)器的并發(fā)連接壓力。家庭安防系統(tǒng)的主要目的是實(shí)時(shí)預(yù)警,及時(shí)的發(fā)現(xiàn)危險(xiǎn)情況,因此推送信息的實(shí)時(shí)性是必須要保證的。考慮到報(bào)警信息所需的實(shí)時(shí)性、偶然性和信息的重要性,項(xiàng)目采用了第二種解決方案,通過(guò)調(diào)用短消息發(fā)送網(wǎng)關(guān)來(lái)實(shí)現(xiàn)報(bào)警信息的推送功能。
3.3 服務(wù)器端與PC客戶端通信
服務(wù)器端與PC客戶端的通信主要采用了AJAX技術(shù),AJAX(異步JavaScript和XML)是一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)[5]。AJAX的優(yōu)點(diǎn):(1)無(wú)刷新的更新數(shù)據(jù):AJAX最大的一個(gè)優(yōu)點(diǎn)是可以與服務(wù)器交換很少量的數(shù)據(jù),而不用去刷新整個(gè)前端頁(yè)面;(2)與服務(wù)器異步通信:AJAX采用異步的方式和服務(wù)器進(jìn)行通信,不會(huì)中斷用戶的操作,響應(yīng)能力更加迅速;(3)前端與后端負(fù)載平衡:AJAX客戶端閑置時(shí),可以為服務(wù)器端負(fù)擔(dān)一些工作,節(jié)約寬帶成本;(4)基于標(biāo)準(zhǔn)并且被廣泛支持:AJAX基于被廣泛支持而且標(biāo)準(zhǔn)化的技術(shù),不必下載小程序或者安裝瀏覽器插件,但是客戶需要允許在瀏覽器上運(yùn)行JavaScript代碼;(5)應(yīng)用與界面分離:有利于提高開(kāi)發(fā)效率,減少程序錯(cuò)誤。
4 結(jié)語(yǔ)
本文從實(shí)際需求出發(fā),闡述了一套家庭安防系統(tǒng)的實(shí)現(xiàn),并對(duì)家庭安防系統(tǒng)的數(shù)據(jù)通信部分做了重點(diǎn)研究,提出了一系列的解決方案。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)的數(shù)據(jù)通信能力、預(yù)警的實(shí)時(shí)性都得到了顯著提高。隨著WIFI等無(wú)線通信技術(shù)的不斷發(fā)展,硬件設(shè)備的不斷更新,系統(tǒng)數(shù)據(jù)的傳送速率和利用效率會(huì)大大提高,家庭安防系統(tǒng)將會(huì)有更大的前景。
【參考文獻(xiàn)】
[1]王靜茹,宋紹成.城市安防領(lǐng)域視頻監(jiān)控技術(shù)的發(fā)展與趨勢(shì)[J].黑龍江科技信息,2013,32:153+155.
[2]叢鳳俠,楊玉強(qiáng).基于MINA框架的高性能短x貓服務(wù)平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,04:213-216.
[3]李鳳云,黃迎春,馮永新.基于WebService的SOA實(shí)現(xiàn)技術(shù)研究[J].科技視界,2012,23:17-19.
[4]孫偉,胡霞.Android推送技術(shù)綜合分析[J].科技廣場(chǎng),2013,10:126-129.
[5]安勤玲.Ajax原理、性能及其應(yīng)用[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2012,02:23-25+28.
【家庭安防系統(tǒng)數(shù)據(jù)通信問(wèn)題的研究】相關(guān)文章:
系統(tǒng)法學(xué)研究的若干問(wèn)題03-19
某工廠智能安防系統(tǒng)設(shè)計(jì)方案03-18
DTTB系統(tǒng)中LDPC譯碼量化問(wèn)題研究03-07
對(duì)數(shù)據(jù)通信技術(shù)的研究03-19
地鐵信號(hào)系統(tǒng)數(shù)據(jù)通信論文11-09
cdma2000系統(tǒng)中導(dǎo)頻干擾問(wèn)題的研究03-07
有限速率反饋的MIMO廣播系統(tǒng)功率問(wèn)題研究03-30
公務(wù)法人問(wèn)題研究12-06
防衛(wèi)限度問(wèn)題研究12-12