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