基于ZigBee的區(qū)域定位的小區(qū)汽車安防系統(tǒng)設(shè)計(jì)
引言
傳統(tǒng)汽車安防系統(tǒng)以在汽車上安裝嗚叫報(bào)警器為主,但由于外界因素的干攏,報(bào)警器往往會(huì)產(chǎn)生誤報(bào)而發(fā)出巨大噪聲,給小區(qū)居民生活帶來(lái)負(fù)面影響,并且報(bào)警距離有限,當(dāng)車主不在小區(qū)內(nèi)時(shí),該報(bào)警方式就達(dá)不到預(yù)期的效果。近年來(lái),隨著通信技術(shù)的發(fā)展,GSM/GPRS等技術(shù)已經(jīng)逐漸運(yùn)用到汽車防盜系統(tǒng)中,通過發(fā)送短信的方式來(lái)達(dá)到報(bào)警的目的。但這種方式通常只是實(shí)現(xiàn)了汽車與車主之間的信息交互,并沒有將報(bào)警信息傳遞給小區(qū)物業(yè),因此在車主收到報(bào)警信息趕往停車現(xiàn)場(chǎng)的途中,很可能汽車已經(jīng)失竊。為了更好地保護(hù)小區(qū)居民的財(cái)產(chǎn)安全,通過物業(yè)對(duì)小區(qū)汽車進(jìn)行綜合管理顯得尤為重要?;谏鲜鲈颍O(shè)計(jì)實(shí)現(xiàn)了基于ZigBee的小區(qū)汽車安防系統(tǒng)。
1 系統(tǒng)組成及工作流程
1.1 系統(tǒng)各部分組成
本系統(tǒng)可分為ZigBee網(wǎng)絡(luò)、網(wǎng)關(guān)及上位機(jī)三部分。系統(tǒng)結(jié)構(gòu)如圖1所示。
ZigBee網(wǎng)絡(luò)由終端、路由器和協(xié)調(diào)器三部分組成,為了滿足系統(tǒng)功能需求,分別定制了兩種類型的終端和路由器。終端包括傳感器節(jié)點(diǎn)(安裝在汽車車門上,用來(lái)監(jiān)控車門)和遙控節(jié)點(diǎn)(車主用于開啟/關(guān)閉安防系統(tǒng))。路由器包括路由節(jié)點(diǎn)(安裝在小區(qū)內(nèi),用來(lái)路由信息)和錨節(jié)點(diǎn)(安裝在停車場(chǎng)上方,用來(lái)路由信息和區(qū)域定位)。網(wǎng)關(guān)由協(xié)調(diào)器和串口通信軟件組成。上位機(jī)包括Web服務(wù)和數(shù)據(jù)庫(kù)服務(wù)。
1.2 系統(tǒng)工作流程
在該系統(tǒng)中,停車場(chǎng)管理員可以通過上位機(jī)實(shí)時(shí)監(jiān)控小區(qū)內(nèi)汽車的安防狀態(tài)(在庫(kù)、異常及離庫(kù)),并且可以查看汽車的區(qū)域定位信息(汽車所在車庫(kù)及當(dāng)前狀態(tài))和車主的個(gè)人信息(車主通過互聯(lián)網(wǎng)錄入)。車主則可以隨時(shí)登錄系統(tǒng)上位機(jī),查看自己汽車的安防狀態(tài)以及更改個(gè)人信息。下面分別就汽車入庫(kù)、異常、離庫(kù)三個(gè)過程作詳細(xì)說明。
當(dāng)ZigBee網(wǎng)絡(luò)組建成功,車主在小區(qū)內(nèi)停好車后,車主可以通過手中的遙控節(jié)點(diǎn)發(fā)送“開啟命令”至汽車車門上的傳感器節(jié)點(diǎn)。傳感器節(jié)點(diǎn)收到“開啟命令”后,會(huì)向父節(jié)點(diǎn)(錨節(jié)點(diǎn))請(qǐng)求ParentID(用于區(qū)域定位,詳見第4小節(jié)),請(qǐng)求到ParentID后,傳感器節(jié)點(diǎn)會(huì)打開其上的紅外對(duì)射傳感器,并分別向服務(wù)器和車主手中的遙控節(jié)點(diǎn)發(fā)送帶有ParentID的“開啟成功”信息。服務(wù)器收到信息后會(huì)將該汽車的狀態(tài)改為“在庫(kù)”,停車場(chǎng)管理員就可以通過上位機(jī)得知該汽車已經(jīng)入庫(kù),車主收到成功信息后便知道汽車已經(jīng)處于安防狀態(tài)。
在安防狀態(tài)下,若車門被異常打開,紅外接收端將不能收到由紅外發(fā)送端發(fā)送的38 kHz紅外信號(hào),此時(shí)傳感器節(jié)點(diǎn)會(huì)自動(dòng)向遙控節(jié)點(diǎn)和服務(wù)器發(fā)送報(bào)警信號(hào)。服務(wù)器收到報(bào)警信號(hào)后會(huì)將該汽車的狀態(tài)改為“異?!保芾韱T通過上位機(jī)的監(jiān)控界面查看到異常汽車信息(如車牌號(hào)等)和區(qū)域定位信息(如汽車所在車庫(kù)的編號(hào)等)后會(huì)迅速通知小區(qū)保安趕往異常汽車現(xiàn)場(chǎng),并嚴(yán)禁異常汽車出入小區(qū)。同時(shí)傳感器節(jié)點(diǎn)收到報(bào)警信號(hào)后會(huì)驅(qū)動(dòng)聲光報(bào)警來(lái)提醒車主,車主知道自己的汽車存在異常后,便會(huì)及時(shí)查看自己的汽車狀況。若異常汽車的車主不在小區(qū)內(nèi),管理員可以通過上位機(jī)中的車主信息通知車主或其家人,以便快速作出相應(yīng)的處理。
若車主自己要開車,則可以通過遙控節(jié)點(diǎn)向車門上的傳感器節(jié)點(diǎn)發(fā)送“關(guān)閉命令”,傳感器節(jié)點(diǎn)收到命令后會(huì)關(guān)閉紅外對(duì)射傳感器,并向服務(wù)器和車主發(fā)送“關(guān)閉成功”信息,服務(wù)器收到信息后會(huì)將汽車的狀態(tài)改為“離庫(kù)”,車主收到信息后就可以打開車門將車開走。
2 系統(tǒng)硬件設(shè)計(jì)及功能
本系統(tǒng)的硬件設(shè)計(jì)主要包括遙控節(jié)點(diǎn)、傳感器節(jié)點(diǎn)、錨節(jié)點(diǎn)、路由節(jié)點(diǎn)和協(xié)調(diào)器5部分。
遙控節(jié)點(diǎn)負(fù)責(zé)開啟、關(guān)閉對(duì)應(yīng)汽車上的安防系統(tǒng),并接收、顯示安防信息。硬件部分主要包括CC2530芯片、電源管理單元、天線、晶振、蜂鳴器、開關(guān)按鍵以及液晶等外圍電路。其中,蜂鳴器用來(lái)報(bào)警,開關(guān)按鍵用來(lái)控制紅外模塊的開啟和關(guān)閉,液晶用來(lái)顯示安防信息。
傳感器節(jié)點(diǎn)負(fù)責(zé)紅外模塊的開啟、關(guān)閉以及對(duì)車門的監(jiān)控。傳感器節(jié)點(diǎn)硬件部分主要包括CC2530芯片、電源管理單元、天線、晶振、蜂鳴器以及紅外對(duì)射模塊等外圍電路。其中,紅外模塊用來(lái)監(jiān)控汽車車門,包括發(fā)送和接收兩部分,分別安裝在車門和門框上。發(fā)送端利用HEF 40106BT芯片組成的諧振電路在紅外信號(hào)上加載了38 kHz的載波,如圖2(a)所示;接收端與CC2530的P05口相連,如圖2(b)所示,采用HS0038接收器接收紅外調(diào)制信號(hào),不但增強(qiáng)了模塊的抗干擾能力,而且可以及時(shí)檢測(cè)車門任何形式的異常開啟情況。
路由節(jié)點(diǎn)和錨節(jié)點(diǎn)主要負(fù)責(zé)信息的路由,錨節(jié)點(diǎn)是經(jīng)過改進(jìn)的路由節(jié)點(diǎn),但路由節(jié)點(diǎn)和錨節(jié)點(diǎn)的硬件部分完全相同,都是由CC2530芯片、電源管理單元以及天線、晶振等電路組成。
協(xié)調(diào)器是ZigBee網(wǎng)絡(luò)的匯聚節(jié)點(diǎn),負(fù)責(zé)開啟ZigBee網(wǎng)絡(luò),給新入網(wǎng)節(jié)點(diǎn)分配網(wǎng)絡(luò)地址,匯聚和處理網(wǎng)絡(luò)數(shù)據(jù),與PC機(jī)進(jìn)行串口通信等。硬件部分由CC2530芯片、電源管理單元、串口模塊以及天線、晶振等電路組成,串口模塊用來(lái)與PC機(jī)上的串口通信軟件進(jìn)行通信。
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)主要包括遙控節(jié)點(diǎn)、傳感器節(jié)點(diǎn)、網(wǎng)關(guān)、WEB服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器等部分。
3.1 遙控節(jié)點(diǎn)
遙控節(jié)點(diǎn)的軟件部分主要實(shí)現(xiàn)液晶的驅(qū)動(dòng)和顯示、按鍵的處理、LED的控制以及與傳感器節(jié)點(diǎn)的通信。程序流程如圖3所示。
3.2 傳感器節(jié)點(diǎn)程序設(shè)計(jì)
傳感器節(jié)點(diǎn)的軟件部分主要實(shí)現(xiàn)紅外模塊的驅(qū)動(dòng)和控制、報(bào)警電路的控制以及與遙控節(jié)點(diǎn)、父節(jié)點(diǎn)、協(xié)調(diào)器之間的通信。程序流程如圖4所示。
3.3 網(wǎng)關(guān)程序設(shè)計(jì)
網(wǎng)關(guān)是連接ZigBee網(wǎng)絡(luò)和Internet的橋梁,其軟件部分包含協(xié)調(diào)器軟件和串口通信軟件兩部分。
當(dāng)協(xié)調(diào)器收到傳感器節(jié)點(diǎn)傳來(lái)的“開啟/關(guān)閉成功”、“報(bào)警”等信息時(shí),協(xié)調(diào)器會(huì)解析信息并以相應(yīng)的格式通過串口傳給串口通信軟件。串口通信軟件會(huì)根據(jù)串口數(shù)據(jù)幀格式解析串口數(shù)據(jù),并根據(jù)數(shù)據(jù)內(nèi)容設(shè)置數(shù)據(jù)庫(kù)中對(duì)應(yīng)表格相應(yīng)元素的值。另外,串口通信軟件能監(jiān)控串口的狀態(tài),并能實(shí)時(shí)顯示解析的信息,值得注意的是,在打開串口前必須先設(shè)置好串口通信的參數(shù),如圖5所示。
3.4 上位機(jī)軟件設(shè)計(jì)
為方便管理,系統(tǒng)使用Java Web等技術(shù)開發(fā)了基于MVC(ModelViewController)模型的B/S(Browser/Server)架構(gòu)的上位機(jī)管理軟件。
作為B/S架構(gòu)軟件的支撐,Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器必不可少??紤]到成本和小區(qū)用戶量等因素,Web服務(wù)器使用了免費(fèi)的輕量級(jí)應(yīng)用服務(wù)器Tomcat,數(shù)據(jù)庫(kù)服務(wù)器則使用了體積小、速度快、成本低的MySQL。另外,為了方便開發(fā),系統(tǒng)使用了Apache Jakarta項(xiàng)目組開發(fā)的應(yīng)用框架Struts2配合Web網(wǎng)頁(yè)的開發(fā),并且使用功能強(qiáng)大的對(duì)象/關(guān)系映射(Object Relational Mapping)框架Hibernate配合數(shù)據(jù)庫(kù)的開發(fā),保證了源碼的簡(jiǎn)練和完全面向?qū)ο蟮娘L(fēng)格。
上位機(jī)管理軟件分停車場(chǎng)管理員和普通用戶兩部分開發(fā)。停車場(chǎng)管理員部分主要實(shí)現(xiàn)查看所有用戶信息、查看汽車狀態(tài)、監(jiān)控車庫(kù)狀態(tài)、刪除用戶、添加新用戶、修改密碼等功能,普通用戶部分主要實(shí)現(xiàn)查看汽車狀態(tài)、查看和修改個(gè)人信息等功能。上位機(jī)管理軟件整體結(jié)構(gòu)及流程框圖如圖6所示。
4 區(qū)域定位的實(shí)現(xiàn)
ZigBee短距離通信技術(shù)標(biāo)準(zhǔn)有一個(gè)顯著的特點(diǎn):每個(gè)新加入的節(jié)點(diǎn)必須通過一個(gè)在其通信范圍內(nèi)的路由器(系統(tǒng)中為錨節(jié)點(diǎn))才能入網(wǎng)。根據(jù)這一特點(diǎn),系統(tǒng)實(shí)現(xiàn)了區(qū)域定位的功能。
系統(tǒng)在每個(gè)錨節(jié)點(diǎn)中設(shè)ZigBee網(wǎng)絡(luò)唯一的RouterID作為子節(jié)點(diǎn)的ParentID,并且錨節(jié)點(diǎn)所管轄的范圍(用車庫(kù)號(hào)表示,即圖1中錨節(jié)點(diǎn)定位區(qū)域)與RouterID建立一一對(duì)應(yīng)關(guān)系存儲(chǔ),在數(shù)據(jù)庫(kù)中的MatchAddress數(shù)據(jù)表中。因此,當(dāng)傳感器節(jié)點(diǎn)請(qǐng)求到錨節(jié)點(diǎn)的ParentID,并通過ZigBee網(wǎng)絡(luò)、網(wǎng)關(guān)轉(zhuǎn)發(fā)到服務(wù)器時(shí),服務(wù)器就能找到對(duì)應(yīng)的車庫(kù)號(hào),得知汽車目前所在的位置。
系統(tǒng)提供了以車庫(kù)為單位的區(qū)域定位監(jiān)控界面,如圖7所示。車庫(kù)為黃色表示該車庫(kù)內(nèi)的汽車一切正常,車庫(kù)為紅色則表示該車庫(kù)內(nèi)存在異常汽車,停車場(chǎng)管理員點(diǎn)擊進(jìn)入紅色車庫(kù)就可以看到異常汽車及車主的詳細(xì)信息,方便管理員通知小區(qū)保安進(jìn)行查看。
這種定位方法只是一種粗略的定位,會(huì)受節(jié)點(diǎn)通信距離的影響,目的是方便管理員通知保安人員迅速找到異常汽車。在實(shí)際測(cè)試中,受到汽車車門等障礙物的干擾,傳感器節(jié)點(diǎn)的通信距離大概在10~20 m左右。
結(jié)語(yǔ)
系統(tǒng)為實(shí)時(shí)監(jiān)控小區(qū)內(nèi)汽車安防狀態(tài)而設(shè)計(jì),很好地利用了ZigBee網(wǎng)絡(luò)和Internet的優(yōu)良性能,克服了傳統(tǒng)汽車安防系統(tǒng)噪聲擾民、反應(yīng)慢、監(jiān)控范圍小等缺點(diǎn),提高了物業(yè)公司保護(hù)居民財(cái)產(chǎn)安全的能力。并且系統(tǒng)具有很強(qiáng)的擴(kuò)展能力,在傳感器節(jié)點(diǎn)上可以添加其他類型傳感器以實(shí)現(xiàn)更多功能,如添加溫度或煙霧傳感器可以及時(shí)預(yù)警和監(jiān)測(cè)火災(zāi)等。實(shí)際運(yùn)行測(cè)試顯示,系統(tǒng)能夠正常實(shí)現(xiàn)上述功能。