翁 正,陳 明,池 濤,劉亞蕊
(1上海海洋大學(xué)信息學(xué)院,上海 201306;2 農(nóng)業(yè)農(nóng)村部漁業(yè)信息重點(diǎn)實(shí)驗(yàn)室,上海 201306)
2019年全國(guó)水產(chǎn)養(yǎng)殖產(chǎn)值共達(dá)9 761.89億元[1],水產(chǎn)品總產(chǎn)量逐年上升。加強(qiáng)水產(chǎn)養(yǎng)殖的信息化建設(shè),建立水產(chǎn)養(yǎng)殖監(jiān)測(cè)、預(yù)警和管理的綜合體系顯得十分重要[2-3]。水質(zhì)的安全關(guān)乎水產(chǎn)養(yǎng)殖的產(chǎn)量和質(zhì)量[4]。在養(yǎng)殖過(guò)程中,對(duì)水質(zhì)實(shí)現(xiàn)動(dòng)態(tài)的監(jiān)測(cè)和預(yù)警[5],能提升養(yǎng)殖過(guò)程的穩(wěn)健性。傳統(tǒng)的水質(zhì)監(jiān)測(cè)系統(tǒng),存在系統(tǒng)精度低,系統(tǒng)控制延遲高,不能進(jìn)行預(yù)測(cè)和提前預(yù)警等不足。江先亮等[6]設(shè)計(jì)了基于自動(dòng)無(wú)人船的水產(chǎn)養(yǎng)殖水質(zhì)動(dòng)態(tài)監(jiān)測(cè)系統(tǒng),提升了監(jiān)測(cè)效率。Fang等[7]設(shè)計(jì)了具有較好性能的環(huán)境監(jiān)測(cè)系統(tǒng),降低了系統(tǒng)的延遲。劉雨青等[8]開發(fā)了基于物聯(lián)網(wǎng)3層體系架構(gòu)的螃蟹養(yǎng)殖基地監(jiān)控系統(tǒng),但這3項(xiàng)研究都不能預(yù)測(cè)數(shù)據(jù)和提前預(yù)警。Ren等[9]采用變分模式分解(VMD)方法對(duì)數(shù)據(jù)去噪,基于深度信念網(wǎng)絡(luò)實(shí)現(xiàn)溶氧含量的預(yù)測(cè)。Heddam等[10]使用最小二乘支持向量機(jī)、多元自適應(yīng)回歸樣條和M5模型樹成功估算溶氧的質(zhì)量濃度。溶氧是水質(zhì)的關(guān)鍵指標(biāo),通常是監(jiān)測(cè)和分析工作的主要目標(biāo)[11-12],其含量過(guò)低過(guò)高都會(huì)影響魚類的生長(zhǎng)發(fā)育[13]。
綜合以上研究的優(yōu)缺點(diǎn),提出了一種基于溶氧預(yù)測(cè)的低延遲水產(chǎn)養(yǎng)殖監(jiān)測(cè)系統(tǒng)。本系統(tǒng)中內(nèi)嵌了WT-LSTM溶氧預(yù)測(cè)模型,實(shí)現(xiàn)了對(duì)水產(chǎn)養(yǎng)殖水質(zhì)的實(shí)時(shí)監(jiān)測(cè)和溶氧的實(shí)時(shí)預(yù)測(cè),預(yù)測(cè)精度不亞于文獻(xiàn)[9-10]和當(dāng)前溶氧主流預(yù)測(cè)方法中的精度。
系統(tǒng)架構(gòu)包括數(shù)據(jù)采集模塊、傳輸模塊、控制模塊和應(yīng)用模塊??刂颇K主要由python上位機(jī)、MySQL和云服務(wù)組成,應(yīng)用模塊包括Web服務(wù)、App客戶端、用戶服務(wù)3部分[14],用戶可通過(guò)網(wǎng)頁(yè)客戶端查看實(shí)時(shí)水質(zhì)數(shù)據(jù)[15]。系統(tǒng)整體架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖Fig.1 System architecture diagram
數(shù)據(jù)采集模塊實(shí)現(xiàn)水質(zhì)數(shù)據(jù)采集和處理的功能,采樣周期為1 min。采集系統(tǒng)電路連接多種傳感器獲取模擬信號(hào),經(jīng)過(guò)MCU識(shí)別和計(jì)算后將結(jié)果值保存到本地寄存器。采集節(jié)點(diǎn)的MCU選用具有超低功耗、快速蘇醒、低電壓特點(diǎn)的MSP430F149作為控制芯片[16],MSP430F149芯片選用來(lái)自高頻時(shí)鐘源XT2(8 MHz)的MCLK信號(hào)作為時(shí)鐘源,時(shí)鐘周期為125 ns。采集節(jié)點(diǎn)的原理實(shí)物圖如圖2所示。
圖2 采集節(jié)點(diǎn)原理實(shí)物圖Fig.2 Schematic and physical diagram of acquisition node
傳感器電極端直接與水溶液接觸產(chǎn)生電勢(shì)差,信號(hào)通過(guò)緩沖和放大后送入模數(shù)轉(zhuǎn)換模塊,溫度補(bǔ)償信號(hào)同時(shí)送入該模塊。MCU對(duì)不同傳感器的信號(hào)進(jìn)行濾波處理,綜合溫補(bǔ)計(jì)算出結(jié)果值,保存到本地寄存器。系統(tǒng)通過(guò)SX1268 LoRa射頻芯片,與上位機(jī)進(jìn)行數(shù)據(jù)通信。系統(tǒng)中有PC-101品誠(chéng)pH、pt100溫度、博取儀器DOG-209FYA溶氧、任氏Jenco3020M電導(dǎo)率和LENSHER氨氮5種傳感器,性能如表1所示。
表1 傳感器性能Tab.1 Performance of sensors
采集終端連接SX1268 LoRa芯片,與上位機(jī)端的LoRa射頻終端實(shí)現(xiàn)無(wú)線傳輸,實(shí)現(xiàn)系統(tǒng)的邊緣組網(wǎng)。上位機(jī)作為主機(jī),發(fā)送查詢指令[17]給一臺(tái)或多臺(tái)從機(jī),與各個(gè)采集終端進(jìn)行點(diǎn)對(duì)點(diǎn)通信或廣播通信[18],采集終端作為從機(jī),接收信號(hào)后將寄存器中的數(shù)據(jù)返回給上位機(jī)。系統(tǒng)采用modbus協(xié)議RTU模式進(jìn)行通訊[19],4個(gè)采集設(shè)備的地址碼,按照01至04的順序編號(hào)。每個(gè)終端節(jié)點(diǎn)分別用2個(gè)寄存器存儲(chǔ)不同傳感器的數(shù)據(jù)。終端應(yīng)答指令中,傳感器數(shù)據(jù)占4個(gè)字節(jié),CRC16校驗(yàn)碼在最后兩個(gè)字節(jié)。
本研究中,基于SX1268射頻芯片,針對(duì)不同距離進(jìn)行了數(shù)據(jù)通信延遲測(cè)試。接收信號(hào)強(qiáng)度指示(RSSI)的計(jì)算如公式(1)所示。為確保通信延遲和RSSI的準(zhǔn)確性,數(shù)據(jù)通信進(jìn)行了多次記錄,結(jié)果取平均值,如公式(2)、(3)所示。
(1)
(2)
(3)
式中:r、ri為分別表示單次和第i次通信的RSSI,dBm;Rp為單包的信號(hào)強(qiáng)度,dBm;ti為第i次通信時(shí)間,s;tm為平均通信時(shí)間,s;Rm為平均通信的RSSI,dBm。
基于速率和有效通訊距離的考慮[20],本試驗(yàn)中,LoRa空中速率設(shè)定為2.4 kbps,分包包長(zhǎng)為32 B。傳輸方式為透明傳輸,通信頻率為433.125 MHz。按照不同的距離進(jìn)行分段測(cè)試,最長(zhǎng)通信距離為1 000 m[21],選取6種不同字節(jié)長(zhǎng)度的數(shù)據(jù)進(jìn)行雙向通信,通信延遲結(jié)果圖3所示。
圖3 LoRa通信延遲Fig.3 LoRa communication latency
丟包測(cè)試發(fā)現(xiàn),1 000 m距離的通信出現(xiàn)了丟包的情況,丟包率在1.2%左右。基于圖3、4發(fā)現(xiàn),數(shù)據(jù)通信延遲與距離和RSSI存在正向關(guān)聯(lián),地理環(huán)境對(duì)延遲也有一定的影響。1 000 m的通信距離上,地勢(shì)較開闊,使得延遲相對(duì)之前降低了,總體來(lái)看,單次通信延遲最低在1 s左右。該測(cè)試可為降低系統(tǒng)通信整體延遲提供參考。
圖4 LoRa的RSSIFig.4 The RSSI for LoRa
上位機(jī)與匯聚芯片通過(guò)RS232轉(zhuǎn)USB數(shù)據(jù)線相連,控制中心代碼基于python3編碼實(shí)現(xiàn),通過(guò)串口實(shí)現(xiàn)傳輸功能。上位機(jī)收到終端節(jié)點(diǎn)的數(shù)據(jù)后,識(shí)別數(shù)據(jù)地址碼,提取傳感器數(shù)據(jù)值,對(duì)CRC16校驗(yàn)碼進(jìn)行計(jì)算和對(duì)比,確認(rèn)CRC16無(wú)誤后,將數(shù)據(jù)保存本地?cái)?shù)據(jù)庫(kù)并上傳到云服務(wù)器。系統(tǒng)對(duì)數(shù)據(jù)中的溶氧進(jìn)行判斷,若出現(xiàn)異常,則開啟增氧機(jī)。上位機(jī)的主要功能有下發(fā)查詢指令、接收檢驗(yàn)應(yīng)答數(shù)據(jù)、計(jì)算CRC16校驗(yàn)碼、數(shù)據(jù)保存和上傳、數(shù)據(jù)預(yù)測(cè)與溶氧預(yù)警6大功能。其工作流程圖如圖5所示。
圖5 上位機(jī)工作流程Fig.5 Workflow of upper computer
應(yīng)用邊緣計(jì)算[22-23]的方法,將云服務(wù)器的計(jì)算和控制任務(wù)卸載到上位機(jī),來(lái)降低系統(tǒng)控制延遲。上位機(jī)系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)預(yù)測(cè)的功能,當(dāng)數(shù)據(jù)預(yù)測(cè)或采集數(shù)據(jù)中出現(xiàn)預(yù)警值時(shí),上位機(jī)及時(shí)向增氧機(jī)[24]發(fā)出增氧的指令,防范水中出現(xiàn)低氧的情況。上位機(jī)系統(tǒng)配置有預(yù)測(cè)進(jìn)程和數(shù)據(jù)收發(fā)進(jìn)程,兩個(gè)進(jìn)程并行計(jì)算。數(shù)據(jù)預(yù)測(cè)流程如圖6所示。
圖6 數(shù)據(jù)預(yù)測(cè)流程Fig.6 Data prediction process
系統(tǒng)通過(guò)線性插值或取平均值的方法,對(duì)異常數(shù)據(jù)進(jìn)行替換,再通過(guò)小波變換(WT)的分解和重構(gòu)消除噪聲[25]。對(duì)數(shù)據(jù)進(jìn)行歸一化處理并進(jìn)行訓(xùn)練,生成參數(shù)模型,對(duì)溶氧數(shù)據(jù)進(jìn)行預(yù)測(cè),保存到本地?cái)?shù)據(jù)庫(kù)并上傳云服務(wù)器。
長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)是一種遞歸神經(jīng)網(wǎng)絡(luò),使用時(shí)間反向傳播進(jìn)行訓(xùn)練,可以解決梯度消失的問(wèn)題。LSTM模型單元有遺忘門、輸入門和輸出門,來(lái)保護(hù)和控制單元狀態(tài)[26],如圖7所示。LSTM模型的關(guān)鍵是單元狀態(tài),即貫穿圖表頂部的水平線。每個(gè)單元就像一個(gè)微型狀態(tài)機(jī),單元三個(gè)門的權(quán)重在訓(xùn)練過(guò)程中學(xué)習(xí)得到。遺忘門是主要由σ層組成,σ層根據(jù)ht-1和xt的輸入,通過(guò)sigmoid激活函數(shù)計(jì)算信息的丟棄情況,生成一個(gè)0到1之間的結(jié)果ft,0表示全部丟棄,1表示全部保留。ft用于與Ct-1輸入矩陣做點(diǎn)乘運(yùn)算[27],如公式(4)所示。輸入門會(huì)生成新的信息存儲(chǔ)到單元狀態(tài)中,主要由σ層和tanh層決定,如公式(5),(6)所示。通過(guò)公式(7)的運(yùn)算,單元狀態(tài)從Ct-1更新為Ct。輸出門決定輸出的結(jié)果,由σ層、tanh層和更新后的單元狀態(tài)Ct共同決定,如公式8,9所示。
圖7 LSTM單元狀態(tài)圖Fig.7 LSTM cell state diagram
ft=σ(Wf·[ht-1,xt]+bf)
(4)
it=σ(Wi·[ht-1,xt]+bi)
(5)
(6)
(7)
ot=σ(Wo[ht-1,xt]+bo)
(8)
ht=ot*tanh(Ct)
(9)
溶氧預(yù)警是基于數(shù)據(jù)監(jiān)測(cè)和溶氧預(yù)測(cè)來(lái)完成。實(shí)時(shí)監(jiān)測(cè)的溶氧值或1 h內(nèi)的溶氧預(yù)測(cè)值,超出正常值范圍,系統(tǒng)啟動(dòng)溶氧預(yù)警機(jī)制,及時(shí)告知用戶,控制增氧機(jī)。當(dāng)溶氧值回歸正常范圍十分鐘后,系統(tǒng)確認(rèn)增氧機(jī)狀態(tài),關(guān)閉增氧機(jī)。
Web服務(wù)包括水質(zhì)數(shù)據(jù)監(jiān)測(cè)、數(shù)據(jù)庫(kù)管理、溶氧預(yù)警、增氧機(jī)控制和系統(tǒng)設(shè)置5個(gè)模塊。水質(zhì)數(shù)據(jù)監(jiān)測(cè)用于顯示01至04號(hào)監(jiān)測(cè)點(diǎn)的水質(zhì)狀態(tài)和溶氧預(yù)測(cè)數(shù)據(jù)。數(shù)據(jù)庫(kù)管理可查詢歷史水質(zhì)數(shù)據(jù),溶氧預(yù)警模塊監(jiān)測(cè)實(shí)時(shí)的溶氧值和溶氧預(yù)測(cè)值,智能化控制增氧機(jī)。增氧機(jī)控制模塊可直接打開或關(guān)閉增氧機(jī)。
本研究在上海海洋大學(xué)內(nèi)搭建監(jiān)測(cè)平臺(tái)進(jìn)行測(cè)試,共設(shè)置4個(gè)終端監(jiān)測(cè)節(jié)點(diǎn),一個(gè)匯聚節(jié)點(diǎn),4個(gè)節(jié)點(diǎn)與匯聚節(jié)點(diǎn)的距離分別為118、104、479、917 m,通信區(qū)域中間包括樹木和教學(xué)樓等建筑物,如圖8所示。
圖8 測(cè)試節(jié)點(diǎn)設(shè)置Fig.8 Test node setup
2021年3月13日15時(shí)21分,4個(gè)采集節(jié)點(diǎn)的數(shù)據(jù)如表2所示,經(jīng)過(guò)與測(cè)量的標(biāo)準(zhǔn)值比較,pH、溫度、溶氧、電導(dǎo)率和氨氮的相對(duì)誤差分別小于1.4%、0.7%、0.2%、12%、5%。本次試驗(yàn)中,4個(gè)節(jié)點(diǎn)分別采集了2021年3月9日至3月17日13 160個(gè)數(shù)據(jù),采用周期為1 min,01號(hào)節(jié)點(diǎn)溶氧的數(shù)據(jù)如圖9所示。
圖9 01號(hào)監(jiān)測(cè)點(diǎn)溶氧數(shù)據(jù)Fig.9 Dissolved oxygen data at No.01
表2 各監(jiān)測(cè)點(diǎn)平均相對(duì)誤差(MRE)Tab.2 Mean relative error (MRE) of each monitoring point
針對(duì)01號(hào)節(jié)點(diǎn)采集的13 160份數(shù)據(jù)中,將80%的采集數(shù)據(jù)分配到訓(xùn)練集,用于訓(xùn)練模型,20%的數(shù)據(jù)作為測(cè)試集,用于測(cè)試模型效果。LSTM網(wǎng)絡(luò)中,time_step長(zhǎng)度為80,每個(gè)數(shù)據(jù)包含pH、溫度、溶氧和氨氮4個(gè)參數(shù),輸入層輸入的樣本尺寸為80×4。由于電導(dǎo)率對(duì)溶氧預(yù)測(cè)基本無(wú)影響[28],經(jīng)過(guò)實(shí)際驗(yàn)證,本試驗(yàn)未考慮電導(dǎo)率。網(wǎng)絡(luò)中隱藏層神經(jīng)元個(gè)數(shù)1 000個(gè),輸出層以1 h的溶氧預(yù)測(cè)值作為輸出,輸出維度為60×1。LSTM模型是基于keras框架下的模型來(lái)構(gòu)建[29-30]。模型訓(xùn)練時(shí),迭代次數(shù)為50次,batch_size為100。生成LSTM模型參數(shù)后,用測(cè)試集的數(shù)據(jù)進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果能較好地顯示溶氧的變化過(guò)程,如圖10所示。
圖10 測(cè)試集預(yù)測(cè)結(jié)果Fig.10 Test set prediction results
LSTM方法對(duì)長(zhǎng)距離數(shù)據(jù)依賴關(guān)系具有較強(qiáng)的建模能力,與其他預(yù)測(cè)模型比較,具有記憶性,更適合處理時(shí)序數(shù)據(jù)。本試驗(yàn)中將監(jiān)測(cè)數(shù)據(jù)設(shè)置為經(jīng)過(guò)小波變換前后的2種數(shù)據(jù),基于LSTM、RNN和GRU 3種預(yù)測(cè)方法,產(chǎn)生6種預(yù)測(cè)結(jié)果。本研究選擇均方根誤差(RMSE)、納什系數(shù)(NSE)、平均絕對(duì)誤差(MAE)和相關(guān)系數(shù)(R2)對(duì)結(jié)果進(jìn)行評(píng)測(cè)分析[31],如表3所示,預(yù)測(cè)結(jié)果如圖11所示。
表3 模型性能對(duì)比分析Tab.3 Comparative analysis of model performance
從圖11可看出,對(duì)pH、溫度、溶氧和氨氮四種參數(shù)的數(shù)據(jù)經(jīng)過(guò)小波變換后,其中的噪聲被去除,監(jiān)測(cè)數(shù)據(jù)變得相對(duì)緩和,這更加符合實(shí)際情況。
圖11 溶氧預(yù)測(cè)對(duì)比Fig.11 Comparison of DO prediction
監(jiān)測(cè)數(shù)據(jù)去除噪聲后,對(duì)比預(yù)測(cè)結(jié)果可知,WT-LSTM模型相比LSTM模型的結(jié)果,RMSE降低了21.27%,NSE提高了0.3%,MAE降低了21.91%,R2升高了0.1%,預(yù)測(cè)性能得到全面提升。WT-GRU與GRU結(jié)果比較、WT-RNN與RNN結(jié)果比較,情況也與之類似。總體來(lái)看,經(jīng)過(guò)小波變換除噪后,采用LSTM進(jìn)行溶氧預(yù)測(cè)的結(jié)果,在RMSE、NSE、MAE、R24種評(píng)測(cè)系數(shù)上表現(xiàn)最佳,因此本研究采用該方法進(jìn)行數(shù)據(jù)處理與預(yù)測(cè),這一情況在圖11的預(yù)測(cè)結(jié)果中也可比較得出。溶氧的預(yù)測(cè)結(jié)果,能較好地解決增氧機(jī)控制滯后的問(wèn)題,這為現(xiàn)代化淡水漁業(yè)養(yǎng)殖提供了便利。
帶有溶氧預(yù)測(cè)、低延遲的淡水養(yǎng)殖監(jiān)測(cè)系統(tǒng)實(shí)現(xiàn)了對(duì)水質(zhì)的實(shí)時(shí)監(jiān)測(cè),pH、溫度、溶氧、電導(dǎo)率和氨氮監(jiān)測(cè)數(shù)據(jù)的相對(duì)誤差分別小于1.4%、0.7%、0.2%、12%、5%。采用小波變換對(duì)采集數(shù)據(jù)去噪后,利用LSTM預(yù)測(cè)模型能夠較為準(zhǔn)確地預(yù)測(cè)1 h內(nèi)的溶氧含量,預(yù)測(cè)結(jié)果的RMSE為0.074,NSE為0.993,MAE為0.057,R2為0.997?;谏衔粰C(jī)實(shí)現(xiàn)溶氧預(yù)測(cè)和控制任務(wù),降低了系統(tǒng)控制延遲。本研究實(shí)現(xiàn)了大面積養(yǎng)殖區(qū)域的多點(diǎn)實(shí)時(shí)監(jiān)測(cè)和溶氧數(shù)據(jù)的預(yù)測(cè),可提前做好溶氧預(yù)警防范工作,解決了增氧機(jī)控制滯后的問(wèn)題。由于訓(xùn)練數(shù)據(jù)集有限,當(dāng)氣溫短時(shí)間出現(xiàn)較大的變化或開啟增氧機(jī)后一段時(shí)間,系統(tǒng)溶氧預(yù)測(cè)的準(zhǔn)確度會(huì)下降。
□