焦偉平, 陳向東, 徐 良
(西南交通大學 信息科學與技術學院,四川 成都 610031)
無線傳感器網(wǎng)絡(WSN,Wireless Sensor Network)被列為21世紀最具影響的21項技術和改變世界的十大技術之一。它的應用領域非常廣泛,如工業(yè)自動化、國防軍事、醫(yī)療監(jiān)護、農(nóng)業(yè)、環(huán)境監(jiān)測、智能家居、交通等領域[1-2]。
校園屬于人口密集區(qū),很容易爆發(fā)大規(guī)模流行疾病或傳染病,比如2003年的非典、近年來常發(fā)生的禽流感等,這些疾病的一個共同特征就是人體的體溫會出現(xiàn)異常,該設計就是通過采集學生體溫來達到流行病的預警作用。學生私自在宿舍使用大功率違規(guī)電器極易引發(fā)宿舍火災,一般的火災先是產(chǎn)生大量的煙霧,然后可能產(chǎn)生明火,所以監(jiān)測宿舍的煙霧濃度可以對宿舍火災起到一定的預警作用。
本系統(tǒng)主要有3部分組成,分別為數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)顯示。數(shù)據(jù)采集子系統(tǒng)主要有終端節(jié)點、路由節(jié)點以及協(xié)調器組成,它們之間的通信是按照ZigBee協(xié)議規(guī)范進行通信。具體部署是每個宿舍根據(jù)宿舍人數(shù)放置相應的傳感器節(jié)點(本系統(tǒng)假設宿舍人數(shù)為4人)和一個路由節(jié)點,在每棟宿舍樓放置一個協(xié)調器,這樣傳感器節(jié)點采集到數(shù)據(jù)以無線的方式傳輸?shù)铰酚晒?jié)點,最后傳輸?shù)絽f(xié)調器。數(shù)據(jù)傳輸子系統(tǒng)是一個以太網(wǎng)/串口網(wǎng)關,它實現(xiàn)了TCP/IP數(shù)據(jù)格式和串口通信數(shù)據(jù)格式的雙向轉換,它是連接下位機節(jié)點和上位機數(shù)據(jù)顯示的橋梁。數(shù)據(jù)顯示子系統(tǒng)主要有客戶端軟件、數(shù)據(jù)庫、Web界面組成,客戶端軟件通過網(wǎng)關向節(jié)點發(fā)送命令或者接收網(wǎng)關發(fā)送來的數(shù)據(jù)經(jīng)處理后放在數(shù)據(jù)庫中,Web網(wǎng)頁可以讀寫數(shù)據(jù)庫,以達到遠程監(jiān)控的目的。具體的系統(tǒng)結構如圖1所示。
圖1 系統(tǒng)結構
數(shù)據(jù)采集子系統(tǒng)有 3個不同的節(jié)點,不同的節(jié)點實現(xiàn)的功能不同,相應的硬件也有所不同,但是這3個不同的節(jié)點的核心芯片都是CC2430。CC2430芯片是專門用來支持 ZigBee協(xié)議的片上系統(tǒng)。在接收和發(fā)送的模式下,電流損耗分別小于27 mA或25 mA[3]。
每個終端節(jié)點模塊由數(shù)據(jù)采集傳感器模塊、處理模塊、無線通信模塊以及電源及外圍電路模塊等4部分組成[4]。路由節(jié)點和協(xié)調器節(jié)點的硬件結構都和終端節(jié)點硬件結構大同小異。
不同的節(jié)點軟件程序設計也是不同的,終端節(jié)點軟件實現(xiàn)流程是硬件和協(xié)議初始化后,若成功加入網(wǎng)絡和采集體溫,判斷是每天例行的在固定的時間段進行的體溫測量還是上位機命令重測體溫,然后發(fā)送數(shù)據(jù),當數(shù)據(jù)發(fā)送完畢后節(jié)點進入休眠狀態(tài),以節(jié)省功耗。路由節(jié)點的軟件設計流程大致和終端節(jié)點相似,只不過它還有路由轉發(fā)和采集煙霧濃度的功能。協(xié)調器節(jié)點的軟件設計流程是協(xié)調器上電初始化后,首先要新建一個網(wǎng)絡,然后進入監(jiān)控狀態(tài),當檢測到有信號時,要判斷信號的類型:節(jié)點要申請加入網(wǎng)絡、無線信號和來自串口的信號,對不同類型的信號分別進行處理。
網(wǎng)關的硬件平臺是Mini2440,它是一款ARM9開發(fā)板,微處理器采用 S3C2440。軟件平臺是RT-Thread實時操作系統(tǒng),T-Thread是一款來自中國的開源實時操作系統(tǒng),具有輕型的TCP/IP協(xié)議棧以及輕型的圖形用戶界面[5]。
C/S架構即為客戶端/服務器模式,現(xiàn)在仍是計算機應用開發(fā)的主要趨勢之一??蛻魴C和服務器之間存在多種交互關系,其中最基本體現(xiàn)為“服務請求/服務響應”關系[6]??蛻舳塑浖褪且粋€Socket通信服務器端,它采用基于TCP/IP的異步通信模式設計,因為異步模式程序在完成網(wǎng)絡操作時并不會阻塞或掛起線程,相反,它會通過一個代理的回調函數(shù)來處理網(wǎng)絡相關的操作[7],具體工作流程如圖 2所示。開發(fā)工具和語言分別是Visual Studio2008和C#。操作數(shù)據(jù)庫用的是ADO.NET技術,數(shù)據(jù)庫開發(fā)工具和語言分別是 SQL SERVER 2005和SQL。
圖2 異步的Socket服務器端工作流程
B/S架構即為瀏覽器/服務器模式,B/S是在C/S的基礎上發(fā)展起來的。B/S具有使用簡單客戶端不需要開發(fā)任何的應用程序,只需要使用如IE之類的瀏覽器就可以方便的瀏覽信息數(shù)據(jù)[8]。Web界面采用三層架構設計,分別是數(shù)據(jù)訪問及實體層、業(yè)務邏輯層和數(shù)據(jù)顯示層[9],采用的技術和語言分別是ASP.NET技術和C#。Web界面實現(xiàn)的功能模塊有登陸模塊、實時監(jiān)控模塊、操作節(jié)點模塊、查看歷史數(shù)據(jù)模塊和后臺管理模塊。針對校園這個大環(huán)境,Web的用戶有校醫(yī)院、保衛(wèi)處、宿舍樓管理員、導師、輔導員和監(jiān)控系統(tǒng)管理員,不同的人員有不同的權限,登陸查看的界面亦有所不同。圖3是一號樓宿舍管理員查看1-1001宿舍學生當前體溫和宿舍煙霧的情況。
圖3 實驗結果
該系統(tǒng)利用無線傳感網(wǎng)的良好特點不僅可以有效、方便地監(jiān)控學生的體溫和宿舍煙霧濃度,還節(jié)省了大量的人力、財力、時間資源。經(jīng)過試驗,該系統(tǒng)可以實時的監(jiān)控學生的體溫和宿舍樓的煙霧情況,并在參數(shù)發(fā)生異常的情況下可以提示報警。在后續(xù)的工作中還可以多增加上位機和終端節(jié)點的互動功能,如宿舍公共設施需要維修的時候可以通過節(jié)點直接反饋;還可以在路由節(jié)點上增加熱敏傳感器,再聯(lián)合煙霧傳感器可以更好的監(jiān)測宿舍火災等。
[1]孫利民,李建中.無線傳感器網(wǎng)絡[M].北京:清華大學出版社,2005:3-6;319-352.
[2]王艷秋,曾維魯,岳宇君.ZigBee技術在倉庫管理中的應用[J].通信技術,2008,41(11):205-207.
[3]王洪通,金淑梅,王忠.基于WSN的公路監(jiān)控系統(tǒng)設計[J].通信技術,2010,43(06):184-185.
[4]侯小華,胡文東,瑣紅雨,等 基于 ZigBee無線傳感器網(wǎng)絡技術的患者體溫檢測系統(tǒng)設計[J].醫(yī)療衛(wèi)生裝備,2010,31(02):65-66.
[5]梁志勇,戴勝華.基于C/S模式的煤礦監(jiān)控系統(tǒng)的應用研究[J].鐵路計算機應用,2011,20(03):30-31.
[6]劉偉.P2P IPTV解決方案與問題研究[J].信息安全與通信保密,2008(08):61-62.
[7]梅曉冬,顏燁青.Visual C# 網(wǎng)絡編程技術與實踐[M].北京:清華大學出版,2008:25-26,67-68.
[8]邢紅霞.基于B/S模式的電力實時信息管理系統(tǒng)[J].信息安全與通信保密,2009(08):101-102.
[9]周金橋.ASP.NET夜話[M]北京:電子工業(yè)出版社,2009:287-310.