仇宇俊,汪小旵,李天沛,葛朋彪
(1. 南京農業大學人工智能學院,南京市,210031; 2. 南京農業大學工學院,南京市,210031;3. 蘇州鼎興斯沃水產養殖設備有限公司,江蘇蘇州,215011)
魚菜共生技術通過循環水的工藝設計將水產養殖以及蔬菜栽培二者相結合,通過養殖尾水灌溉農作物,利用植物的根系以及微生物將水中的氨氮分解成植物可以吸收的硝酸鹽[1-2],促進植物的生長,同時起到凈化水體的作用[3-4]。在水產養殖部分,溶解氧、pH值、電導率、氨氮都影響著魚類的生長狀況[5-6];養殖尾水經過循環灌溉農作物,又影響著種植區域植物根系附近的溫度、濕度、pH值、電導率的變化[7]。水中的氨氮以離子氨(NH4+)與非離子氨(NH3)兩種形式存在[8-9],離子氨是水生植物的主要營養來源之一,濃度過高會導致水體富營養化;非離子氨對魚類具有毒性,漁業水質標準規定需要≤0.02 mg/L[10-12]。氨氮的毒性,以前常以總氨氮(TAN)的濃度表示,然而在pH值、水溫不同時,即使總氨氮量一樣,毒性也可能相差很大[13-14],而用非離子氨濃度表示毒性,就更為確切,但是非離子氨濃度無法直接測量,需要結合水溫、pH值的信息進行推算[15]。因此,魚菜共生系統的環境狀況需要多種指標共同評估判斷,實時獲取魚菜共生系統中關鍵的環境信息可以為水體循環以及環境安全預警提供數據支持。
物聯網技術作為一種快速獲取環境信息的技術,在農業環境監測中已經有了廣泛的應用。在作物栽培的過程中,通過獲取土壤墑情、空氣溫濕度等不同環境信息,結合專家知識進行多參數聯合決策[16-19];在水產養殖的過程中,通過融合水質信息、氣象信息、圖像信息等關鍵信息,對養殖塘進行智能調控與集中管理[20-21]。魚菜共生系統則是需要同時對兩個部分的環境進行監測從而進行調控[22-23],但是現有的投入實際應用的氨氮傳感器大多采用離子選擇電極測量離子氨濃度[24],并未對氨氮的組成進行區分,僅依靠離子氨濃度無法判斷水質情況,而且氨氮傳感器需要定期維護校正,否則會產生一定的測量誤差。
為滿足對魚菜共生環境參數的實時獲取、遠程調控、多元分析等需求,本文設計了以GPRS DTU(GPRS data transfer unit)模塊[25-26]為核心的魚菜共生環境監測系統,該系統獲取魚菜共生系統內的各項環境信息并且傳輸至云平臺顯示在PC端以及移動端,實現實時監測、遠程調控、數據存儲功能,并且通過多參數的變化趨勢分析水質情況。同時針對現有的氨氮傳感器長時間使用后存在測量誤差問題,利用該系統獲取的連續數據建立離子氨濃度的多元線性回歸模型,實現一定時間范圍內的離子氨濃度預測,為科學決策、提高生產效率提供數據支持。
基于GPRS的魚菜共生環境監測系統主要包含感知層、網絡層和應用層三層結構,整體結構框架設計如圖1所示。

