任麗晴,張 遠,尹小燕,黃駿杰,邢天璋,房鼎益
(西北大學信息科學與技術學院,陜西西安 710127)
無線傳感器網(wǎng)絡WSN(wireless sensor network)是由部署在監(jiān)測區(qū)域內(nèi)的大量廉價微型傳感器節(jié)點組成,節(jié)點以無線通信方式形成一個多跳的自組織網(wǎng)絡,其目的是協(xié)作感知、采集和處理網(wǎng)絡覆蓋區(qū)域內(nèi)感知對象的信息,并發(fā)送到遠程用戶端。無線傳感器網(wǎng)絡技術具有廣闊的應用前景,廣泛應用于軍事、遠程農(nóng)業(yè)信息監(jiān)測、環(huán)境監(jiān)測與預報、智能家居、建筑物結構健康監(jiān)測、復雜機械監(jiān)控、城市交通、空間探索、大型車間和倉庫管理以及機場、大型工業(yè)園區(qū)的安全監(jiān)測等領域[1-5]。針對以上應用場景,需要感知的數(shù)據(jù)種類繁多,采集這些數(shù)據(jù)需要在傳感器通信節(jié)點上擴展多種多樣的感知元件,而這些元件的信號與數(shù)據(jù)模式、數(shù)據(jù)采集速率、接口形態(tài)、激勵方式等都各不相同。當擴展新的感知元件時,如果每次都重新設計數(shù)據(jù)采集調(diào)理電路,會耗費設計者較多的時間精力,而且同時擴展多個感知元件時,連接與轉(zhuǎn)換會異常復雜,不便于靈活使用和擴展,也不符合可重復利用和綠色環(huán)保的原則。
因此,針對基于Zigbee協(xié)議的低功耗傳感網(wǎng)基本通信節(jié)點(以下簡稱通信節(jié)點),設計傳感網(wǎng)通用數(shù)據(jù)感知獲取系統(tǒng)(以下簡稱感知系統(tǒng)),方便和優(yōu)化傳感網(wǎng)技術在實際中的應用,是一件非常有意義的事情[6-8]。為了保證感知系統(tǒng)的通用性,很好橋接感知元件和通信節(jié)點,其設計必須滿足以下兩個原則[9]:1)感知系統(tǒng)預留的接口形式、通信模式、提供的激勵方式等必須與常用的感知元件相互兼容,滿足其正常的工作需求;2)感知系統(tǒng)使用的通信協(xié)議也必須與通信節(jié)點匹配。在實際應用場景中,利用感知系統(tǒng)獲得環(huán)境信息之后,需要進一步對數(shù)據(jù)進行分析處理并建立實時報警系統(tǒng),若保護對象處在不利環(huán)境下要能及時提醒監(jiān)測人員采取相應措施[5,10],本文借鑒文獻[11]中的事件檢測算法實現(xiàn)危險報警。
感知平臺建立在基本傳感器通信節(jié)點的基礎上,需與其配套使用。感知系統(tǒng)在通信節(jié)點的控制下通過外部感知設備采集環(huán)境數(shù)據(jù),并將不同類型的感知數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一格式的數(shù)據(jù)包,通過無線模塊發(fā)送出去。通信節(jié)點之間相互通信,最終將采集的數(shù)據(jù)上傳到服務器端進行解碼和存儲,并對不同類型的數(shù)據(jù)分類顯示和分析處理。
感知平臺主要由模數(shù)轉(zhuǎn)換模塊、存儲模塊、I/O擴展模塊和電壓轉(zhuǎn)換模塊組成。
1.1.1 模數(shù)轉(zhuǎn)換模塊設計 模數(shù)轉(zhuǎn)換模塊的基本功能是將多種傳感器同時感知的多路模擬信號量(不論是單端輸入還是差分輸入)轉(zhuǎn)化為數(shù)字信號量。此外,模數(shù)轉(zhuǎn)換模塊還需要與傳感器節(jié)點通信,將轉(zhuǎn)換后的數(shù)字信號量正確傳遞給通信節(jié)點進行后期處理。本模塊的設計框圖如圖1所示。
模數(shù)轉(zhuǎn)換芯片選用 TI公司的 ADS8344[12],該芯片功耗低,轉(zhuǎn)換效率高,精度滿足通常的應用需求,可輸入通道數(shù)較多,且信噪比較高。芯片需要接入外部時鐘和外部參考電壓:外部時鐘DCLK由通信節(jié)點的ALE端口提供;外部參考電壓Vref由外部穩(wěn)壓芯片提供。穩(wěn)壓芯片選用Semiconductor公司的 2.5V三端穩(wěn)壓芯片MMBZ5222[13],該芯片成本較低且穩(wěn)定性好。穩(wěn)壓芯片的輸出電平值決定了可輸入模擬信號量的最大值為2.5V,能夠滿足通常的應用需求。通信節(jié)點通過PWM0端口將控制字輸入ADS8344的Din管腳,控制模數(shù)轉(zhuǎn)換模塊的開始時刻,實現(xiàn)通道選擇、輸入方式選擇等功能。
1.1.2 I/O擴展模塊設計 本模塊的基本功能是將I2C總線擴展為并行輸入輸出端口,從而可以直接以外部中斷方式將數(shù)據(jù)從外部I/O寫入通信節(jié)點,也可以將通信節(jié)點的數(shù)據(jù)通過遠程I/O直接并行輸出。本模塊實現(xiàn)了遠程I/O與通信節(jié)點的直接交互,不需要占用CPU資源,其設計框圖如圖2所示。

