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