葉金霖,邱美艷
(天津中德應用技術大學,天津,300350)
近年來隨著傳統養殖業的發展,越來越多的國家將養殖業規劃為重要的生產份額占比。由于傳統農業技術的不足,人們對魚塘的溫度、水質等缺乏一定了解,使得人們在水產養殖等方面遇到很多困難。目前,在現代工廠化養殖中,常常采用人工測量的方式對這些參數指標進行測量,然而,在應對規模化養殖時,往往是力不從心,不僅耗時費力,而且檢測效果也難以達到要求。基于NI ELVIS III的魚塘水質監測系統采用水質類傳感器采集魚塘中各物質含量數據,NIELVISIII接受傳感器發來的數據,并將數據進行處理,之后上傳到服務器,最后發布Web App將數據實時顯示出來。養殖人員可以通過網頁客戶端遠程查看魚塘水質的當前情況,并且系統采用紅外人感傳感器和攝像頭對設備周邊環境進行監視,當紅外人感傳感器感應到有人靠近,會向NIELVISIII發送信號,NIELVISIII接收到有人靠近的信號后向攝像頭發送拍照指令,并將拍攝的照片上傳到上位機的指定文件夾中,實現人員報備,防止人為破壞或惡意捕撈,最終實現魚塘水質的監測,將數據化分析帶入養殖業。
魚塘水質監測系統設計方案如圖1所示,系統主要包括主控制器、水質類傳感器、紅外人感傳感器、攝像頭、服務器及Web App等。
本系統以NIELVISIII作為主控制器,用于接受來自水質類傳感器和紅外人感傳感器信號,并對采集的數據進行運算,運算結果通過TCP/IP協議上傳到服務器,然后上位機發布WepApp將水質參數顯示出來,同時當紅外人感傳感器感受到有人靠近時,會向NIELVISIII發送信號,NIELVISIII接收到有人靠近的信號后,控制攝像頭拍攝照片,同時將拍攝的照片上傳到上位機的指定文件夾中,完成拍照報備。
基于NIELVISIII的魚塘水質監測系統硬件電路設計如圖2所示,主要包括主控制器電路設計、水質采集電路設計和人感拍照電路等。

圖2 硬件電路設計圖
主控制電路以NIELVISIII作為主控制器,采集水質類傳感器發送來的模擬信號和人感傳感器發送來的數字信號,同時負責信號的轉換與發送和攝像頭的控制;水質采集電路主要由3個pH傳感器、3個TDS傳感器和3個濁度傳感器組成,傳感器均勻分布在池塘中的不同位置,將水質信息轉換成模擬信號發送給主控制電路;人感拍照電路主要由紅外人感傳感器和攝像頭組成。
主控制電路以NIELVISIII為核心,用于接受水質類傳感器和紅外人感傳感器信號。NIELVISIII采用ARM+FPGA架構,提供充分的計算能力,用于支撐邊緣計算端的執行,通過對嵌入式系統編程及FPGA編程實現具體的運算及程序和算法的部署;其外圍提供了豐富的IO,包括模擬輸入輸出和數字輸入輸出,用于實現對現場傳感器設備信號采集和控制信號輸出;并且NIELVISIII具有豐富的互聯接口:包括WIFI、千兆以太網、USB等,用于平臺的對外連接、數據傳輸及控制。本系統主要用到的外設包括模擬輸入接口、數字輸入接口、WIFI等。
本系統采用的三類傳感器采集的數據均以模擬信號的形式向主控制器發送信息;采用pH傳感器來監測水質的酸堿值,經過數據擬合得到pH和模擬輸出電壓的對應關系為y= ? 5.641x+23.92;采用TDS傳感器采集廢水中溶解性固體總量,經過數據擬合得到TDS和模擬輸出電壓對應關系為y=66.71x3?127.93x2+428.7x;采用TSW-30濁度傳感器采集廢水濁度,經過數據擬合得到濁度和模擬輸出電壓的對應關系為y=? 8 65.68x+3291.3。
人感拍照電路由人體感應傳感器和攝像頭組成,攝像頭用來監視設備周邊環境,人體感應傳感器用來檢測設備周圍是否有人,如果有人靠近,NIELVISIII會接收到有人靠近信號,并控制攝像頭進行畫面拍照,然后上傳到上位機的指定文件夾中,實現人員報備。其中人體感應傳感器采用JL-286型分體式人體感應傳感器,該傳感器靈敏度高,可靠性強,適合應用于各類自動感應電器設備;攝像頭采用USB攝像頭。
本系統的軟件設計采用LabVIEW和LabVIEWNXG進行編寫,采用LabVIEW在NIELVISIII中編寫數據采集程序、數據處理程序和數據傳輸程序,采用LabVIEWNXG在上位機中編寫數據接收程序、人感拍照報備程序和Web App程序。系統總程序設計流程圖如圖3所示。

圖3 總程序設計流程圖
系統啟動后進行初始化,然后分別采集pH傳感器、TDS傳感器、濁度傳感器的模擬信號和紅外人體感應傳感器的數字信號,系統將采集到的模擬信號在NI ELVIS III內部進行運算,將pH傳感器的模擬信號通過公式y=? 5.641x+23.92轉換成pH,將TDS傳感器的模擬信號通過公式y= 66.71x3?127.93x2+428.7x轉換成TDS,將濁度傳感器的模擬信號通過公式y=? 8 65.68x+3291.3轉換成濁度值,然后將轉換后的pH、TDS和濁度值打包成字符串,通過TCP/IP協議上傳到上位機,上位機接受到數據后,通過分割字符串的方式將數據讀取出來進行顯示,最后發布Web App,進而養殖戶可以連接Web服務器進行魚塘水質參數的遠程監測。同時當有人靠近時,NIELVISIII采集到紅外人體感應傳感器高電平信號,然后向攝像頭發送拍照指令,并將拍攝的照片上傳到上位機的指定文件夾下以完成人員報備。
下位機程序采用LabVIEW進行編寫,首先,打開所有傳感器所連接的模擬通道引腳,將其設置為模擬電壓輸入,通過數學函數控件構建轉換公式,將模擬電壓輸入值轉換成物質含量,然后將轉換后的數值轉換成字符串形式,將所有字符串截取適當長度并連接在一起組成一個字符串,最后通過TCP/IP協議將字符串發送給上位機。
上位機程序設計采用LabVIEW NXG進行編寫,首先,打開TCP連接,讀取下位機發送來的字符串,將字符串以對應的偏移量進行截取,然后通過顯示控件將數據進行顯示,同時讀取到有人靠近的指令后,控制攝像頭拍攝照片,然后設置指定存儲路徑,進行人員報備,最后創建WebApp,實現多個客戶端的監測。
本系統采用Web應用程序實現多個客戶端的監測,經過功能測試,遠程客戶端可以滿足魚塘水質監測系統的實時性、準確性的要求。每隔1h對魚塘水質進行一次測量,測試數據如表1所示。

表1 測試數據
同時系統可在上位機的指定文件夾下查看到周圍人員照片,實現了人員報備功能。
本文開發了一種基于NIELVISIII的魚塘水質監測系統,通過本系統養殖人員可對魚塘中pH、TDS、濁度等水質參數進行遠程實時監測,同時可查看魚塘附近人員照片,防止人為破壞或惡意捕撈,實現了魚塘水質監測的實時性和準確性,系統將數據化分析帶入水產養殖業,方便養殖人員制定合理的養殖方案,提高魚類存活率,進而提高養殖戶的利潤。