圖1 系統的整體結構設計
感知層包括GPRS DTU模塊、環境信息獲取模塊、環境調控模塊。GPRS DTU模塊主要負責網絡的通訊與指令的中轉。環境信息獲取模塊通過布置水質傳感器、土壤傳感器、高清球機來獲取魚菜共生系統內各個區域的環境信息。環境調控模塊中的執行機構包括安裝在水循環系統中的電磁閥以及養殖區域的增氧泵,用于控制養殖水的循環、植物的灌溉以及水體的增氧。
網絡層為GPRS通信基站、運營商網絡以及云平臺服務器。云平臺服務器下發采集指令,通過GPRS通信基站傳輸至感知層進行執行。感知層采集到的環境信息將通過GPRS DTU轉發至附近的GPRS通信基站,最終存儲于云平臺服務器。
應用層即用戶端。依托云平臺設計并實現網頁、微信小程序等人機交互界面,在PC端及移動端實現環境監測、實時調控、視頻監控、數據存儲等功能。
2.1.1 網絡通訊部分
負責指令中轉與網絡通訊的核心設備GPRS DTU型號為USR-IO424T。USR-IO424T是一種物聯網無線數據終端,采用高性能的工業級的通信處理器和工業級無線模塊,利用公用運營商網絡GPRS網為用戶提供無線長距離數據傳輸功能。同時提供RS485接口,可直接連接串口設備,實現數據透明傳輸功能,采用直流12 V供電,具備4路開關量輸出,支持Socket連接遠程服務器,通過RS485級聯多個Modbus RTU設備。
設備通過支持GPRS服務的物聯網卡實現與遠程服務器之間的通信。設備通過串口連接PC端上位機離線配置云端服務器IP地址、TCP協議端口號以及RS485波特率。重新上電后注冊到移動的網絡,發送建立Socket的請求包給移動運營商,移動運營商把這個請求發送到因特網,云端的服務端軟件接收到請求后建立連接,并發送應答信息,Socket連接建立后完成雙向通信。
2.1.2 傳感器部分
本系統通過多個傳感器獲取了魚菜共生系統所處的空氣溫濕度、水產養殖區域的水質信息、蔬菜栽培區域的環境信息共11項環境參數。
在水產養殖部分,通過傳感器實時監測水溫、溶解氧、離子氨濃度、pH值、電導率5項水質指標。溶解氧傳感器采用熒光法測量[27],無需電解液,傳感器探頭不會極化且不會消耗養殖水中的氧,采用自動溫度補償,溶解氧測量范圍為0~20 mg/L,分辨率為0.01 mg/L。氨氮傳感器采用離子選擇電極,可以檢測出養殖水中的離子氨濃度,測量范圍為0~18 000 mg/L,分辨率為0.01 mg/L。在蔬菜種植部分,通過傳感器實時檢測種植區域溫度、濕度、電導率、pH值的變化,土壤傳感器均采用性能穩定的插針式土壤傳感器。
各傳感器具體型號如表1所示,各自的寄存器地址、寄存器數量以及數值類型有所區別,在數據采集前需分別配置相應的設備地址與波特率。

表1 傳感器的型號與設置Tab. 1 Sensor model and settings
2.1.3 高清球機部分
選用型號為CS-XP1的螢石球機用于魚菜共生系統內部視頻信息的獲取。該球機配有標準的RJ45接口以及4G底座,既可以通過網線接入網絡交換機,也可以通過4G底座自行接入云端。內置64 G內存卡,視頻數據可以上傳到云服務器,也可以存儲在本地,實現24 h的實時監控,方便管理。將球機接入云端后,用戶可以通過PC端和移動端實時察看整個系統的運行狀況。
2.1.4 執行機構部分
通過IO34-424T的4路開關量輸出控制小型電磁繼電器JZX-22F實現執行機構的開閉。一般情況下,保持執行機構所處的工作電路處于恒定的12 V或24 V工作電壓下,電磁繼電器處于常閉觸點下,繼電器二極管兩端與額定24 V直流電源串接在IO34-424T的DO、DCOM口,通過遠程控制IO34-424T的開關量輸出信號使二極管導通,繼電器吸附節點,從而使工作電路導通,執行機構兩端工作在額定電壓,執行機構啟動。將執行設備例如電磁閥、增氧泵并接到工作電源兩端,實現PC端或者移動端遠程控制設備的開閉。
2.2.1 傳感器通信協議
所有的傳感器采用Modbus RTU通信協議,默認波特率為9 600 bps,1個起始位,8個數據位,無校驗,1個停止位,并接在12 V的直流電源上統一進行供電。
Modbus RTU通信協議數據傳輸流程如圖2所示,云端通過無線網絡下發指令,經過Modbus TCP/RTU協議轉換,通過串口打包下發給各個傳感器;傳感器上報數據幀時,同樣經過Modbus TCP/RTU協議轉換,將數據幀上傳到服務器。

