韓 磊
(南京工程學(xué)院 計算機工程學(xué)院,江蘇 南京 211167)
基于WSN的小區(qū)自行車防盜系統(tǒng)的設(shè)計*
韓 磊
(南京工程學(xué)院 計算機工程學(xué)院,江蘇 南京 211167)
針對小區(qū)管理的需求,將無線傳感器網(wǎng)絡(luò)引入到小區(qū)自行車防盜系統(tǒng)中。以ATmega128L單片機為核心擴展了斷線檢測模塊和以CC1000芯片為基礎(chǔ)的無線通信模塊,設(shè)計了無線傳感器網(wǎng)絡(luò)的電子鎖節(jié)點和Sink節(jié)點。規(guī)劃了無線傳感器網(wǎng)絡(luò)拓撲,設(shè)計了具有較高穩(wěn)定性的簡單無線通信協(xié)議,基于監(jiān)控主機以多線程的方式實現(xiàn)了防盜監(jiān)控軟件。實驗驗證了方案的可行性,仿真驗證了多節(jié)點情況下,通信協(xié)議的穩(wěn)定性。
無線傳感器網(wǎng)絡(luò);監(jiān)控軟件;通信協(xié)議
近年來,隨著無線通信、微電子技術(shù)、傳感器技術(shù)以及嵌入式計算等技術(shù)的不斷進步,推動了低成本、低功耗的無線傳感器網(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ū)自行車的管理,尤其是防盜提供保障。
居民小區(qū)通常規(guī)劃在兩幢居民樓中間或集中的一片區(qū)域停放自行車等兩輪車輛。如圖1所示,自行車通常被放置在指定車位中,為了加強對自行車的管理,本文引入WSN技術(shù)。防盜系統(tǒng)由信息采集和報警提示兩部分組成。
首先,為每一輛自行車配備一塊具有唯一ID的電子鎖作為小區(qū)內(nèi)自行車的標(biāo)識。該電子鎖具有WSN節(jié)點功能,可以檢測是否斷線、電池電量,同時具有無線通信能力,能夠?qū)z測到的信息以多跳方式向觀測點發(fā)送。為便于收集信息,同時為觀測者提供定位信息參考,在指定位置(如車棚、居民樓、路燈桿)部署匯節(jié)點,如圖1的Sink裝置所示。與傳統(tǒng)WSN不同的是,匯節(jié)點的位置不是隨機的,其部署要考慮到小區(qū)自行車停放區(qū)域的大小、小區(qū)的布局等因素。匯節(jié)點接收傳感節(jié)點的信息,并轉(zhuǎn)發(fā)給觀測者。

觀測站設(shè)置在值班室內(nèi),如圖1所示。由運行于PC機上的監(jiān)控軟件管理WSN收集到的信息,監(jiān)控軟件能夠顯示自行車在小區(qū)中的大致位置,顯示電子鎖的電池電量,提示更換電子鎖電池,提示電子鎖暴力開啟,提示自行車越界。
值班人員在得到監(jiān)控系統(tǒng)的提示后,可以快速采取相應(yīng)行動,避免自行車失竊。
小區(qū)自行車防盜系統(tǒng)硬件設(shè)計的核心是WSN節(jié)點設(shè)計。按照在系統(tǒng)中承擔(dān)的任務(wù)劃分,可將WSN節(jié)點劃分成一般傳感節(jié)點和Sink節(jié)點。但這兩類節(jié)點只是在軟件功能上存在差異,而硬件設(shè)計并無本質(zhì)不同。
本文將電子鎖和Sink節(jié)點劃分成六大硬件模塊,如圖2所示,以微控制器為核心,擴展了無線通信模塊、電源模塊、斷線檢測模塊、LED指示模塊、電壓采集模塊、按鍵模塊。