圖1 模數(shù)轉(zhuǎn)換模塊的設計框圖Fig.1 Diagram of the analog to digital conversion module

圖2 I/O擴展模塊的設計框圖Fig.2 Diagram of the I/O expansion module
I/O擴展模塊選用TI公司的PCF8574A芯片,它可以實現(xiàn)I2C總線到8位遠程并行I/O端口的擴展功能[12],該芯片與大多數(shù)微控制器兼容,且功耗較低。該芯片的管腳接通信節(jié)點的INT0管腳,通過在端發(fā)送中斷信號,遠程I/O可以直接通知微控制器I/O端口是否有數(shù)據(jù)到來。在時鐘信號SCL的控制下,控制器在數(shù)據(jù)端口 SDA依次發(fā)送開始信號、I/O芯片(PCF8574A)地址、讀/寫控制信號,而I/O芯片進行ACK應答之后,開始從遠程并行端口進行數(shù)據(jù)輸入或輸出。
1.1.3 存儲模塊設計 通信節(jié)點不僅需要保存感知元件采集的數(shù)據(jù),同時還需要轉(zhuǎn)發(fā)其他節(jié)點發(fā)來的數(shù)據(jù)包,在某一時刻到達通信節(jié)點的數(shù)據(jù)量可能非常大,發(fā)生通信節(jié)點無法及時響應多數(shù)據(jù)處理的情況。這時節(jié)點就不能及時處理感知平臺采集的數(shù)據(jù),可能造成部分數(shù)據(jù)丟失,這在一些重點監(jiān)測場景中是不允許的。因此感知平臺在設計時,需要外擴一個可管理的存儲器來緩存這些數(shù)據(jù),即存儲模塊,本模塊的設計框圖如圖3所示。
本模塊的設計選用Microchip公司的I2C串行電子可擦可編程只讀存儲器24LC64作為外擴緩存[14]。該芯片是雙總線接口,與 I2C總線兼容,且外部電路簡單,體積較小,同時其功耗較低,適用于感知平臺的設計。通信節(jié)點的CLK管腳為24LC64芯片提供時序信號SCL;通信節(jié)點的DATA管腳發(fā)出控制字,控制24LC64芯片完成相應的讀寫操作。
1.1.4 電壓轉(zhuǎn)換模塊設計 通信節(jié)點由3節(jié)5號電池供電,其電壓值會隨著節(jié)點工作時間的延長而降低,并不能作為穩(wěn)定的激勵源向外部傳感器輸出。而感知平臺需要外接多種傳感器,不同傳感器的供電電壓往往是不同的,常用的為2.5V,3.3V和5V。因此,感知平臺在設計時,要能夠為外部感知電路提供這3種參考電平。圖4為2.5V參考電平的產(chǎn)生原理框圖,圖5為3.3V和5V參考電平的產(chǎn)生原理框圖。
電壓轉(zhuǎn)換模塊的設計主要選用2.5V三端穩(wěn)壓芯片 MMBZ5222,TI公司的運算放大器TLV2473[12]和 MAXIM 公司的 MAX1795 升壓芯片[15]。運算放大器是CMOS軌到軌輸入輸出芯片,功耗較低。MAX1795芯片只需要低電源電流,是升壓型DC-DC轉(zhuǎn)換器,具有真關斷功能,該芯片可以為運放提供較大的供電電壓Vdd。運放對MMBZ5222芯片輸入的2.5V參考電壓分壓產(chǎn)生3.3V和5V的參考電平。將通信節(jié)點與運放的控制端口和相連,可以控制電壓轉(zhuǎn)換模塊僅在需要采集外部環(huán)境數(shù)據(jù)時為感知設備提供激勵源,否則處于關斷狀態(tài),從而可以大大降低感知系統(tǒng)能耗。

圖3 存儲模塊的設計框圖Fig.3 Diagram of the storagemodule