圖2 Modbus RTU通信協議數據傳輸流程
2.2.2 數據采集流程
圖3為環境數據采集流程圖。在傳感器接入系統之前,通過RS485轉USB的串口連接上位機軟件預先對其進行參數設置與校準。與云端建立通訊之后,定時下發讀取數據的指令幀,傳感器接收到指令幀后將寄存器內的實時數值上發到云端服務器,通過將所得十六進制數據值轉換成十進制的真實值后存儲至云端服務器。環境數據后續可以實時顯示并且對一定時間內的變化進行趨勢分析。

圖3 數據采集流程
本系統于2021年5月19日正式應用于南京農業大學魚菜共生平臺,截止到目前仍平穩運行。通過對設備長時間運行過程中的數據采集成功率進行分析測試,驗證其所獲得信息的連續性、有效性。
數據采集的過程中,一次完整的通信是從云端服務器向下端傳感器發送數據讀取指令,經過中間的網絡傳輸,GPRS DTU模塊的指令轉發,傳感器收到指令后向上應答,最終到達系統服務器的過程。云端服務器每5 min 向下發送數據讀取指令,在2021年7月1—28日期間,以7天為一個采集周期,通過云端定時下發采集指令,一個周期內應采集2 016組數據,實際采集數據量如表2所示,數據采集成功率平均約為99.53%。

表2 數據采集成功率Tab. 2 Data acquisition success rate
將采集的數據從云端的數據庫導出,通過繪制的折線圖探究一定時間內相關參數的變化趨勢。水溫、pH值、溶解氧、離子氨濃度變化分別如圖4~圖6所示,各項指標均在一定范圍內動態變化。其中pH值的變化區間在7.42~7.77之間,溶解氧的變化范圍在6.04~7.08 mg/L之間,根據《漁業水質標準》(GB 11607—1989)規定,漁業水質淡水pH值應在6.5~8.5,溶解氧在連續的24小時中應有16個小時以上大于5 mg/L,該兩項指標數值區間均在合理范圍內。

圖4 水溫

圖5 pH值

圖6 溶解氧濃度
非離子氨的濃度無法測量,需要根據非離子氨濃度百分比、離子氨濃度或氨氮濃度計算得出。非離子氨濃度百分比可以通過查表法或者采用公式直接計算非離子氨濃度[28-29]。
(1)
pKa=0.090 18+2 729.92/T
(2)
CTAN=CNH3+CNH4+
(3)
T=273+t
(4)
式中:CTAN——總氨氮濃度,mg/L;
CNH3——非離子氨濃度,mg/L;
CNH4+——離子氨濃度,mg/L;
pKa——酸離解常數;
T——開氏溫度,K;
t——水溫,℃。
通過同一時間的水溫、pH值與離子氨濃度(圖7)計算得出對應的非離子氨濃度,如圖8所示。非離子氨的濃度在0.008~0.014 mg/L的范圍內變化,滿足《漁業水質標準》中規定的0.02 mg/L,處于安全范圍內。將所得的離子氨濃度與非離子氨濃度相加得出總氨氮濃度如圖9所示。在長期的監測過程中發現在不同的pH、水溫條件下,非離子氨濃度的差別也會很大,pH越高,其濃度越高。由于養殖水體的pH、水溫一般保持在一定范圍內,非離子氨的濃度小于0.02 mg/L,對于總氨氮的濃度也可用離子氨濃度間接估算。

圖7 離子氨濃度

圖8 非離子氨濃度

圖9 總氨氮
本文依托有人云開發了圖10、圖11所示的移動端監控頁面與PC端監控頁面,實現了數據接收存儲、數據顯示、數據歷史查詢、遠程控制、視頻監控的功能。

圖10 移動端監控頁面

