李邦訓(xùn),陳崇成,黃正睿,唐麗玉
(福州大學(xué)空間數(shù)據(jù)挖掘與信息共享教育部重點(diǎn)實(shí)驗(yàn)室,地理空間信息技術(shù)國家地方聯(lián)合工程研究中心,福建 福州 350108)
近年來,全球生態(tài)環(huán)境破壞越發(fā)嚴(yán)重,造成巨大經(jīng)濟(jì)損失. 我國古代森林資源豐富,但由于森林火災(zāi)及其他掠奪性的開發(fā), 使我國現(xiàn)在變成一個(gè)生態(tài)脆弱的國家,人均森林面積只有世界人均水平的1/4[1]. 因此,通過對(duì)生態(tài)環(huán)境的監(jiān)測(cè),可預(yù)測(cè)和控制生態(tài)問題,對(duì)保護(hù)生態(tài)環(huán)境、 治理環(huán)境污染及保障人類生命財(cái)產(chǎn)安全具有重要意義.
基本生態(tài)環(huán)境參數(shù)包括溫濕度、 壓強(qiáng)、 光照強(qiáng)度、 土壤含水率及負(fù)氧離子濃度等[2-3],通過對(duì)其監(jiān)測(cè)可體現(xiàn)生態(tài)環(huán)境變化. 當(dāng)前生態(tài)環(huán)境參數(shù)的采集一般由人工定期完成,其采集效率低、 工作量大且覆蓋的范圍有限. 此外,部分監(jiān)測(cè)系統(tǒng)通過布線實(shí)現(xiàn)數(shù)據(jù)采集和傳輸,其組網(wǎng)復(fù)雜、 費(fèi)用較高且受地理環(huán)境影響較大[4]. 近年來,無線傳感器網(wǎng)絡(luò)因具有低成本、 組網(wǎng)靈活及布控簡單等優(yōu)點(diǎn),在環(huán)境監(jiān)測(cè)中應(yīng)用廣泛[5-11]. Suganya等[12]搭建基于WSN的智能車輛空氣污染監(jiān)測(cè)系統(tǒng),該系統(tǒng)可共享和存儲(chǔ)所監(jiān)測(cè)的數(shù)據(jù),具有極高的應(yīng)用價(jià)值. Barate等[13]針對(duì)當(dāng)前WSN中節(jié)點(diǎn)連接傳感器數(shù)量有限,不同傳感器信號(hào)類型不同等問題,提出以FPGA為主控制器的可重構(gòu)接口的方法并進(jìn)行了驗(yàn)證. 顏建輝等[14]針對(duì)林區(qū)環(huán)境監(jiān)測(cè)時(shí)效性差、 長期監(jiān)測(cè)困難等不足,使用太陽能加鋰電池的供電策略,將ZigBee技術(shù)應(yīng)用于林區(qū)環(huán)境監(jiān)測(cè). 張小栓等[15]針對(duì)鉀肥生產(chǎn)中原鹵井位置分散、 人工巡檢不及時(shí)等,設(shè)計(jì)了基于WSN的鉀肥生產(chǎn)原鹵井監(jiān)測(cè)系統(tǒng),實(shí)地測(cè)試表明該系統(tǒng)具有較高的通信可靠性. Visconti等[16]設(shè)計(jì)并實(shí)現(xiàn)一種基于WSN的智能電子系統(tǒng),該系統(tǒng)可通過監(jiān)測(cè)土壤溫濕度及太陽輻射值等達(dá)到節(jié)約農(nóng)田灌溉用水,減少水資源浪費(fèi)的目的. Boubrima等[17]針對(duì)當(dāng)前通用部署模型不適用于傳感器監(jiān)測(cè)污染的問題,設(shè)計(jì)計(jì)算傳感器部署位置的整數(shù)線性規(guī)劃模型并分析了性能.
北斗系統(tǒng)覆蓋廣泛,可全天候提供定位、 授時(shí)和短報(bào)文服務(wù),傳送速度快,誤碼率低,受天氣和災(zāi)害影響較小[18-20]. 與GPRS等遠(yuǎn)距離通信技術(shù)相比,其通過衛(wèi)星中轉(zhuǎn)實(shí)現(xiàn)通信,解決了通信盲區(qū)條件下,監(jiān)測(cè)區(qū)域內(nèi)生態(tài)參數(shù)與遠(yuǎn)程終端實(shí)時(shí)通信問題. 北斗短報(bào)文在各種自然災(zāi)害的搶險(xiǎn)救災(zāi)中應(yīng)用廣泛[21-24]. 當(dāng)前,短報(bào)文只有民用部分對(duì)公眾開放,發(fā)送頻度為60 s,單次發(fā)送最大長度為120 Byte,通信容量十分有限[18, 25-26]. 針對(duì)當(dāng)前生態(tài)環(huán)境監(jiān)測(cè)中的不足,本文將ZigBee 技術(shù)與北斗技術(shù)結(jié)合起來,選取基本環(huán)境參數(shù),在監(jiān)測(cè)區(qū)域布設(shè)一到多個(gè)ZigBee個(gè)域網(wǎng),設(shè)計(jì)基于北斗短報(bào)文的數(shù)據(jù)傳輸編碼,實(shí)現(xiàn)遠(yuǎn)程北斗移動(dòng)終端上數(shù)據(jù)的實(shí)時(shí)顯示與存儲(chǔ).
圖1 系統(tǒng)整體框架圖Fig.1 Overall framework of the system
系統(tǒng)由ZigBee監(jiān)測(cè)網(wǎng)、 北斗通信網(wǎng)及北斗移動(dòng)終端三部分構(gòu)成,其整體框架如圖1所示. ZigBee監(jiān)測(cè)網(wǎng)由一到多個(gè)ZigBee個(gè)域網(wǎng)組成,每個(gè)個(gè)域網(wǎng)中節(jié)點(diǎn)的無線通信模塊上都有CC2591射頻前端,并且采集數(shù)據(jù)的傳感節(jié)點(diǎn)不超過10個(gè). 考慮到星型結(jié)構(gòu)節(jié)點(diǎn)間路由路徑唯一,網(wǎng)關(guān)節(jié)點(diǎn)負(fù)載過重,樹型結(jié)構(gòu)同樣通道唯一[27],而通常監(jiān)測(cè)區(qū)域環(huán)境復(fù)雜多變,因此本次研究采用延時(shí)短、 信息傳輸路徑多樣、 擴(kuò)展性強(qiáng)與可靠性高的ZigBee 網(wǎng)狀拓?fù)浣Y(jié)構(gòu); 為能夠迅速發(fā)現(xiàn)監(jiān)測(cè)區(qū)域內(nèi)生態(tài)環(huán)境脆弱的位置,在傳感節(jié)點(diǎn)上均嵌入定位模塊,采集的環(huán)境參數(shù)有溫濕度、 壓強(qiáng)、 光照強(qiáng)度、 土壤含水率及負(fù)氧離子.
圖2 傳感節(jié)點(diǎn)結(jié)構(gòu)Fig.2 Structure of sensor nodes
傳感節(jié)點(diǎn)是ZigBee監(jiān)測(cè)網(wǎng)中重要的基本數(shù)據(jù)采集單元,由5部分組成: 電源管理模塊、 定位模塊、 無線通信模塊、 處理器模塊和傳感器模塊[14],如圖2所示. 由于監(jiān)測(cè)區(qū)域環(huán)境復(fù)雜,通常不能對(duì)傳感節(jié)點(diǎn)進(jìn)行電源補(bǔ)給,因此系統(tǒng)使用鋰電池給節(jié)點(diǎn)供電,太陽能電池板給鋰電池充電的控制策略,此外,節(jié)點(diǎn)可使用移動(dòng)電源進(jìn)行供電.
圖3 網(wǎng)關(guān)節(jié)點(diǎn)結(jié)構(gòu)Fig.3 Structure of the gateway nodes
網(wǎng)關(guān)節(jié)點(diǎn)是實(shí)現(xiàn)ZigBee監(jiān)測(cè)網(wǎng)與北斗通信網(wǎng)異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)透明傳輸?shù)暮诵模浣Y(jié)構(gòu)組成如圖3所示. 網(wǎng)關(guān)節(jié)點(diǎn)的設(shè)計(jì)將會(huì)直接影響北斗短報(bào)文的收發(fā),鑒于網(wǎng)關(guān)的重要性,網(wǎng)關(guān)節(jié)點(diǎn)選擇STM32F4作為主MCU. 電源管理模塊負(fù)責(zé)給北斗短報(bào)文模塊、 處理器模塊及協(xié)調(diào)器模塊供電.
鑒于溫濕度、 光照強(qiáng)度和壓強(qiáng)傳感器均遵循IIC通訊協(xié)議,CC2530芯片無IIC接口,故采用單片機(jī)中兩個(gè)普通IO口模擬實(shí)現(xiàn)IIC總線通信; 鑒于土壤含水率及負(fù)氧離子兩款傳感器是基于RS-485通信接口,采用Modbus通信協(xié)議的數(shù)字型傳感器,因此采用CC2530芯片串口0用于485總線結(jié)構(gòu),從而實(shí)現(xiàn)對(duì)這兩款傳感器的驅(qū)動(dòng),其軟件設(shè)計(jì)流程圖如圖4所示.
圖4 傳感器程序設(shè)計(jì)流程圖
圖5 定位模塊程序設(shè)計(jì)流程圖Fig.5 Flowchart of location module program design
對(duì)于在傳感節(jié)點(diǎn)上嵌入的定位模塊,采用 CC2530 芯片串口 1 與該定位模塊進(jìn)行通信, 獲取其定位信息. 軟件設(shè)計(jì)流程如圖 5 所示.
本系統(tǒng)使用的北斗智能卡發(fā)送長度最大為120 Byte,短報(bào)文數(shù)據(jù)傳輸以$為起始標(biāo)志,以 為結(jié)束標(biāo)志,不同字段之間用‘,’隔開,整條信息以字符串的形式傳輸. 根據(jù)所選取的環(huán)境參數(shù),對(duì)短報(bào)文中的電文內(nèi)容進(jìn)行格式定義,如表1所示.
表1中,節(jié)點(diǎn)編號(hào)取值范圍為0~9,溫濕度、 壓強(qiáng)、 光照強(qiáng)度、 土壤含水率及負(fù)氧離子為節(jié)點(diǎn)處的環(huán)境值,經(jīng)緯度為節(jié)點(diǎn)處的位置信息,北斗短報(bào)文電文內(nèi)容支持代碼、 漢字和混合三種傳送方式,考慮到混合方式均支持漢字和代碼傳輸,且便于處理,本研究選擇混合傳送方式,并基于表1的電文內(nèi)容格式定義進(jìn)行傳輸編碼,以短報(bào)文傳輸?shù)囊粋€(gè)數(shù)據(jù)包為例,信息編碼如表2所示. 終端根據(jù)表1執(zhí)行逆向解碼即可獲得參數(shù)值. 本系統(tǒng)中短報(bào)文只用了61個(gè)字節(jié),還留有多余的擴(kuò)展空間,以便在需要其他環(huán)境參數(shù)時(shí)添加或替換現(xiàn)有參數(shù).
表1 電文內(nèi)容格式定義
表2 環(huán)境參數(shù)編碼示例
北斗移動(dòng)終端采用Android系統(tǒng),其上APP使用Java語言編程,為用戶提供形象化、 直觀化的顯示界面. 該APP可對(duì)ZigBee監(jiān)測(cè)網(wǎng)傳回的參數(shù)進(jìn)行分類存儲(chǔ)與處理,ZigBee監(jiān)測(cè)網(wǎng)傳送回的數(shù)據(jù)使用SQLite數(shù)據(jù)庫存在本機(jī)中. 可通過APP刪除歷史數(shù)據(jù)、 查看歷史數(shù)據(jù)及實(shí)時(shí)顯示接收到的生態(tài)環(huán)境參數(shù).
圖6 空曠地帶收包率與通信距離關(guān)系Fig.6 Relationship between packet rate and communication distance in open area
基于以上軟硬件設(shè)計(jì),為測(cè)試節(jié)點(diǎn)的穩(wěn)定性和可靠性,選取三個(gè)傳感節(jié)點(diǎn)和一個(gè)網(wǎng)關(guān)節(jié)點(diǎn),構(gòu)建ZigBee監(jiān)測(cè)網(wǎng),通過串口調(diào)試助手測(cè)試數(shù)據(jù)的發(fā)送和接收. 同時(shí)使用USB Dongle,Packet Sniffer對(duì)ZigBee協(xié)調(diào)器建立網(wǎng)絡(luò)、 傳感節(jié)點(diǎn)加入網(wǎng)絡(luò)及網(wǎng)狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行測(cè)試. 測(cè)試得出,所設(shè)計(jì)的節(jié)點(diǎn)均能正常采集數(shù)據(jù),實(shí)現(xiàn)ZigBee個(gè)域網(wǎng)的創(chuàng)建、 加入、 退出、 網(wǎng)狀拓?fù)浣Y(jié)構(gòu)及多跳路由傳輸. 基于以上兩點(diǎn),選擇空曠地區(qū),設(shè)置數(shù)據(jù)發(fā)送頻度5 s一次,數(shù)據(jù)包長度75 Byte,發(fā)射功率調(diào)至最大,節(jié)點(diǎn)天線距離地面高度43 cm,將協(xié)調(diào)器節(jié)點(diǎn)位置固定不變,終端節(jié)點(diǎn)放于距離協(xié)調(diào)器不同位置處,在規(guī)定的時(shí)間內(nèi)計(jì)算CC2530芯片外加CC2591射頻前端時(shí)通信距離與收包率的關(guān)系. 結(jié)果表明,在通信距離為100 m時(shí),節(jié)點(diǎn)間的收包率在90%以上,完全可勝任生態(tài)環(huán)境監(jiān)測(cè)的任務(wù),測(cè)試結(jié)果如圖6所示.
表3 北斗短報(bào)文收包率
為驗(yàn)證本系統(tǒng)設(shè)計(jì)的網(wǎng)關(guān)節(jié)點(diǎn)的穩(wěn)定性和可靠性,將網(wǎng)關(guān)節(jié)點(diǎn)通過USB轉(zhuǎn)TTL與電腦相連,打開北斗協(xié)議測(cè)試軟件,通過設(shè)置通信頻度每分鐘一次,發(fā)送長度固定,通信類別為普通通信,發(fā)送模式為混合發(fā)送,模擬ZigBee監(jiān)測(cè)網(wǎng)發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn)的數(shù)據(jù)包. 在不同時(shí)間、 地點(diǎn)、 天氣及避開周圍信號(hào)干擾源的情況下,通過網(wǎng)關(guān)節(jié)點(diǎn)上短報(bào)文模塊發(fā)送,北斗終端接收,測(cè)試網(wǎng)關(guān)節(jié)點(diǎn)的收包率,實(shí)驗(yàn)結(jié)果如表3所示.
從表3中可得出,所設(shè)計(jì)的網(wǎng)關(guān)節(jié)點(diǎn)收包率高達(dá)95%以上,不僅實(shí)現(xiàn)了異構(gòu)網(wǎng)絡(luò)之間數(shù)據(jù)透明傳輸,而且還完成了網(wǎng)關(guān)節(jié)點(diǎn)與北斗短報(bào)文模塊物理上的連接.
福州大學(xué)旗山校區(qū)行政南樓東南方向(119.1934°E,26.0571°N)建有湖面幽靜、 周圍環(huán)境優(yōu)美的生態(tài)湖,該湖具有增加空氣濕度、 調(diào)節(jié)氣溫及凈化空氣的作用. 在湖及周圍存在很多野生珍稀動(dòng)物,而生態(tài)湖及周圍環(huán)境與這些野生動(dòng)物密切相關(guān). 研究表明,空氣中負(fù)氧離子能降解中和空氣中的有害氣體,是森林、 濕地等自然生態(tài)系統(tǒng)的重要生態(tài)服務(wù)產(chǎn)品之一,是空氣質(zhì)量好壞的標(biāo)志之一.
為獲取生態(tài)湖周圍生態(tài)環(huán)境狀況及測(cè)試所設(shè)計(jì)系統(tǒng)的可靠性及穩(wěn)定性,在生態(tài)湖附近部署本系統(tǒng)進(jìn)行實(shí)驗(yàn). 實(shí)驗(yàn)共有四個(gè)節(jié)點(diǎn)和一個(gè)北斗終端,四個(gè)節(jié)點(diǎn)分別為一個(gè)網(wǎng)關(guān)節(jié)點(diǎn),三個(gè)傳感節(jié)點(diǎn),傳感節(jié)點(diǎn)編號(hào)為1、 2和3,分別為終端節(jié)點(diǎn)、 路由節(jié)點(diǎn)和終端節(jié)點(diǎn),實(shí)際部署位置及編號(hào)如圖7(a)所示. 考慮到網(wǎng)關(guān)節(jié)點(diǎn)和北斗終端均與北斗衛(wèi)星進(jìn)行通信,所以兩者的位置均放在空曠地帶且放置在一起. 為了忽略ZigBee 傳輸數(shù)據(jù)包時(shí)距離過長導(dǎo)致的丟包,實(shí)驗(yàn)時(shí)各相鄰節(jié)點(diǎn)間距離均在10~20 m之間,供電策略上,三個(gè)傳感節(jié)點(diǎn)均配備有充滿電的5 000 mA·h鋰電池,鑒于網(wǎng)關(guān)節(jié)點(diǎn)不僅要收發(fā)數(shù)據(jù)包,而且北斗短報(bào)文模塊對(duì)發(fā)送短報(bào)文時(shí)的電源要求極高,因此,網(wǎng)關(guān)節(jié)點(diǎn)除配備5 000 mA·h鋰電池外,還單獨(dú)給北斗短報(bào)文的發(fā)送配備了一個(gè)3 000 mA·h的鋰電池.
ZigBee 監(jiān)測(cè)網(wǎng)中,通過查看網(wǎng)關(guān)節(jié)點(diǎn)上紅色LED燈常亮后,判斷網(wǎng)關(guān)節(jié)點(diǎn)創(chuàng)建網(wǎng)絡(luò)成功,然后依次輪流打開三個(gè)傳感節(jié)點(diǎn)開關(guān),通過LED燈的亮滅判斷是否成功加入網(wǎng)絡(luò),3號(hào)終端節(jié)點(diǎn)由于距離2號(hào)路由節(jié)點(diǎn)較近,接收到的信號(hào)強(qiáng)度較強(qiáng),故選擇2號(hào)路由節(jié)點(diǎn)為它的父節(jié)點(diǎn)介紹它入網(wǎng),至此,ZigBee 監(jiān)測(cè)網(wǎng)建成功. 鑒于北斗短報(bào)文的通信頻度是1 min,系統(tǒng)測(cè)試時(shí)以80 s的時(shí)間間隔在4 min內(nèi)依次輪詢將1號(hào)節(jié)點(diǎn)、 2號(hào)節(jié)點(diǎn)和3號(hào)節(jié)點(diǎn)的數(shù)據(jù)包發(fā)送至北斗終端,1號(hào)節(jié)點(diǎn)放置的位置如圖7(b)所示. 系統(tǒng)運(yùn)行一段時(shí)間后,從北斗終端APP上得到的三個(gè)傳感節(jié)點(diǎn)的收包率如表4所示.
圖7 實(shí)驗(yàn)實(shí)際部署位置Fig.7 The actual deployment location of the experiment
節(jié)點(diǎn)編號(hào)發(fā)送數(shù)據(jù)包個(gè)數(shù)接收數(shù)據(jù)包個(gè)數(shù)收包率/ %1544990.72545092.63544990.7
本次測(cè)試得出,系統(tǒng)運(yùn)行期間各節(jié)點(diǎn)及北斗終端軟硬件均能穩(wěn)定、 正常、 可靠地工作. 從表4可得出,系統(tǒng)中各節(jié)點(diǎn)的收包率為90%~95%,整個(gè)網(wǎng)絡(luò)的收包率也在90%~95%之間,雖然測(cè)試時(shí)排除了ZigBee通信距離過長導(dǎo)致的丟包,但是ZigBee監(jiān)測(cè)網(wǎng)和北斗終端放置環(huán)境不同,也會(huì)導(dǎo)致不同程度的丟包,從而使節(jié)點(diǎn)的收包率存在差異,但其收包率完全可滿足監(jiān)測(cè)需求,以下通過分析生態(tài)湖周圍環(huán)境情況來驗(yàn)證所設(shè)計(jì)系統(tǒng)的應(yīng)用性.
圖8 負(fù)氧離子濃度Fig.8 The concentration of negative oxygen ion
系統(tǒng)測(cè)試時(shí)傳回的1號(hào)節(jié)點(diǎn)處的負(fù)氧離子濃度變化情況如圖8所示,負(fù)氧離子濃度是衡量空氣質(zhì)量好壞的標(biāo)志之一,通過監(jiān)測(cè)其濃度變化可對(duì)監(jiān)測(cè)區(qū)域內(nèi)空氣質(zhì)量進(jìn)行分析跟蹤,從圖中可看出負(fù)氧離子濃度最小值在1 000個(gè)·cm-3以上,按照世界衛(wèi)生組織的規(guī)定,當(dāng)空氣中的負(fù)氧離子濃度為1 000~1 500個(gè)·cm-3時(shí),就是潔凈空氣,可見,生態(tài)湖周圍環(huán)境良好,空氣質(zhì)量優(yōu)秀,與現(xiàn)場實(shí)際情況相符.
針對(duì)當(dāng)前生態(tài)環(huán)境監(jiān)測(cè)中存在的問題,將北斗短報(bào)文與ZigBee結(jié)合,設(shè)計(jì)基于北斗和ZigBee的生態(tài)環(huán)境參數(shù)實(shí)時(shí)采集系統(tǒng). 實(shí)驗(yàn)結(jié)果表明,組建的ZigBee 監(jiān)測(cè)網(wǎng)能實(shí)現(xiàn)生態(tài)環(huán)境參數(shù)實(shí)時(shí)采集與多跳路由傳輸. 同時(shí),在空曠地區(qū),嵌入CC2591射頻前端的ZigBee節(jié)點(diǎn)可使節(jié)點(diǎn)間收包率在90%以上時(shí)通信距離為100 m,而傳統(tǒng)無CC2591射頻前端的ZigBee節(jié)點(diǎn)只有30 m左右,本研究在保證節(jié)點(diǎn)間收包率前提下,使有效通信距離得到增加; 網(wǎng)關(guān)節(jié)點(diǎn)經(jīng)過多次測(cè)試,性能穩(wěn)定,北斗短報(bào)文模塊收包率高達(dá)95%以上,能夠?qū)崿F(xiàn)異構(gòu)網(wǎng)絡(luò)之間數(shù)據(jù)的透明傳輸; 通過在福州大學(xué)旗山校區(qū)生態(tài)湖周圍部署實(shí)驗(yàn)得出,系統(tǒng)運(yùn)行穩(wěn)定可靠,整體收包率在90%~95%之間,能滿足實(shí)際應(yīng)用需求,并且生態(tài)湖周圍環(huán)境良好,空氣質(zhì)量優(yōu)秀,與現(xiàn)場實(shí)際情況相符. 此外,為應(yīng)對(duì)不同環(huán)境監(jiān)測(cè)需求,該系統(tǒng)還兼?zhèn)鋽U(kuò)展性,可集成其他傳感器.