胡嬌,孫堅,王曉薇,沈澍,鄒志強
(1.南京郵電大學(xué)貝爾學(xué)院,江蘇南京210023;2.南京郵電大學(xué)計算機學(xué)院,江蘇南京210003;3.江蘇省無線傳感網(wǎng)高技術(shù)研究重點實驗室,江蘇南京210003)
基于WSNs的水環(huán)境云端監(jiān)測系統(tǒng)研究*
胡嬌1,孫堅1,王曉薇1,沈澍2,3,鄒志強2,3
(1.南京郵電大學(xué)貝爾學(xué)院,江蘇南京210023;2.南京郵電大學(xué)計算機學(xué)院,江蘇南京210003;3.江蘇省無線傳感網(wǎng)高技術(shù)研究重點實驗室,江蘇南京210003)
為了對水環(huán)境進(jìn)行數(shù)據(jù)采集、傳輸和顯示的全方位處理,設(shè)計了一套基于無線傳感網(wǎng)(WSNs)的水環(huán)境云端監(jiān)測系統(tǒng),闡述了系統(tǒng)的網(wǎng)絡(luò)架構(gòu)及具體組成部分,包括終端監(jiān)測節(jié)點、簇頭節(jié)點、數(shù)據(jù)匯聚節(jié)點和基于Yeelink的遠(yuǎn)程監(jiān)視中心,并詳細(xì)介紹了各部分的軟硬件設(shè)計。同時,支持用戶在手機終端實時監(jiān)測采集到的水溫、壓強、pH值等信息。通過實驗和測試可以看出,該系統(tǒng)為低成本實時在線水質(zhì)監(jiān)測提供了一套可行的方案。
Arduino;水環(huán)境監(jiān)測;無線傳感網(wǎng)絡(luò)(WSNs);云端網(wǎng)絡(luò);Yeelink
隨著人口膨脹和經(jīng)濟(jì)的高速增長,環(huán)境污染變得日益嚴(yán)重,特別是近年來的水質(zhì)污染。大自然是一個有機的整體,水環(huán)境的惡化不可避免地會影響整體環(huán)境改變[1]。傳統(tǒng)的水質(zhì)監(jiān)測主要是通過用便攜式儀器進(jìn)行人工檢測、分析計算水環(huán)境中微生物的活性情況,但這些方法或效率低,或成本高,或精度低,并且對周邊生態(tài)環(huán)境有影響[2-3]。也有人采用開源平臺來搭建監(jiān)測系統(tǒng),但規(guī)模較小,不適合大面積、分散的水域監(jiān)測[4]。直到最近幾年,無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)技術(shù)的引入,使得監(jiān)測效率得到大幅度提高[5-6]。但是,由于水質(zhì)環(huán)境的復(fù)雜性以及河流湖泊地域的限制,WSNs實施起來比較困難,并且單個節(jié)點大多數(shù)只能測量單一數(shù)據(jù),很難對水環(huán)境做出正確判斷,處理的數(shù)據(jù)也是通過較為傳統(tǒng)的終端機顯示。
本文在WSNs的基礎(chǔ)上,針對當(dāng)前水質(zhì)監(jiān)測技術(shù)的不足,設(shè)計了一種水環(huán)境云端監(jiān)測系統(tǒng)。該設(shè)計對傳感器節(jié)點進(jìn)行整合,利用雙核結(jié)構(gòu)將原本單一的傳感器整合在一個節(jié)點上,使得單一節(jié)點可同時監(jiān)測溫度、pH值和壓強等多項數(shù)據(jù);憑借WSNs技術(shù)布局靈活、成本低、功耗低、無需基礎(chǔ)設(shè)施支撐等優(yōu)勢,解決組網(wǎng)問題,實現(xiàn)對水域的覆蓋;加入GPS模塊,結(jié)合壓力傳感器實現(xiàn)監(jiān)測節(jié)點的三維定位;在數(shù)據(jù)顯示上,本設(shè)計一改傳統(tǒng)的終端機顯示方法,引入當(dāng)前熱門的云端網(wǎng)絡(luò)技術(shù),將數(shù)據(jù)匯聚節(jié)點處理得到的數(shù)據(jù)直接發(fā)送至云端網(wǎng)絡(luò),使用戶可以在Yeelink物聯(lián)網(wǎng)平臺上實時監(jiān)測水質(zhì)數(shù)據(jù),真正實現(xiàn)隨時隨地進(jìn)行水質(zhì)監(jiān)測。
為了獲得最佳效果,本系統(tǒng)設(shè)計了一種混合網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),整個系統(tǒng)由以下四部分組成:終端監(jiān)測節(jié)點、簇頭節(jié)點、數(shù)據(jù)匯聚節(jié)點和遠(yuǎn)程監(jiān)視中心。其中終端監(jiān)測節(jié)點、簇頭節(jié)點和數(shù)據(jù)匯聚節(jié)點構(gòu)建成了一個無線傳感器網(wǎng)絡(luò),如圖1所示。擬定在監(jiān)測區(qū)域部署N個節(jié)點得到N維的原始信號。接著,按照分層分簇的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行邏輯映射得到M個簇,簇頭節(jié)點分別為{B1,B2,B3,…,BM},簇頭節(jié)點負(fù)責(zé)收集本簇內(nèi)的數(shù)據(jù);最后,由M個簇頭節(jié)點把信息匯聚到數(shù)據(jù)匯聚節(jié)點,由數(shù)據(jù)匯聚節(jié)點傳輸?shù)缴蠈拥脑贫司W(wǎng)絡(luò)。因此,數(shù)據(jù)匯聚節(jié)點與簇頭節(jié)點之間構(gòu)成了樹狀網(wǎng)絡(luò),而每個簇頭節(jié)點所負(fù)責(zé)的一簇區(qū)域內(nèi)的各個終端節(jié)點之間則構(gòu)成了一個網(wǎng)狀網(wǎng)絡(luò),以確保能選擇最佳的路由路徑進(jìn)行數(shù)據(jù)的傳輸。
圖1 系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
在簇頭節(jié)點上部署GPS定位裝置,用以提供準(zhǔn)確的參考坐標(biāo),而在每個簇頭節(jié)點負(fù)責(zé)的一簇區(qū)域當(dāng)中,采用三邊定位算法來計算每個終端監(jiān)測節(jié)點的位置坐標(biāo)。結(jié)合壓力傳感器得出的水深,從而獲得三維坐標(biāo)。
系統(tǒng)核心處理器選用ATmega328,其I/O口豐富,可以支持更多種類和更大數(shù)量的傳感器,實現(xiàn)更多水質(zhì)參數(shù)的監(jiān)測[7]。系統(tǒng)各部分分工合作,終端監(jiān)測節(jié)點采集傳感器數(shù)據(jù),分析處理后發(fā)送給簇頭節(jié)點;簇頭節(jié)點實現(xiàn)本簇內(nèi)終端監(jiān)測節(jié)點數(shù)據(jù)的收集;數(shù)據(jù)匯聚節(jié)點監(jiān)測網(wǎng)絡(luò),實現(xiàn)數(shù)據(jù)的統(tǒng)計分析和上傳。系統(tǒng)硬件結(jié)構(gòu)組成如圖2。
圖2 系統(tǒng)硬件架構(gòu)
2.1 電源模塊
節(jié)點采用外部+5 V電源供電,通過高效線性穩(wěn)壓器AMS1117得到+3.3 V電壓供給無線傳輸模塊、數(shù)據(jù)上傳模塊、GPS模塊和溫度壓強傳感器。而調(diào)理電路工作所需的±5 V電壓則是利用ICL7660得到,如圖3所示。
圖3 調(diào)理電路原理圖
2.2 調(diào)理模塊
本系統(tǒng)測量pH值采用雷磁公司的E-201-C傳感器,其輸出信號為微弱的直流信號,大小與pH值存在線性關(guān)系,信號范圍為-450~+450 mV,不便于采集。于是通過調(diào)理模塊對該信號進(jìn)行線性處理,最終得到便于采集的0~3 V范圍的電壓信號。
圖3展示的便是調(diào)理電路,由跟隨、線性放大和反向放大三部分組成。用VOUT表示調(diào)理電路的輸出,VIN表示pH傳感器信號,最終兩者間服從關(guān)系如下:
這里取R2、R3、R4、R7皆為1 kΩ,則式(1)為:
得到的輸出可直接送至處理器讀取進(jìn)行A/D轉(zhuǎn)換。由于實際情況多變,調(diào)理電路的放大倍數(shù)和電平抬升量均是可調(diào)節(jié)的,可以減小誤差,更好地適應(yīng)多樣化的環(huán)境。
2.3 GPS模塊
GPS模塊選用一款與Arduino兼容的GPS擴展板,支持GPS衛(wèi)星導(dǎo)航技術(shù),能讓簇頭節(jié)點發(fā)送信息并使用GSM網(wǎng)絡(luò)。同時在GPS模塊加入GPS記錄單元——Itead Arduino GPS定位導(dǎo)航擴展板NEO-6,可記錄GPS數(shù)據(jù),方便后期數(shù)據(jù)分析,改進(jìn)分簇算法,解決覆蓋率不足等問題。
2.4 數(shù)據(jù)上傳模塊
數(shù)據(jù)上傳模塊采用以W5100為核心的網(wǎng)絡(luò)擴展模塊。W5100內(nèi)部集成了TCP/IP協(xié)議棧、以太網(wǎng)介質(zhì)傳輸層和物理層,使用它可以不需要考慮以太網(wǎng)的控制,只需要進(jìn)行簡單的端口控制便可實現(xiàn)網(wǎng)絡(luò)連接。擴展版支持SPI接口,使得W5100可以利用SPI協(xié)議與處理器進(jìn)行通信從而獲取需要上傳的數(shù)據(jù)[7]。
2.5 接口電路
無線通信模塊選用CC2530核心板,進(jìn)行邏輯電平匹配后,使用標(biāo)準(zhǔn)的串口與ATmega328通信,不僅降低了開發(fā)難度,也提升了系統(tǒng)的整體性能。終端監(jiān)測節(jié)點采用了微型數(shù)字型溫度壓強傳感器MS5541C,其工作于+3.3 V的數(shù)字電壓下,內(nèi)部集成了A/D轉(zhuǎn)換器,可將電壓值直接轉(zhuǎn)換為16位數(shù)字信號輸出,精度高,支持SPI協(xié)議,在時鐘(32.768 kHz)的控制下與ATmega328通信,實現(xiàn)溫度壓強的測量[8]。接口電路原理如圖4所示。
圖4 接口電路原理圖
3.1 終端監(jiān)測節(jié)點主程序
MS5541C是一款綜合了溫度和壓力測量的微型數(shù)字型傳感器,可以根據(jù)下式
計算水深。其中P是水下壓強,P0是大氣壓強(約為1 Pa),ρ、g、h分別是水的密度、重力加速度和水的深度。這樣結(jié)合簇頭節(jié)點上GPS模塊可以實現(xiàn)水域的三維監(jiān)測。由于壓強傳感器的輸出電壓受溫度等因素的影響較大,需要通過外圍處理器進(jìn)行軟件補償。
于是主程序除了負(fù)責(zé)系統(tǒng)的初始化、定位和數(shù)據(jù)的采集處理之外,還要實現(xiàn)與傳感器的通信,如圖5所示。
主程序主要進(jìn)行以下操作:
(1)系統(tǒng)初始化,包括傳感器的初始化;
(2)獲取校正系數(shù),處理器先從MS5541C的64 bit的PROM中讀取它自帶的校準(zhǔn)數(shù)據(jù),然后將校準(zhǔn)數(shù)據(jù)轉(zhuǎn)換成校正系數(shù);
(3)讀取水質(zhì)參數(shù);
圖5 終端節(jié)點主程序流程圖
(4)溫度校正,首先計算出校正溫度,然后依據(jù)測量溫度和校正溫度計算得出實際溫度;
(5)對壓強值和pH值進(jìn)行溫度補償;
(6)數(shù)據(jù)傳遞,即對數(shù)據(jù)進(jìn)行位置信息綁定后將數(shù)據(jù)包通過串口傳遞給無線通信模塊。
3.2 簇頭節(jié)點主程序
簇頭節(jié)點主要實現(xiàn)位置信息的獲取和數(shù)據(jù)的轉(zhuǎn)發(fā),主程序流程圖如圖6。主要步驟如下:
(1)系統(tǒng)初始化,包括GPS模塊的初始化;
(2)通過AT指令啟動GPS功能并記錄GPS坐標(biāo);
(3)將本簇頭節(jié)點獲取的位置坐標(biāo)廣播給終端監(jiān)測節(jié)點及其他簇頭節(jié)點;
圖6 簇頭節(jié)點主程序流程
(4)簇頭節(jié)點進(jìn)入路由模式,與終端監(jiān)測節(jié)點和其他簇頭節(jié)點進(jìn)行無線通信,實現(xiàn)數(shù)據(jù)包的轉(zhuǎn)發(fā)等功能。
3.3 數(shù)據(jù)匯聚節(jié)點主程序
數(shù)據(jù)匯聚節(jié)點主程序負(fù)責(zé)讀取CC2530傳遞過來的數(shù)據(jù)并交由W5100上傳。由于采用雙核模式,主程序可以設(shè)計得非常簡單,流程如圖7所示。主要步驟如下:
(1)系統(tǒng)初始化,包括網(wǎng)絡(luò)端口初始化以及設(shè)備編號、傳感器編號配置等,初始化后進(jìn)入偵聽狀態(tài);
圖7 數(shù)據(jù)匯聚節(jié)點主程序流程
(2)如果產(chǎn)生串口中斷,表明CC2530有數(shù)據(jù)發(fā)送過來,則讀取數(shù)據(jù);
(3)數(shù)據(jù)讀取完畢后,進(jìn)行簡單的處理,隨后將數(shù)據(jù)上傳至遠(yuǎn)程監(jiān)視中心,上傳結(jié)束后繼續(xù)偵聽。
3.4 無線通信程序
CC2530的引入使得無線通信的軟件設(shè)計變得非常簡單,直接使用TI公司提供的協(xié)議棧ZStack進(jìn)行開發(fā)[9-11]。該協(xié)議棧是基于操作系統(tǒng)而存在的,建立在事件循環(huán)機制的思想之上。
數(shù)據(jù)匯聚節(jié)點上電初始化后首先詢問是否存在現(xiàn)有網(wǎng)絡(luò),如有則直接入網(wǎng)綁定,開始轉(zhuǎn)發(fā)數(shù)據(jù)、審核入網(wǎng)申請,相當(dāng)于執(zhí)行簇頭節(jié)點程序;若不存在則將自己配置為協(xié)調(diào)器,啟動網(wǎng)絡(luò),為入網(wǎng)節(jié)點分配地址,接收數(shù)據(jù)并上傳。終端監(jiān)測節(jié)點初始化后詢問是否存在現(xiàn)有網(wǎng)絡(luò),沒有則等待,有則直接入網(wǎng)綁定,運行三邊算法進(jìn)行定位,然后開始采集傳感器數(shù)據(jù)并傳遞給父節(jié)點,等待應(yīng)答,如果一直收不到應(yīng)答則重新尋找網(wǎng)絡(luò)。無線通信的工作流程如圖8所示。
圖8 無線通信工作流程
遠(yuǎn)程監(jiān)視中心采用Yeelink物聯(lián)網(wǎng)交互平臺,可以實現(xiàn)對前端的信息采集和信息處理設(shè)備的管理。在平臺上注冊,然后添加自己的設(shè)備,對設(shè)備進(jìn)行管理。由于Yeelink平臺是開放的,這就需要對每個用戶以及用戶的設(shè)備進(jìn)行管理,確保傳感器數(shù)據(jù)與用戶傳感器一一對應(yīng)。Yeelink為了解決這個問題,采用分層管理的模式:用戶層、設(shè)備層和傳感器層[12]。首先分配給注冊用戶獨有的APIKEY,每個用戶可自行管理自己賬戶的設(shè)備,系統(tǒng)分配給每個設(shè)備獨有的設(shè)備編號,設(shè)備里可以添加各種傳感器,同樣地,系統(tǒng)分配給傳感器獨有的傳感器編號。
Yeelink物聯(lián)網(wǎng)平臺能同時支持電腦終端和手機終端實時顯示,用戶可實時查看水質(zhì)參數(shù),十分便捷??蛻舳孙@示界面如圖9所示。
圖9 客戶端顯示
對監(jiān)測節(jié)點進(jìn)行了防水處理之后,選取了室內(nèi)和室外兩種測試對該系統(tǒng)進(jìn)行了初步測試。其中室外選在了南京郵電大學(xué)仙林校區(qū)的人工湖(大致在北緯32°06′34.40″,東經(jīng)118°55′40.58″)。
溫度測量范圍能達(dá)到-40℃~+85.0℃,精度在1℃以內(nèi);壓強測量范圍為0~14 bar,精度達(dá)到1 mbar;pH值測量范圍為1~14,精度達(dá)0.01。在水下測量時,選擇12月初某天的8∶00~20∶00時間段,每半小時測量一次,并記錄數(shù)據(jù)。在湖面下0.5 m左右處最低溫度為7.0℃,最高溫度為9.12℃,壓強在1 050 mbar左右,pH值在7.20左右。測試數(shù)據(jù)顯示如圖10所示。并對標(biāo)準(zhǔn)儀器進(jìn)行人工測量得到的值與系統(tǒng)測量得到的數(shù)據(jù)進(jìn)行了對比。
圖10 一天的水質(zhì)參數(shù)變化
通過以上數(shù)據(jù)可以發(fā)現(xiàn),pH值的測量誤差相對較大,這是由于pH電極的信號需要經(jīng)過調(diào)理電路的處理,而這種模擬電路帶來的誤差較大,但總體來說系統(tǒng)測量值與人工測量得到的數(shù)據(jù)基本接近,說明本系統(tǒng)數(shù)據(jù)測量的準(zhǔn)確性。目前平均數(shù)據(jù)傳送時延在20~30 s之間,有較好的實時性。無線通信部分采用最新的Zig-Bee2007協(xié)議棧,采取了碰撞避免策略,MAC層也采用了完全確認(rèn)(ACK)的數(shù)據(jù)傳輸模式,支持差錯重傳,提升了系統(tǒng)的可靠性。
本文針對水質(zhì)參數(shù)的網(wǎng)絡(luò)監(jiān)測問題,設(shè)計并實現(xiàn)了一個基于無線傳感網(wǎng)的水質(zhì)參數(shù)云端監(jiān)測系統(tǒng),該系統(tǒng)由終端監(jiān)測節(jié)點、簇頭節(jié)點、數(shù)據(jù)匯聚節(jié)點和遠(yuǎn)程監(jiān)視中心組成,可以完成信息的自動采集、信息的無線傳輸以及基于云端的信息存儲,并可以在移動終端實時查看監(jiān)測數(shù)據(jù)。大量的實際實驗表明本系統(tǒng)具有一定的實時性和可靠性。本系統(tǒng)不僅可以滿足對水環(huán)境的監(jiān)測需要,而且由于模塊化設(shè)計,使得本系統(tǒng)具有一定的普適性,可用于其他環(huán)境監(jiān)測的領(lǐng)域,具有廣闊的應(yīng)用市場??紤]到能源功率和成本問題,本系統(tǒng)還需要進(jìn)一步優(yōu)化。
[1]JIN D L,LIU Y W.An overview of the water environment[J]. Water Resour,2006(27):33-36.
[2]Jiang Peng,Xia Hongbo,He Zhiye.Design of a water environmentmonitoringsystembasedonwirelesssensor networks[J].Sensors,2009,9(8):6411-6434.
[3]周良明,劉玉光,郭佩芳,等.多參數(shù)水質(zhì)檢測儀在海洋水質(zhì)監(jiān)測中的應(yīng)用[J].氣象水文海洋儀器,2003(4):45-56.
[4]TATSIOPOULOS C,KTENA A.A smart ZigBee based wireless sensor meter system[C].2009 16th International ConferenceonSystems,SignalsandImageProcessing,2009:1-4.
[5]He Dong,Zhang Lixin.The water quality monitoring system based on WSN[C].2012 2nd International Conference on Consumer Electronics,Communications and Networks,2012:3661-3664.
[6]秦華,孫曉松.基于Arduino/Android的環(huán)境狀況監(jiān)測系統(tǒng)設(shè)計[J].無線互聯(lián)科技,2013(1):59-61.
[7]程晨.Arduino開發(fā)實踐指南AVR篇[M].北京:機械工業(yè)出版社,2012.
[8]徐守品,劉越,張靚.基于ATMEGA32單片機高精度微水測量儀的設(shè)計與實現(xiàn)[J].精密制造與自動化,2012(4):34-36.
[9]李新.基于CC2530的ZigBee網(wǎng)絡(luò)節(jié)點設(shè)計[J].PLC&FA,2011(3):97-99.
[10]吳岳忠,汪濤,周訓(xùn)志,等.基于物聯(lián)網(wǎng)的家居室內(nèi)環(huán)境在線監(jiān)控系統(tǒng)研究[J].微型機與應(yīng)用,2014,33(14):60-63.
[11]張毅,張靈至,盧威.面向物聯(lián)網(wǎng)的ZigBee-紅外控制系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2013,39(5):82-85.
[12]Yeelink.API Documents[EB/OL].(2014-12)[2015-01-12]. http://www.yeelink.net/develop/api.
The cloud water environment monitoring system based on WSNs
Hu Jiao1,Sun Jian1,Wang Xiaowei1,Shen Shu2,3,Zou Zhiqiang2,3
(1.College of Bell,Nanjing University of Posts and Telecommunications,Nanjing 210023,China;2.College of Computer,Nanjing University of Posts and Telecommunications,Nanjing 210003,China;3.Jiangsu High Technology Research Key Laboratory for Wireless Sensor Networks,Nanjing 210003,China)
A cloud water-monitoring system based on wireless sensor networks(WSNs)has been fully discussed,focusing on information collection,transmission and display.Network architecture and four constituent parts including data collection nodes,cluster head nodes,data base station and remote data monitoring center based on Yeelink of this system are detailed,including specific software and hardware designing of these parts.Besides,supporting for mobile terminals,parameters like temperature,pH and pressure in water can be automatically measured and displayed in real time.The experiment and test show that a low-budget and real-time online water monitor can be accessible through this system.
Arduino;water environment monitoring;wireless sensor networks(WSNs);clouds network;Yeelink
TP393
A
1674-7720(2015)11-0060-04
2015-01-12)
胡嬌(1993-),女,在讀本科,主要研究方向:傳感器硬件與無線傳感網(wǎng)絡(luò)。
國家自然科學(xué)基金資助項目(61170065,61373137,61401221,61100199);江蘇省科技支撐計劃(社會發(fā)展)(BE2014718);江蘇省自然科學(xué)基金項目(BK2012436,BK20141429);南京郵電大學(xué)自然科學(xué)基金項目(NY213037)
孫堅(1992-),男,在讀本科,主要研究方向:傳感器硬件與無線傳感網(wǎng)絡(luò)。
沈澍(1982-),通信作者,男,博士,講師,主要研究方向:物聯(lián)網(wǎng)、傳感網(wǎng)以及短距離無線通信。E-mail:shens@njupt.edu.cn。