圖11 PC端監控頁面
在養殖水體中,離子氨和非離子氨兩者之間會相互轉化,其轉化速率受溶解氧、pH值、溫度等變量的影響[30],在一定程度上可以通過其他易獲取的變量建立離子氨的多元線性預測模型,對一定時間內的離子氨濃度進行間接監測,從而進行預警調控,保證養殖水體安全。
在進行正式采集之前,首先通過1 mg/L與10 mg/L的NH4NO3標準溶液對傳感器進行校準,標準溶液pH值為7,儲存在5 ℃條件下,此時非離子氨濃度可以忽略不計。在6月24日—7月2日采集了2 592組環境數據,劃分成1 h時間間隔的時間序列之后進行歸一化處理,通過對各個變量之間進行相關性分析,驗證擬合的可行性,選取最為相關的幾個變量,將前7天的數據作為訓練集通過多元線性回歸[31]的方法對離子氨濃度進行擬合并且將后2天的數據作為測試集驗證預測性能。
每個環境變量的量綱不同,在進行擬合之前將所有自變量環境參數進行歸一化處理。歸一化是一種簡化計算的方式,通過式(5)將有量綱的表達式,經過變換,化為無量綱的表達式,成為純量,歸一化之后所有數值的范圍在[0,1]之間。
(5)
式中:Xmax——環境參數的最大值;
Xmin——環境參數的最小值。
通過對所采集的數據集中的5個水質參數之間的相關性進行分析,計算不同變量與離子氨濃度之間的皮爾遜相關性,度量兩個變量的線性相關,選擇合適的自變量進行離子氨濃度的擬合。皮爾遜相關性計算公式如式(6)所示。
(6)
式中:n——樣本數量;
Xi——環境參數1的真實值;
Yi——環境參數2的真實值;


最終各個變量的相關性計算結果如表3所示,電導率、pH值與離子氨濃度具有較強的相關性,溶解氧濃度與離子氨濃度具有一定的相關性,水溫與離子氨濃度的相關性較弱。

表3 變量相關性Tab. 3 Variable correlation
通過式(7)計算不同自變量組合建立的多元線性回歸模型的確定系數R2。R2是回歸直線對觀測值的擬合程度,R2最大值為1。R2的值越接近1,說明回歸直線對觀測值的擬合程度越好;反之,R2的值越小,說明回歸直線對觀測值的擬合程度越差。R2衡量的是回歸方程整體的擬合度,是表達因變量與所有自變量之間的總體關系。
(7)
式中:fi——離子氨濃度預測值,mg/L;
yi——離子氨濃度測量值,mg/L;

由表4可知,單變量情況下選擇pH值、電導率建立的模型確定系數R2分別為0.472、0.781;選擇電導率、pH值共同建立的模型的確定系數有了一定的提升,確定系數R2為0.817;在考慮溶解氧、溫度等變量進行多元線性回歸后,得到的模型的確定系數提升不大。因此,考慮選取的自變量個數與擬合結果,電導率、pH值建立的多元線性回歸模型最佳,最終得到線性回歸模型系數如表5所示。

表4 不同模型下的確定系數Tab. 4 Determination coefficient under different models

表5 回歸模型系數Tab. 5 Regression model coefficient
設歸一化之后的電導率為x1,pH值為x2,離子氨濃度為y。則多元線性回歸模型方程可表示為
y=0.016x1-0.070x2+0.509
該模型的R2=0.817,通過測試集代入回歸方程中計算離子氨濃度48 h內的預測值如圖12所示,根據式(8)所得的平均絕對百分比誤差MAPE為4.68%,表明預測效果良好,可以看出環境中的電導率、pH值與離子氨濃度的變化有較大的相關性。
(8)

圖12 預測值與真實值的比較
1) 本文基于GPRS無線網絡研發了魚菜共生多參數環境監測系統。系統實現了對魚菜共生系統的環境信息獲取以及對執行機構的遠程控制,并且通過云平臺實現數據接收存儲、數據顯示、數據歷史查詢、遠程控制等功能。通過長期監測,對魚菜共生系統內的環境數據采集成功率約為99.53%,可以實現對系統環境參數變化趨勢的分析研究,為魚菜共生系統的環境調控策略提供數據支持,通過多種數據的獲取可以及時分析養殖水體的氨氮組成情況進而判斷水質安全。
2) 對于目前水質監測中使用的氨氮傳感器在長時間的使用之后產生一定的測量誤差問題,分析各個變量之間的相關性,通過多元線性回歸的方法,建立了離子氨濃度的預測模型,確定系數R2為0.817,預測值與真實值平均絕對百分比誤差MAPE為4.68%,在短期內實現了較好的預測性能,為離子氨濃度的間接監測提供支持。
3) 本文設計的環境監測系統可以實現對魚菜共生系統環境的實時、長期監測,為系統提出智能化、科學化的決策提供數據支撐,對實現環境的最優控制,促進魚菜共生系統性能的提升具有重要意義。