基于WSN的小區(qū)自行車防盜系統(tǒng)的設(shè)計
近年來,隨著無線通信、微電子技術(shù)、傳感器技術(shù)以及嵌入式計算等技術(shù)的不斷進(jìn)步,推動了低成本、低功耗的無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)的發(fā)展,促使WSN成為當(dāng)今活躍的研究領(lǐng)域[1]。WSN由部署在監(jiān)測區(qū)域內(nèi)大量的廉價微型傳感器節(jié)點組成,通過無線通信方式形成的一個多跳的自組織網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對象的信息,并發(fā)送給觀察者[2]。無線傳感器網(wǎng)絡(luò)在軍事和民用領(lǐng)域都有廣闊的應(yīng)用前景。本文把WSN引入到小區(qū)的自行車防盜系統(tǒng)中,給出了一套基于WSN的小區(qū)自行車防盜系統(tǒng)的設(shè)計方案。為小區(qū)自行車的管理,尤其是防盜提供保障。
本文引用地址:http://www.ex-cimer.com/article/197058.htm1 系統(tǒng)方案
居民小區(qū)通常規(guī)劃在兩幢居民樓中間或集中的一片區(qū)域停放自行車等兩輪車輛。如圖1所示,自行車通常被放置在指定車位中,為了加強(qiáng)對自行車的管理,本文引入WSN技術(shù)。防盜系統(tǒng)由信息采集和報警提示兩部分組成。
(1)信息采集
首先,為每一輛自行車配備一塊具有唯一ID的電子鎖作為小區(qū)內(nèi)自行車的標(biāo)識。該電子鎖具有WSN節(jié)點功能,可以檢測是否斷線、電池電量,同時具有無線通信能力,能夠?qū)z測到的信息以多跳方式向觀測點發(fā)送。為便于收集信息,同時為觀測者提供定位信息參考,在指定位置(如車棚、居民樓、路燈桿)部署匯節(jié)點,如圖1的Sink裝置所示。與傳統(tǒng)WSN不同的是,匯節(jié)點的位置不是隨機(jī)的,其部署要考慮到小區(qū)自行車停放區(qū)域的大小、小區(qū)的布局等因素。匯節(jié)點接收傳感節(jié)點的信息,并轉(zhuǎn)發(fā)給觀測者。
(2)報警提示
觀測站設(shè)置在值班室內(nèi),如圖1所示。由運(yùn)行于PC機(jī)上的監(jiān)控軟件管理WSN收集到的信息,監(jiān)控軟件能夠顯示自行車在小區(qū)中的大致位置,顯示電子鎖的電池電量,提示更換電子鎖電池,提示電子鎖暴力開啟,提示自行車越界。
值班人員在得到監(jiān)控系統(tǒng)的提示后,可以快速采取相應(yīng)行動,避免自行車失竊。
2 系統(tǒng)硬件設(shè)計
小區(qū)自行車防盜系統(tǒng)硬件設(shè)計的核心是WSN節(jié)點設(shè)計。按照在系統(tǒng)中承擔(dān)的任務(wù)劃分,可將WSN節(jié)點劃分成一般傳感節(jié)點和Sink節(jié)點。但這兩類節(jié)點只是在軟件功能上存在差異,而硬件設(shè)計并無本質(zhì)不同。
本文將電子鎖和Sink節(jié)點劃分成六大硬件模塊,如圖2所示,以微控制器為核心,擴(kuò)展了無線通信模塊、電源模塊、斷線檢測模塊、LED指示模塊、電壓采集模塊、按鍵模塊。
2.1 微控制器
本文選用ATmega128L作為主處理器。ATmega128L是基于AVR RISC結(jié)構(gòu)的8 bit低功耗CMOS微處理器[3],數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,可緩解系統(tǒng)在功耗和處理器之間的矛盾。芯片自帶128 KB的可編程Flash,在本應(yīng)用中無需外擴(kuò)存儲器。另外,ATmega128L有豐富的接口資源(如SPI、USART、TWI、ADC等),為本應(yīng)用提供了重要支持。
2.2 無線通信模塊
無線通信模塊采用CC1000,它是根據(jù)Chipcon公司的SmartRF技術(shù),在0.35 μm CMOS工藝下制造的一種理想的超高頻單片收發(fā)通信芯片[4]。其工作頻帶在315 MHz、868 MHz及915 MHz,但CC1000很容易通過編程使其工作在300 MHz~1 000 MHz范圍內(nèi)。它具有低電壓(2.3 V~3.6 V)、極低的功耗、可編程輸出功率(-20 dBm~10 dBm)、高靈敏度(一般-109 dBm)、小尺寸(TSSOP-28封裝)、集成了位同步器等特點。其FSK數(shù)據(jù)率可達(dá)72.8 kb/s,具有250 Hz步長可編程頻率能力,適用于跳頻協(xié)議;主要工作參數(shù)能通過串行總線接口編程改變,使用非常靈活。
ATmega128L通過PCLK、PDATA、PALE三線數(shù)字串行接口來操作CC1000芯片,控制它的工作狀態(tài)以及參數(shù)設(shè)置。DIO是CC1000與ATmega128L數(shù)據(jù)交換雙向管腳,數(shù)據(jù)交換時鐘始終由CC1000的DCLK提供,即CC1000總是處于主設(shè)備狀態(tài)[5]。
2.3 斷線報警模塊
斷線報警模塊是電子鎖的一個構(gòu)成部分,其基本原理如圖3所示,在警戒狀態(tài)下,BG的基極偏置電壓經(jīng)警戒線S對地短路,BG不工作。如遇盜情,S被斷開,BG立即得電工作,SCR導(dǎo)通,發(fā)光二極管點亮。微控制ATmega128L通過電壓檢測模塊檢測b、e兩點的電壓,判定電子鎖狀態(tài)。
2.4 其他模塊
電源模塊為ATmega128L、CC1000、斷線報警模塊供電。電壓檢測模塊有兩項功能:一是檢測電源電壓,以判定是否更換電池;二是檢測斷線報警模塊b、e兩點電壓,以判定電子鎖是否被暴力開啟。LED指示模塊用于指示W(wǎng)SN節(jié)點的運(yùn)行狀態(tài),服務(wù)于調(diào)試。按鍵模塊用于電子鎖的密碼設(shè)置、狀態(tài)設(shè)置。
為了達(dá)到節(jié)能的目標(biāo),硬件設(shè)計除了考慮處理器的幾種低功耗處理模式外,還設(shè)計了一個模擬開關(guān),在電子鎖處于非保護(hù)模式且開啟時,該開關(guān)才能顯露出來,供用戶關(guān)閉電源,降低能耗。
3 系統(tǒng)軟件設(shè)計
小區(qū)自行車防盜系統(tǒng)軟件主要有兩大部分:一是運(yùn)行于WSN節(jié)點上的軟件,二是運(yùn)行于PC機(jī)上的監(jiān)控軟件。WSN節(jié)點軟件即信息感知和通信協(xié)議,下面從網(wǎng)絡(luò)拓?fù)?、通信協(xié)議、監(jiān)控軟件三個方面論述。
3.1 網(wǎng)絡(luò)拓?fù)?/p>
因為小區(qū)停放自行車的區(qū)域相對規(guī)整,自行車的擺放也會相對整齊,所以本文使用圖4所示的簇形樹狀拓?fù)浣Y(jié)構(gòu)。將車棚區(qū)域劃分成幾個區(qū),每個區(qū)形成一個簇,以Sink節(jié)點為簇首,電子鎖節(jié)點和簇首節(jié)點形成星形網(wǎng)絡(luò),簇首采集到信息通過Sink節(jié)點依次轉(zhuǎn)發(fā)到觀測站的PC機(jī),供監(jiān)控軟件分析處理。
電子鎖和Sink節(jié)點的ID用16 bit二進(jìn)制數(shù)表示,這是節(jié)點的唯一標(biāo)識。電子鎖和Sink節(jié)點的網(wǎng)絡(luò)地址也用16 bit二進(jìn)制數(shù)表示,可以分為簇首序號和節(jié)點序號兩部分,各占8 bit,該網(wǎng)絡(luò)地址是在組網(wǎng)階段形成的。將網(wǎng)絡(luò)地址分成簇首序號和節(jié)點序號的目的是過濾報文。節(jié)點在接收到一條報文后,將簇首序號和節(jié)點序號分別與自身網(wǎng)絡(luò)地址匹配,如果不同可以直接刪除報文,降低報文轉(zhuǎn)發(fā)處理造成的能耗。
3.2 通信協(xié)議設(shè)計
小區(qū)自行車防盜系統(tǒng)中Sink節(jié)點的部署是固定的,而自行車何時擺放在車棚,擺放在哪個車棚,擺放在車棚的哪個位置是不確定的,即電子鎖節(jié)點的進(jìn)入是隨機(jī)的。因此,通信協(xié)議[6]的運(yùn)行分為兩個階段:主鏈網(wǎng)組網(wǎng)階段和信息感知階段。
(1)主鏈網(wǎng)組網(wǎng)階段協(xié)議
Sink節(jié)點部署在既定位置之后,如圖4所示,網(wǎng)絡(luò)包含一個與監(jiān)控主機(jī)相連的網(wǎng)關(guān)節(jié)點、若干個Sink節(jié)點和一些電子鎖傳感器節(jié)點。網(wǎng)關(guān)節(jié)點是路由的發(fā)起者和數(shù)據(jù)的收集者。上電初始化后,網(wǎng)關(guān)節(jié)點發(fā)送組網(wǎng)報文,如圖5所示,發(fā)布自己的網(wǎng)絡(luò)地址和同步時間列表。網(wǎng)關(guān)鄰居節(jié)點收到組網(wǎng)報文后,根據(jù)同步時間列表,發(fā)送確認(rèn)報文,確認(rèn)報文中包含自己的ID。網(wǎng)關(guān)節(jié)點收到確認(rèn)報文后,向鄰居節(jié)點發(fā)送配置報文,配置報文包含網(wǎng)關(guān)節(jié)點為鄰居節(jié)點分配的網(wǎng)絡(luò)地址。這樣網(wǎng)關(guān)節(jié)點就和鄰居節(jié)點建立了父子層次關(guān)系。得到了網(wǎng)絡(luò)地址的子節(jié)點發(fā)布組網(wǎng)報文,如此重復(fù),建立了主鏈網(wǎng)絡(luò)拓?fù)洹?/p>
(2)信息感知階段協(xié)議
主鏈網(wǎng)絡(luò)拓?fù)浣⒑?,電子鎖節(jié)點會隨機(jī)進(jìn)入信息感知區(qū)域。網(wǎng)絡(luò)進(jìn)入信息感知階段,該階段電子鎖節(jié)點與Sink節(jié)點的交互過程如圖6所示。Sink節(jié)點按照自己的時序列表,定時發(fā)送組網(wǎng)報文,進(jìn)入Sink節(jié)點檢測區(qū)域的電子鎖在設(shè)置為保護(hù)狀態(tài)后,未獲得網(wǎng)絡(luò)地址之前,會持續(xù)監(jiān)聽組網(wǎng)報文。電子鎖節(jié)點收到Sink節(jié)點的組網(wǎng)報文后,依據(jù)報文中指示的同步時間列表,響應(yīng)電子鎖加入報文,報文中包含電子鎖的ID號。Sink節(jié)點收到電子鎖加入報文后,向電子鎖節(jié)點發(fā)送配置報文,為電子鎖分配網(wǎng)絡(luò)地址。電子鎖擁有網(wǎng)絡(luò)地址后,會定時將采集到的信息發(fā)送給Sink節(jié)點,并逐層轉(zhuǎn)發(fā)到觀測站監(jiān)控計算機(jī)。如果用戶需要使用自行車正常外出,輸入正確的密碼正常開啟電子鎖后,電子鎖向Sink節(jié)點發(fā)送正常離開報文,然后進(jìn)入休眠狀態(tài)。
3.3 監(jiān)控軟件設(shè)計
電子鎖向Sink節(jié)點發(fā)送的數(shù)據(jù)報文包含的信息主要有斷線報警狀態(tài)、正常外出狀態(tài)、電池電壓值和網(wǎng)絡(luò)地址,其中網(wǎng)絡(luò)地址中包含電子鎖的簇首序號。運(yùn)行于PC機(jī)上的監(jiān)控軟件收集、分析處理這些信息,達(dá)到監(jiān)控小區(qū)自行車的目的。監(jiān)控軟件基于VC和SQL Server 平臺開發(fā),實現(xiàn)越界報警、斷線報警、電子鎖電池更換提示等功能。
監(jiān)控程序在系統(tǒng)初始化后,啟動Socket數(shù)據(jù)接收和數(shù)據(jù)處理兩個線程,分別完成數(shù)據(jù)采集、數(shù)據(jù)處理功能。兩個線程以數(shù)據(jù)庫為數(shù)據(jù)交換的媒介,以信號量同步數(shù)據(jù)庫訪問。
Socket數(shù)據(jù)接收線程的流程如圖7所示,線程初始化后,首先啟動Socket監(jiān)聽,然后向網(wǎng)關(guān)發(fā)送組網(wǎng)命令,以建立主鏈網(wǎng)絡(luò)拓?fù)?。該線程監(jiān)聽Socket端口,接收來自網(wǎng)關(guān)的數(shù)據(jù)報文,從數(shù)據(jù)報文中解析WSN感知到的數(shù)據(jù)信息,寫入數(shù)據(jù)庫表中。在訪問數(shù)據(jù)庫之前需要和數(shù)據(jù)處理線程以信號量保持同步。如果線程檢測到主進(jìn)程發(fā)送的終止線程信號,線程將釋放占用的資源,結(jié)束自己。
數(shù)據(jù)處理線程的執(zhí)行流程如圖8所示,數(shù)據(jù)處理線程以數(shù)據(jù)庫為數(shù)據(jù)源,訪問數(shù)據(jù)庫前通過征用信號量與Socket線程同步,得到數(shù)據(jù)庫的訪問權(quán)后,數(shù)據(jù)處理線程依次做三項查詢,其中,斷線狀態(tài)優(yōu)先級最高,越界次之,更換電池提示最低。根據(jù)查詢結(jié)果做報警或提示處理,周而復(fù)始,直到檢測到進(jìn)程設(shè)置的線程結(jié)束標(biāo)志,才結(jié)束線程自身。
該系統(tǒng)是一個基于無線傳感器網(wǎng)絡(luò)的小區(qū)自行車管理系統(tǒng)。系統(tǒng)設(shè)計結(jié)合現(xiàn)階段小區(qū)自行車管理現(xiàn)狀及WSN技術(shù)的發(fā)展現(xiàn)狀,將ATmega128L微控制器和CC1000無線芯片技術(shù)結(jié)合到一起,除電子鎖的機(jī)械結(jié)構(gòu)外,完成了電子鎖節(jié)點及Sink節(jié)點的實驗室模型設(shè)計。實驗表明,根據(jù)節(jié)點檢測到的信息,監(jiān)控程序能夠正確分析并顯示電子鎖節(jié)點的進(jìn)入、越界、斷線、正常離開等狀態(tài),越界或斷線時,監(jiān)控軟件發(fā)出警報,提醒安保人員注意,達(dá)到了模型系統(tǒng)的效果。為了驗證通信協(xié)議在多節(jié)點時的穩(wěn)定性,基于NS2平臺[7]做了仿真實驗,在節(jié)點數(shù)達(dá)到1 000時,協(xié)議仍能運(yùn)行良好。
本文選用的硬件解決方案具有低成本、低能耗的特點,設(shè)計的通信協(xié)議雖然簡單,但是穩(wěn)定性良好,具有較好的實用價值。
評論