本文選用ATmega128L作為主處理器。ATmega128L是基于AVR RISC結(jié)構(gòu)的8 bit低功耗CMOS微處理器[3],數(shù)據(jù)吞吐率高達1 MIPS/MHz,可緩解系統(tǒng)在功耗和處理器之間的矛盾。芯片自帶128 KB的可編程Flash,在本應(yīng)用中無需外擴存儲器。另外,ATmega128L有豐富的接口資 源(如 SPI、USART、TWI、ADC 等),為本應(yīng) 用提 供了重要支持。
無線通信模塊采用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ù)設(shè)置。DIO是CC1000與ATmega128L數(shù)據(jù)交換雙向管腳,數(shù)據(jù)交換時鐘始終由CC1000的DCLK提供,即CC1000總是處于主設(shè)備狀態(tài)[5]。
斷線報警模塊是電子鎖的一個構(gòu)成部分,其基本原理如圖3所示,在警戒狀態(tài)下,BG的基極偏置電壓經(jīng)警戒線S對地短路,BG不工作。如遇盜情,S被斷開,BG立即得電工作,SCR導(dǎo)通,發(fā)光二極管點亮。微控制ATmega128L通過電壓檢測模塊檢測b、e兩點的電壓,判定電子鎖狀態(tài)。

電源模塊為ATmega128L、CC1000、斷線報警模塊供電。電壓檢測模塊有兩項功能:一是檢測電源電壓,以判定是否更換電池;二是檢測斷線報警模塊b、e兩點電壓,以判定電子鎖是否被暴力開啟。LED指示模塊用于指示W(wǎng)SN節(jié)點的運行狀態(tài),服務(wù)于調(diào)試。按鍵模塊用于電子鎖的密碼設(shè)置、狀態(tài)設(shè)置。
為了達到節(jié)能的目標(biāo),硬件設(shè)計除了考慮處理器的幾種低功耗處理模式外,還設(shè)計了一個模擬開關(guān),在電子鎖處于非保護模式且開啟時,該開關(guān)才能顯露出來,供用戶關(guān)閉電源,降低能耗。
小區(qū)自行車防盜系統(tǒng)軟件主要有兩大部分:一是運行于WSN節(jié)點上的軟件,二是運行于PC機上的監(jiān)控軟件。WSN節(jié)點軟件即信息感知和通信協(xié)議,下面從網(wǎng)絡(luò)拓撲、通信協(xié)議、監(jiān)控軟件三個方面論述。
因為小區(qū)停放自行車的區(qū)域相對規(guī)整,自行車的擺放也會相對整齊,所以本文使用圖4所示的簇形樹狀拓撲結(jié)構(gòu)。將車棚區(qū)域劃分成幾個區(qū),每個區(qū)形成一個簇,以Sink節(jié)點為簇首,電子鎖節(jié)點和簇首節(jié)點形成星形網(wǎng)絡(luò),簇首采集到信息通過Sink節(jié)點依次轉(zhuǎn)發(fā)到觀測站的PC機,供監(jiān)控軟件分析處理。

電子鎖和Sink節(jié)點的ID用16 bit二進制數(shù)表示,這是節(jié)點的唯一標(biāo)識。電子鎖和Sink節(jié)點的網(wǎng)絡(luò)地址也用16 bit二進制數(shù)表示,可以分為簇首序號和節(jié)點序號兩部分,各占8 bit,該網(wǎng)絡(luò)地址是在組網(wǎng)階段形成的。將網(wǎng)絡(luò)地址分成簇首序號和節(jié)點序號的目的是過濾報文。節(jié)點在接收到一條報文后,將簇首序號和節(jié)點序號分別與自身網(wǎng)絡(luò)地址匹配,如果不同可以直接刪除報文,降低報文轉(zhuǎn)發(fā)處理造成的能耗。
小區(qū)自行車防盜系統(tǒng)中Sink節(jié)點的部署是固定的,而自行車何時擺放在車棚,擺放在哪個車棚,擺放在車棚的哪個位置是不確定的,即電子鎖節(jié)點的進入是隨機的。因此,通信協(xié)議[6]的運行分為兩個階段:主鏈網(wǎng)組網(wǎng)階段和信息感知階段。
(1)主鏈網(wǎng)組網(wǎng)階段協(xié)議
Sink節(jié)點部署在既定位置之后,如圖4所示,網(wǎng)絡(luò)包含一個與監(jiān)控主機相連的網(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ā)送確認報文,確認報文中包含自己的ID。網(wǎng)關(guān)節(jié)點收到確認報文后,向鄰居節(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ò)拓撲。

