張秀峰,吳錦潤
(大連民族大學 機電工程學院,遼寧 大連 116605)
水質檢測是水資源環境管理與保護的重要基礎,是保護水環境的重要手段[1]。近年來,隨著水產養殖規模化、集約化程度的不斷提高,養殖種類的增多和養殖密度的增加,養殖水域水質環境日趨惡化,病害發生率越來越高,由此引發的水產品質量安全問題也日益突出[2]。傳統的水質檢測采用儀表結合人工經驗操作的方法,存在耗時費力、檢測范圍小、檢測周期長、不能實時反映水環境的動態變化等弊端,采用串行總線、現場總線的水質自動檢測系統需要鋪設大量的電纜線,布線困難、施工難度大,且線路易受破壞和腐蝕,維護成本高,檢測范圍有限[3]。無線傳感器網絡具有智能化程度高、信息時效強、覆蓋區域廣、支持多路傳感器數據同步采集、可擴展性好等特點[4],將其應用于水質環境監測領域有著廣闊的前景。
當前無線水質檢測系統多數使用自動檢測儀,利用通信模塊構建無線檢測網絡,從而實現網絡化水質檢測系統。在無線網絡構建中,位置信息至關重要,沒有準確的位置信息,檢測的參數信息將毫無意義。無線傳感器網絡定位方法主要分為基于測距和非測距兩大類,在各種定位方法中群體智能算法被普遍采用。本文以養殖水的溶氧量、pH值、電導率和溫度為檢測參數,設計了水質檢測模塊,構建了無線水質檢測系統,實現了整套檢測裝置的無線通信。系統方便靈活,能在大范圍水域實現監測,具有水質環境參數的實時采集、無線傳輸和遠程監測等功能。
從環境監測角度,水質檢測主要包括水溫、pH值、濁度、溶氧量和電導率五個參數。利用水質檢測傳感器實時檢測水質參數,對數據進行處理、分析并存儲,通過本地串口總線傳輸給無線通信模塊,并啟動數據發送。監控中心的無線通信模塊接收到數據后,通過串口傳輸給上位機,上位機對水質檢測模塊的位置和參數進行存儲和分析,得到相關的位置和水質參數,通過監測界面進行顯示并錄入水質參數數據庫。監控中心通過以太網將數據傳送至網絡服務器,進行大數據處理。
無線水質檢測系統由水質檢測模塊、無線通信模塊和監控中心組成,水質檢測模塊和監控中心通過無線通信模塊進行數據傳輸,檢測系統總體結構如圖1。水質檢測模塊有傳感器組、微處理器、接口單元、無線通信模塊和電源模塊組成;監控中心由無線通信模塊和上位機組成,監控中心通過以太網與網絡服務器連接。

圖1 水質檢測系統結構圖
水質檢測模塊需要在水面甚至水下工作,對所在位置的水質參數進行實時檢測。傳統的水質檢測裝置通常利用水上架構,檢測模塊固定在水面以上的支撐結構上,只有傳感器探頭與被測水面接觸,并通過總線與檢測模塊相連接,這樣大大降低了檢測裝置的靈活性,使其應用受到極大的限制,支撐結構的架設也非常困難。
本文設計的檢測模塊采用密封盒結構,利用雙側浮力瓶使密封盒漂浮在水面,并能夠在一定的范圍內移動,省去了支撐架構的設計和安裝,密封盒結構如圖2。

圖2 密封盒結構圖
檢測模塊由傳感器組、信號采集及處理單元、無線通信模塊、接口單元、控制單元和電源模塊組成,傳感器探頭伸出密封盒,與被測水面接觸,其余部分被封裝在密封盒內,水質檢測模塊結構如圖3。

