《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于WSN的小區(qū)自行車防盜系統(tǒng)的設計
基于WSN的小區(qū)自行車防盜系統(tǒng)的設計
來源:微型機與應用2011年第2期
韓 磊
(南京工程學院 計算機工程學院,江蘇 南京211167)
摘要: 針對小區(qū)管理的需求,將無線傳感器網(wǎng)絡引入到小區(qū)自行車防盜系統(tǒng)中,。以ATmega128L單片機為核心擴展了斷線檢測模塊和以CC1000芯片為基礎的無線通信模塊,設計了無線傳感器網(wǎng)絡的電子鎖節(jié)點和Sink節(jié)點,。規(guī)劃了無線傳感器網(wǎng)絡拓撲,設計了具有較高穩(wěn)定性的簡單無線通信協(xié)議,,基于監(jiān)控主機以多線程的方式實現(xiàn)了防盜監(jiān)控軟件,。實驗驗證了方案的可行性,仿真驗證了多節(jié)點情況下,,通信協(xié)議的穩(wěn)定性,。
Abstract:
Key words :

摘  要: 針對小區(qū)管理的需求,將無線傳感器網(wǎng)絡引入到小區(qū)自行車防盜系統(tǒng)中,。以ATmega128L單片機為核心擴展了斷線檢測模塊和以CC1000芯片為基礎的無線通信模塊,,設計了無線傳感器網(wǎng)絡的電子鎖節(jié)點和Sink節(jié)點,。規(guī)劃了無線傳感器網(wǎng)絡拓撲,設計了具有較高穩(wěn)定性的簡單無線通信協(xié)議,,基于監(jiān)控主機以多線程的方式實現(xiàn)了防盜監(jiān)控軟件,。實驗驗證了方案的可行性,仿真驗證了多節(jié)點情況下,,通信協(xié)議的穩(wěn)定性,。
關鍵詞: 無線傳感器網(wǎng)絡;監(jiān)控軟件,;通信協(xié)議

近年來,,隨著無線通信、微電子技術(shù),、傳感器技術(shù)以及嵌入式計算等技術(shù)的不斷進步,,推動了低成本、低功耗的無線傳感器網(wǎng)絡WSN(Wireless Sensor Network)的發(fā)展,,促使WSN成為當今活躍的研究領域[1],。WSN由部署在監(jiān)測區(qū)域內(nèi)大量的廉價微型傳感器節(jié)點組成,,通過無線通信方式形成的一個多跳的自組織網(wǎng)絡系統(tǒng),,其目的是協(xié)作地感知、采集和處理網(wǎng)絡覆蓋區(qū)域中感知對象的信息,,并發(fā)送給觀察者[2],。無線傳感器網(wǎng)絡在軍事和民用領域都有廣闊的應用前景。本文把WSN引入到小區(qū)的自行車防盜系統(tǒng)中,,給出了一套基于WSN的小區(qū)自行車防盜系統(tǒng)的設計方案,。為小區(qū)自行車的管理,尤其是防盜提供保障,。
1 系統(tǒng)方案
    居民小區(qū)通常規(guī)劃在兩幢居民樓中間或集中的一片區(qū)域停放自行車等兩輪車輛,。如圖1所示,自行車通常被放置在指定車位中,,為了加強對自行車的管理,,本文引入WSN技術(shù)。防盜系統(tǒng)由信息采集和報警提示兩部分組成,。
    (1)信息采集
    首先,,為每一輛自行車配備一塊具有唯一ID的電子鎖作為小區(qū)內(nèi)自行車的標識。該電子鎖具有WSN節(jié)點功能,,可以檢測是否斷線,、電池電量,同時具有無線通信能力,,能夠?qū)z測到的信息以多跳方式向觀測點發(fā)送,。為便于收集信息,同時為觀測者提供定位信息參考,在指定位置(如車棚,、居民樓,、路燈桿)部署匯節(jié)點,如圖1的Sink裝置所示,。與傳統(tǒng)WSN不同的是,,匯節(jié)點的位置不是隨機的,其部署要考慮到小區(qū)自行車停放區(qū)域的大小,、小區(qū)的布局等因素,。匯節(jié)點接收傳感節(jié)點的信息,并轉(zhuǎn)發(fā)給觀測者,。
    (2)報警提示
    觀測站設置在值班室內(nèi),,如圖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é)點只是在軟件功能上存在差異,,而硬件設計并無本質(zhì)不同,。
    本文將電子鎖和Sink節(jié)點劃分成六大硬件模塊,如圖2所示,,以微控制器為核心,,擴展了無線通信模塊、電源模塊,、斷線檢測模塊,、LED指示模塊、電壓采集模塊,、按鍵模塊,。

2.1 微控制器
    本文選用ATmega128L作為主處理器。ATmega128L是基于AVR RISC結(jié)構(gòu)的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技術(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ù)率可達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 斷線報警模塊
    斷線報警模塊是電子鎖的一個構(gòu)成部分,其基本原理如圖3所示,,在警戒狀態(tài)下,,BG的基極偏置電壓經(jīng)警戒線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),,服務于調(diào)試。按鍵模塊用于電子鎖的密碼設置,、狀態(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所示的簇形樹狀拓撲結(jié)構(gòu)。將車棚區(qū)域劃分成幾個區(qū),,每個區(qū)形成一個簇,,以Sink節(jié)點為簇首,電子鎖節(jié)點和簇首節(jié)點形成星形網(wǎng)絡,,簇首采集到信息通過Sink節(jié)點依次轉(zhuǎn)發(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)絡地址匹配,,如果不同可以直接刪除報文,降低報文轉(zhuǎn)發(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é)點,,并逐層轉(zhuǎn)發(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ā)送的終止線程信號,線程將釋放占用的資源,,結(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é)果做報警或提示處理,周而復始,,直到檢測到進程設置的線程結(jié)束標志,,才結(jié)束線程自身。
    該系統(tǒng)是一個基于無線傳感器網(wǎng)絡的小區(qū)自行車管理系統(tǒng),。系統(tǒng)設計結(jié)合現(xiàn)階段小區(qū)自行車管理現(xiàn)狀及WSN技術(shù)的發(fā)展現(xiàn)狀,,將ATmega128L微控制器和CC1000無線芯片技術(shù)結(jié)合到一起,除電子鎖的機械結(jié)構(gòu)外,,完成了電子鎖節(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)定性良好,,具有較好的實用價值。
參考文獻
[1] 孫利民,,李建中,,陳渝,等.無線傳感器網(wǎng)絡[M].北京:清華大學出版社,,2005.
[2] YICK J,,MUKHERJEE B,GHOSAL D.Wireless sensor net-work survey[J].Computer Networks,,2008,,52(12):2292-2330.
[3] 陳東云,杜敬倉,,任柯燕.ATmega 128單片機原理與開發(fā)指導[M].北京:機械工業(yè)出版社,,2006.
[4] 李倩.基于AT89LV52和CC1000的無線測溫系統(tǒng)的設計[J].中國科技信息,2010(10):145-146,,136.
[5] 袁朝輝.基于CC1000的小型無線傳感器網(wǎng)絡的設計[J].計算機測量與控制,,2008,16(11):1761-1765.
[6] KASTNER W,,NEUGSCHWANDTNER G,,SOUCEK S,et al. Communication systems for building automation and control[J].Proceedings of the IEEE,,2005,,93(6):1178-1203.
[7] 徐雷鳴,龐博,,趙耀.NS與網(wǎng)絡模擬[M].北京:人民郵電出版社,,2003:32-58.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。