(2)信息感知階段協(xié)議
主鏈網(wǎng)絡(luò)拓撲建立后,電子鎖節(jié)點會隨機進入信息感知區(qū)域。網(wǎng)絡(luò)進入信息感知階段,該階段電子鎖節(jié)點與Sink節(jié)點的交互過程如圖6所示。Sink節(jié)點按照自己的時序列表,定時發(fā)送組網(wǎng)報文,進入Sink節(jié)點檢測區(qū)域的電子鎖在設(shè)置為保護狀態(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)控計算機。如果用戶需要使用自行車正常外出,輸入正確的密碼正常開啟電子鎖后,電子鎖向Sink節(jié)點發(fā)送正常離開報文,然后進入休眠狀態(tài)。

電子鎖向Sink節(jié)點發(fā)送的數(shù)據(jù)報文包含的信息主要有斷線報警狀態(tài)、正常外出狀態(tài)、電池電壓值和網(wǎng)絡(luò)地址,其中網(wǎng)絡(luò)地址中包含電子鎖的簇首序號。運行于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)關(guān)發(fā)送組網(wǎng)命令,以建立主鏈網(wǎng)絡(luò)拓撲。該線程監(jiān)聽Socket端口,接收來自網(wǎng)關(guān)的數(shù)據(jù)報文,從數(shù)據(jù)報文中解析WSN感知到的數(shù)據(jù)信息,寫入數(shù)據(jù)庫表中。在訪問數(shù)據(jù)庫之前需要和數(shù)據(jù)處理線程以信號量保持同步。如果線程檢測到主進程發(fā)送的終止線程信號,線程將釋放占用的資源,結(jié)束自己。

圖7 Socket數(shù)據(jù)接收線程流程圖

圖8 數(shù)據(jù)處理線程流程圖
數(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ù)始,直到檢測到進程設(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é)合到一起,除電子鎖的機械結(jié)構(gòu)外,完成了電子鎖節(jié)點及Sink節(jié)點的實驗室模型設(shè)計。實驗表明,根據(jù)節(jié)點檢測到的信息,監(jiān)控程序能夠正確分析并顯示電子鎖節(jié)點的進入、越界、斷線、正常離開等狀態(tài),越界或斷線時,監(jiān)控軟件發(fā)出警報,提醒安保人員注意,達到了模型系統(tǒng)的效果。為了驗證通信協(xié)議在多節(jié)點時的穩(wěn)定性,基于NS2平臺[7]做了仿真實驗,在節(jié)點數(shù)達到1 000時,協(xié)議仍能運行良好。
本文選用的硬件解決方案具有低成本、低能耗的特點,設(shè)計的通信協(xié)議雖然簡單,但是穩(wěn)定性良好,具有較好的實用價值。
[1]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[2]YICK J,MUKHERJEE B,GHOSAL D.Wireless sensor network survey[J].Computer Networks,2008,52(12):2292-2330.
[3]陳東云,杜敬倉,任柯燕.ATmega 128單片機原理與開發(fā)指導(dǎo)[M].北京:機械工業(yè)出版社,2006.
[4]李倩.基于AT89LV52和 CC1000的無線測溫系統(tǒng)的設(shè)計[J].中國科技信息,2010(10):145-146,136.
[5]袁朝輝.基于CC1000的小型無線傳感器網(wǎng)絡(luò)的設(shè)計[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)絡(luò)模擬[M].北京:人民郵電出版社,2003:32-58.
Design of bicycle anti-theft system for community based on WSN
Han Lei
(School of Computer Engineering,Nanjing Institute of Technology,Nanjing 211167,China)
In order to meet the needs of community management,this paper applies the technology of wireless sensor networks to bicycle anti-theft system for community.We use ATmega128L chip as microcontroller of WSN’s node,and extend the break detection module and the wireless communication module with CC1000.On the other hand,we propose a simple self-organized protocol for wireless sensor networks,and then design anti-theft software on monitoring host using multi-thread technology.The feasibility of bicycle anti-theft system is verified by experimental conclusions,and the stability of the communication protocol under multi-node circumstance is proved by simulation results.The bicycle anti-theft system will be useful for community management.
wireless sensor networks;monitoring software;communication protocol
TP393
A
1674-7720(2011)02-0112-04
南京工程學(xué)院科研基金項目(KXJ08069)
2010-07-30)
韓磊,男,1982年生,碩士,講師,主要研究方向:無線傳感器網(wǎng)絡(luò),智能系統(tǒng)。