圖3 水質檢測模塊結構圖
CPU是水質檢測模塊的指揮中心,通過控制邏輯電路協調其他單元按統一的步調工作。信號采集單元包括溫度、pH值、電導率和溶氧量參數檢測傳感器,控制邏輯電路通過啟動與停止操作分時采集各水質參數;信號由CPU處理后經接口總線傳送至無線通信模塊;控制器按設定的邏輯關系啟動無線模塊發送數據,在無線網絡系統中,經過一系列中間節點,將數據傳送至監控中心。監控中心對數據檢測點位置及水質參數進行分析和處理,在上位機中進行存儲和顯示;通過本地網關將水質參數數據上傳至以太網,組成水質參數大數據,為水質總體評估提供可靠的依據。
為了提高系統使用的靈活性,水質檢測模塊采用蓄電池供電,蓄電池可以選擇電網充電和太陽能電池充電。太陽能電池板安裝在密封盒的上表面,可以根據太陽光照方向實時調整太陽能電池板的采光角度,使太陽能電池板保持與太陽光垂直方向,最大限度吸收太陽能。根據各用電單元的要求,調節電源輸出信號,為各用電單元供電。
在無線網絡系統中,傳感器節點定位方法是系統設計的關鍵技術之一,是節點間路由算法設計、拓撲管理、覆蓋控制等環節的重要基礎,其熱點研究問題是無線傳感器節點定位精度的提高[5]。典型的定位算法有距離無關算法和基于距離的定位算法,距離無關算法無需相關的硬件配置,只根據網絡連通性實現定位,具有抗干擾能力強、硬件成本低等優點而被廣泛采用[6]。在眾多的距離無關算法中,路徑搜索算法與群體智能優化算法相結合,能加快運算速度,提高定位精度,減少成本投入。
在群體智能優化算法中,布谷鳥搜索算法(Cuckoo Search,CS)作為一種新興的仿生群體智能算法,具有簡單、參數少、易于實現等優點,而且能高效的協調算法的局部搜索和全局搜索能力[7],為無線傳感器網絡的定位性能改善提供了一種新的研究思路。在眾多文獻報道中,將節點定位轉化為一個常見的數學多維約束優化問題,引入全局和局部搜索能力強的CS算法對節點位置進行估算與校正。
在傳感器節點定位的過程中,未知節點(自身位置不確定的節點)通過一定的通信方式獲取錨節點(已知自身位置信息的節點)的位置信息,以該信息作為參考,并根據某種算法確定自身位置信息[8]。本文通過未知節點獲取三個以上的錨節點信息時,利用自身到錨節點的距離,建立距離線性方程組如式(1),根據最小二乘原理使隨機誤差向量達到最小值,進一步估算自身的位置[9]。
(1)
對CS算法節點定位模型進一步分析,為了減少測距誤差對定位精度的影響,進一步改善系統性能,將最小二乘原理轉換為數學約束優化問題。建立未知節點與各錨節點間的距離誤差函數組,確定目標函數
(2)
誤差方程組為求解目標函數的一個可行解空間,在求解目標函數優化的過程中,最優解包含在該空間內,只需在該空間內尋找最優解。當目標函數的值趨近于0時,函數對應解的坐標確定為該未知節點的位置。利用CS算法結合萊維飛行機制模擬布谷鳥尋巢產蛋方式,實現基于全局誤差函數的節點位置最優化算法[10]。
以CS算法為依據,無線傳感器節點定位方法的具體步驟如下:
(1)初始化。確定各參數的初始值,m-鳥巢的數量,Pi-產卵被發現的概率,E-搜索精度,n-循環次數;鳥巢的初始位置-無線傳感器錨節點的坐標。
(2)根據初始化鳥巢的位置,采用萊維飛行方式搜索,利用更新公式進行計算,產生新一代鳥巢的位置。
(3)分別計算更新前后鳥巢的適應值,并進行比較,保留較優的適應值對應的鳥巢的位置,作為當前種群中的最優位置。
(4)若循環次數到限后,鳥巢適應值和搜索精度沒有達到,則放棄本次搜索,產生新一代鳥巢位置,返回(3),繼續搜索。
(5)存儲最優解,滿足條件,搜索結束。
研究開發的水質參數綜合檢測系統運用高精度傳感器,采用模塊化設計方法,完成對水溫、pH值、濁度、溶氧量和電導率五個主要參數的采集、分析和處理,各模塊能夠實時循環顯示當前位置的水質參數信息,當被測量超限時能夠發出報警信號,并將超限參數與超限量和位置信息傳送給監控中心。
利用MATLAB仿真軟件構建仿真系統,實現無線傳感器節點定位。設定200 m×200 m的二維區域,分布一定數量的錨節點和未知節點,錨節點的位置為已知,未知節點與錨節點之間的距離通過無線測距裝置測定,輸入到仿真系統。按照3.2節的實驗步驟,計算獲得未知節點的位置坐標,重復計算50次后,取平均值作為待測未知節點的位置坐標。確定各無線節點位置后,構建水質參數檢測無線網絡。為了驗證CS算法的性能,以錨節點比例和測距誤差對傳感器節點定位誤差的影響及定位速度作為衡量指標,與最小二乘算法(Least Squares method,LS)和人工蜂群算法(Artificial Bee Colony,ABC)進行對比,各項性能指標均優于以上兩種算法。傳感器節點定位誤差對比如圖4。

圖4 傳感器節點定位誤差對比
圖4(a)為節點中錨節點所占比例對定位誤差影響的對比;圖4(b)為測距誤差對定位誤差影響的對比。節點定位速度對比如圖5。

圖5 節點定位速度對比
采用Zigbee無線通信協議,利用F8913模塊構建水質參數檢測網絡,并對節點位置進行優化,改善網絡系統性能,可以進一步開發水質參數監測站。
通過詳細分析水質檢測的實際需求,運用新型檢測技術,開發了水質參數檢測模塊,構建了無線水質參數檢測系統,通過CPU實現水質參數數據的集中分析和管理。利用傳感器技術、微處理器控制技術和無線通信技術開發水質檢測模塊,模塊具有多路信號采集、數據實時處理及顯示功能,可以通過通信單元實現無線通信,模塊具有精度高、實時處理、重量輕、操作簡單、防水等優點。設計并構建無線傳感器節點,組建無線監測通信網絡系統,采用智能群體算法實現傳感器節點定位的優化,提高了系統性能。該系統改善了目前水質參數檢測設備體積較大、防水性能差、數據精度低及分析處理能力差等缺點,通過實驗測試表明,該系統具有檢測精度高、數據處理及分析能力強和性能可靠等特點,具有極強的實際運用價值。