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