圖4 2.5V參考電平的產(chǎn)生原理框圖Fig.4 Generation of 2.5V reference

圖5 3.3V和5V參考電平的產(chǎn)生原理框圖Fig.5 Generation of3.3V and 5V reference
軟件系統(tǒng)的工作過程主要分以下幾個階段:
1)發(fā)送節(jié)點的正確配置,主要包括控制模塊和通信模塊工作模式的設置,保證發(fā)送節(jié)點能夠控制感知平臺完成多種信息的采集,使感知平臺輪流采入各路傳感器的模擬信號并完成數(shù)模轉(zhuǎn)換,采入數(shù)字信號并完成相應轉(zhuǎn)換,形成原始數(shù)據(jù)。通信模塊將獲得的數(shù)據(jù)組成固定的數(shù)據(jù)格式,形成數(shù)據(jù)包,并經(jīng)無線模塊發(fā)送出去。
2)接收節(jié)點的正確配置,主要包括控制模塊和通信模塊工作模式的設置,保證接收節(jié)點與發(fā)送節(jié)點工作在同一通道,能夠檢測、識別和接收發(fā)送節(jié)點的信息,并將接收到的數(shù)據(jù)通過串口傳遞到服務器端。
3)服務器端的正確配置,主要包括設置串口的數(shù)據(jù)接收速率、端口號、數(shù)據(jù)的轉(zhuǎn)換模式等,完成接收信息的正確解碼任務,并實現(xiàn)與套接字的綁定功能,將數(shù)據(jù)以用戶規(guī)定的形式插入數(shù)據(jù)庫保存,方便后期的數(shù)據(jù)顯示以及分析處理工作。
2.1.1 傳感器節(jié)點部署情況 從2009年至今,利用感知獲取系統(tǒng)對唐皇城墻含光門過水涵洞遺址進行監(jiān)測,在監(jiān)測區(qū)域部署有溫濕度傳感器、震動傳感器和氣體傳感器(CO2,SO2和H2S)。
2.1.2 自適應事件檢測算法 根據(jù)文物保護專家的需求和建議,將感知節(jié)點部署在遺址的重要監(jiān)測部位,采集可能影響遺址健康狀態(tài)的環(huán)境因子,并將采集到的環(huán)境數(shù)據(jù)與遺址的生存狀態(tài)關聯(lián),建立遺址生存環(huán)境與生存狀態(tài)關系數(shù)據(jù)庫。在此數(shù)據(jù)庫的基礎上研究遺址處于危險環(huán)境的檢測預警算法,形成報警系統(tǒng),當檢測到不利情況時,及時提醒文物保護人員采取相應措施。由于遺址與博物館內(nèi)空氣直接接觸,其生存環(huán)境本身會隨外界因子動態(tài)變化,因此檢測算法需自適應地調(diào)整,減弱這種動態(tài)性導致的錯誤檢測。本文給出兩種自適應事件檢測算法:基于移動均值的檢測算法(Moving Average)和基于移動方差的檢測算法(Moving Variance)。
1)基于移動均值的檢測算法:通過比較兩個不同窗口內(nèi)同一節(jié)點感知數(shù)據(jù)的變化,當其變化超過預先設定的安全閾值時,則認為危險情況發(fā)生,產(chǎn)生報警信號。相應數(shù)學描述如下

wl對應長窗口,ws對應短窗口,qi對應采集到的感知數(shù)據(jù)序列,αl,k是長窗口內(nèi)的感知數(shù)據(jù)均值,即靜態(tài)環(huán)境下的感知數(shù)據(jù),αs,k是短窗口內(nèi)的感知數(shù)據(jù)均值,即當前狀態(tài)下的感知數(shù)據(jù)。當>τ時,則認為窗口長為ws的時間段內(nèi)檢測到不利情況,需產(chǎn)生報警信號,否則認為無危險情況發(fā)生,τ為設定的閾值。
2)基于移動方差的檢測算法:其核心思想與基于移動均值的檢測算法類似,唯一區(qū)別是該方法通過求取方差的方式完成報警,相應的數(shù)學表達式為

其中:w為窗口大小;qt為該窗口內(nèi)感知數(shù)據(jù)的均值;vt為該窗口內(nèi)感知數(shù)據(jù)的方差;vt和σv分別對應訓練時段[tstart,tend]內(nèi)vt的均值和標準差。當vt>+r·σv時,則認為t+w時間段內(nèi)發(fā)生危險情況,r為修正參數(shù)。
2.2.1 數(shù)據(jù)分析結果 圖6是一天中監(jiān)測到的CO2濃度和溫度數(shù)據(jù)。由于含光門遺址博物館的開放時間為早上9點到下午5點,隨著參觀游客數(shù)目的增加,遺址周圍的CO2濃度上升,而當閉館之后CO2濃度會逐漸下降。圖7是同一天中監(jiān)測到與地面垂直方向的震動數(shù)據(jù)。遺址低于周圍地面水平線且臨近馬路,過往車輛引起的震動很可能損害遺址健康。在上下班高峰期,經(jīng)過車輛較多,因此震動數(shù)據(jù)的峰值也出現(xiàn)在這2個時間段。
2.2.2 報警功能測試結果 分別調(diào)節(jié)模擬遺址生存環(huán)境的溫度、濕度和震動因子,測試每種因子單獨作為報警信號的性能,主要衡量指標有虛警次數(shù)、漏警次數(shù)和報警延遲時間。每種因子測試20次,每次測試時間為15 min,其中10次為安全狀態(tài),10次為危險狀態(tài)。報警延遲與每種環(huán)境因子的采樣頻率和窗口大小有關,在測試時溫濕度的采樣頻率為每秒5次,震動的采樣頻率為每秒20次。在兩種自適應事件檢測算法中,長窗口都設為10 min,短窗口都設為5 s。表1給出了報警系統(tǒng)的測試結果,表明移動方差檢測算法優(yōu)于移動均值檢測算法。

圖6 一天中CO2濃度和溫度的監(jiān)測數(shù)據(jù)圖Fig.6 Monitoring data of CO2 concentration and temperature in a day

圖7 一天中監(jiān)測到的震動數(shù)據(jù)Fig.7 Monitoring data of vibration in a day

表1 報警系統(tǒng)測試結果Tab.1 Test result of the alarm system
經(jīng)過實際測試,感知系統(tǒng)應用效果良好,可以有效地采集和調(diào)理多種傳感器感知的數(shù)據(jù),數(shù)據(jù)精度和系統(tǒng)功耗、響應時間、穩(wěn)定性也能滿足實際的應用需求。下一步將探索感知系統(tǒng)在其他背景下的大規(guī)模應用,并根據(jù)系統(tǒng)在大規(guī)模應用中的新問題進一步完善系統(tǒng)功能。
[1] 劉云浩.物聯(lián)網(wǎng)導論[M].北京:科學出版社,2011.
[2] 孫利民.無線傳感器網(wǎng)絡[M].北京:清華大學出版社,2005.
[3] 張洋,陸利軍,張運楚,等.基于Z-Stack的野外文物保護環(huán)境監(jiān)測系統(tǒng)[J].計算機系統(tǒng)應用,2013,22(4):45-50.
[4] CERIOTTIM,MOTTOLA L,PICCO G P,et al.Monitoring heritage buildings with wireless sensor networks:The Torre Aquila deployment[C]∥In Proceedings of the 2009 International Conference on Information Processing in Sensor Networks,[S.I.]:IEEE Computer Society,2009:277-288.
[5] 李光輝,趙軍,王智.基于無線傳感器網(wǎng)絡的森林火災監(jiān)測預警系統(tǒng)[J].傳感技術學報,2006,19(6):2760-2764.
[6] 王泰然,徐建城,劉慧卓.開放式的無線傳感器網(wǎng)絡節(jié)點平臺設計[J].電子設計工程,2013,21(5):84-87.
[7] 高民,沈鐘,黃才炎,等.SNAP:無線傳感器網(wǎng)絡研發(fā)測試平臺[J].計算機研究與發(fā)展,2010(S2):338-344.
[8] 寧運琨,熊顯名,趙國如.基于nRF905和MSP430的慣性傳感器無線數(shù)傳系統(tǒng)設計[J].傳感器與微系統(tǒng),2013,32(5):138-141.
[9] 徐亞明,周建國,張鵬.基于TinyOS的傳感器驅(qū)動分析[J].測繪通報,2013(4):12-14.
[10]莫路鋒,毛方杰,聶江武,等.基于感知數(shù)據(jù)的無線傳感網(wǎng)被動診斷方法[J].北京郵電大學學報,2013,36(1):101-104.
[11] YOUSSEF M,MAH M,AGRAWALA A.Challenges:device-free passive localization for wireless environments[C]//In Proceeding of the 13th Annual ACM International Conference on Mobile Computing and Networking(MobiCom'07),[S.I.]:ACM,2007:222-229.
[12] Texas Instruments.Datasheet[EB/OL].[2013-06-20].http://www.ti.com.
[13] On Semiconductor.Datasheet[EB/OL].[2013-06-20].http://www.onsemi.com.
[14] Microchip Technology Incorporated.Datasheet[EB/OL].[2013-06-20].http://www.microchip.com.
[15] Maxim Integrated Products.Datasheet[EB/OL].[2013-06-20].http://www.maxim.com.