易家興 徐宏 李軍 梅華 占成杰 盧東方
摘要:隨著互聯(lián)網(wǎng)技術和傳感器技術的飛速發(fā)展,將互聯(lián)網(wǎng)技術和傳感器應用于農(nóng)業(yè)的中越來越普遍,本文提出一套水產(chǎn)養(yǎng)殖監(jiān)測控制系統(tǒng)的設計方案,該方案是以Arduino開發(fā)板為核心,通過溫度、水渾濁度、水位、ph值等傳感器采集數(shù)據(jù),用戶可以通過web端進行監(jiān)控和控制。該系統(tǒng)設有自動發(fā)出警報,通過短信方式提醒用戶。系統(tǒng)運行結果表明,方案切實可行,具有一定的實用價值。
關鍵字:水產(chǎn)養(yǎng)殖,傳感器,Arduino,控制與警報
作者簡介:易家興,男,湖北黃岡人,本科在讀。研究方向:計算機科學與技術。
通訊作者:盧東方,男,湖北荊州人,碩士研究生。研究方向:計算機檢測、物聯(lián)網(wǎng)應用。
基金:長江大學工程技術學院2019年大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(S201913245010).
1、前言
傳統(tǒng)水產(chǎn)養(yǎng)殖業(yè)以犧牲自然環(huán)境資源和大量的物質消耗等粗放的飼養(yǎng)方式為主要特征,經(jīng)濟效益低而且污染水體環(huán)境。本文提出一套水產(chǎn)養(yǎng)殖監(jiān)測控制系統(tǒng)的設計方案,用來檢測養(yǎng)殖池中水的溫度、水渾濁度、水位、ph值等,通過智能控制換水器、加熱器、增氧器等設備來調節(jié)池水的相關因素,為魚類提供更好的生存環(huán)境,可以有效的節(jié)省人力物力,提高水產(chǎn)養(yǎng)殖的產(chǎn)量和質量。
2、系統(tǒng)功能設計
2.1、系統(tǒng)硬件設計
系統(tǒng)硬件由Arduino主控模塊、GPRS通信模塊、數(shù)據(jù)采集模塊、功能控制模塊等組成。其中GPRS通信模塊選用SIM800A;數(shù)據(jù)采集模塊包括溫度傳感器、ph傳感器、渾濁度傳感器、水位監(jiān)測器等,其中溫度傳感器采用DS18B20,ph傳感器采用成本低的模擬PH計;功能控制模塊由換水器、加熱器、增氧裝置等組成。系統(tǒng)設計框圖如圖1所示。
硬件各模塊功能介紹如下:
(1)主控模塊
采用Arduino NANO模塊作為主控模塊,通過引腳輸出高低電平的方式去控制其他模塊。Arduino模塊帶有一個微控制器,用戶可以將編寫的程序,編譯成二進制文件,燒錄進微控制器中。與電腦的USB接口相連,通過Arduino開發(fā)工具的串口監(jiān)視器來查看引腳的狀態(tài)。Arduino帶有多個模擬信號引腳和數(shù)字信號引腳,可以通過引腳連接傳感器和繼電器等多個模塊。
(2)數(shù)據(jù)采集模塊
采用了溫度傳感器、渾濁度傳感器、ph傳感器等傳感器。將DS18B20溫度傳感器的DQ引腳接至Arduino NANO控制器數(shù)字引腳D2,且并聯(lián)4kΩ的上拉電阻。將PH傳感器接模擬信號引腳,其他傳感器連接Arduino的數(shù)字信號引腳。當系統(tǒng)上電后,傳感器會自動將采集的16進制數(shù)據(jù)傳輸給Arduino模塊。
(3)通信模塊
使用SIM800A,通過與Arduino主控模塊上的TX,RX引腳相連,來實現(xiàn)數(shù)據(jù)傳輸。Arduino以報文的形式,將采集到的數(shù)據(jù)打包成JSON格式,然后傳輸給GPRS模塊,GPRS模塊把數(shù)據(jù)發(fā)送到服務器。客戶端的響應信息由GPRS模塊傳回給Arduino主控模塊。
(4)功能實現(xiàn)模塊
換水器、增氧器、加熱器等設備,使用繼電器作為設備的總開關,通過改變Arduino上相關引腳的高低電平去實現(xiàn)控制。每個引腳都設定一個指令,通過反饋的指令信息去改變相關引腳的電平,從而實現(xiàn)一對一的控制功能。
2.2、系統(tǒng)軟件設計
本系統(tǒng)軟件由后端程序與web前端組成,后端使用java語言開發(fā),使用spring boot框架和spring data jpa持久化工具。Web前端使用bootstrap框架。后端程序的dao層與和Service層實現(xiàn)數(shù)據(jù)的存儲和業(yè)務邏輯,由控制器Controller實現(xiàn)Web端和服務器之間的數(shù)據(jù)交互。在視圖渲染上采用了響應式開發(fā)技術,適用于手機端和PC端。用戶可以通過Web端查詢水池內部環(huán)境參數(shù),若環(huán)境參數(shù)出現(xiàn)異常,用戶可以通過Web端手動控制水池的換水器、增氧器、加熱器等設備來進行調節(jié),實現(xiàn)水產(chǎn)養(yǎng)殖的智能化和遠程管理。
由于硬件傳給后端程序的數(shù)據(jù)是以報文的形式,所以后端程序要對報文進行處理取出數(shù)據(jù),后端程序對數(shù)據(jù)的處理如下:
(1) 將讀取的數(shù)據(jù)轉換成十六進制的字符串。
(2) 然后對數(shù)據(jù)的包頭包尾進行校驗,比如包頭設置為“FE”,包尾設置為“E5”。
(3) 去掉數(shù)據(jù)包的包頭包尾。然后通過字符串進行截取數(shù)據(jù),每種數(shù)據(jù)之間通過“FF”進行隔開,依次提取數(shù)據(jù)。硬件傳送的數(shù)據(jù)的順序要與后端解析數(shù)據(jù)的順序要一致,不然會引起數(shù)據(jù)提取混亂。
(4) 判斷截取的數(shù)據(jù)是否合法,將合法的數(shù)據(jù)存入數(shù)據(jù)庫以備下次使用,不合法的數(shù)據(jù)丟棄。
(5) 上述包頭包尾校驗不成功,將數(shù)據(jù)包丟棄,然后重新獲取。
WEB端通過請求服務端獲取數(shù)據(jù),服務端通過WEB端發(fā)送的請求將數(shù)據(jù)發(fā)送給WEB端,WEB端與服務端的數(shù)據(jù)通過JSON格式傳送。
2.3、系統(tǒng)運行原理
本系統(tǒng)主要以Arduino為控制主板,通過連接溫度、渾濁度、光照強傳感器等其他設備來實現(xiàn)對水池環(huán)境參數(shù)的采集。Arduino通過連接SIM800A的GPRS遠程通信模塊,將數(shù)據(jù)傳送至服務器,再由后端程序將數(shù)據(jù)解析并保存在數(shù)據(jù)庫中。異常的數(shù)據(jù),后端程序將進行記錄,并自動發(fā)送短信到用戶手機中以此提醒用戶達到預警目的,用戶可以通過Web網(wǎng)頁來查看相關信息,并通過操作發(fā)送指令到服務器,服務器再將指令通過TCP通道傳輸給GPRS通信模塊。每條指令分別控制著一個繼電器,每個繼電器對應一種控制功能。
3、系統(tǒng)測試
首先,將程序在本地進行測試,測試通過之后將程序打包上傳到遠程服務器上進行測試,用戶模擬注冊登錄,再打開相應頁面,進行功能測試。為了方便用戶便于查看,將解析后的數(shù)據(jù)渲染成html頁面,以折線圖的形式展示給用戶,如下圖所示。(由于篇幅有限只給出溫度、PH折線圖)
4、結語
本文提出一套水產(chǎn)養(yǎng)殖監(jiān)測控制系統(tǒng)的設計方案,該系統(tǒng)由Arduino主控模塊、數(shù)據(jù)采集模塊、GPRS通信模塊、功能控制模塊構成,使用溫度傳感器、ph傳感器、光敏傳感器等實現(xiàn)水池中環(huán)境參數(shù)的采集,用戶可以通過Web端實現(xiàn)水產(chǎn)養(yǎng)殖的實時監(jiān)控和智能控制。
水產(chǎn)養(yǎng)殖的環(huán)境要求如下:
(1)溫度:18—35℃為正常溫度,25—32℃為最適宜生長溫度。
(2)PH值:6.5—8.5,低于6.5肥效不能正常發(fā)揮優(yōu)勢,氨氮、硫化氫等毒性增大,易缺氧浮頭。
(3)透明度:20—30cm,過高肥度不夠,過低影響光合作用。
(4)溶解氧:≥3mg/L,小于3mg/L會影響魚類的攝食,小于2mg/L時會出現(xiàn)浮頭,小于1mg/L會出現(xiàn)泛塘,直到大量死亡。
本系統(tǒng)通過傳感器獲得水池的環(huán)境數(shù)據(jù),從而監(jiān)控水產(chǎn)養(yǎng)殖的情況。硬件設備每次傳送數(shù)據(jù)時會將每個控件的開關狀態(tài)發(fā)送給服務端,服務端每次讀取數(shù)據(jù)的時候,會根據(jù)數(shù)據(jù)來判斷是否開啟了開關,開啟了那個開關。
當服務端獲得的溫度數(shù)據(jù)超出(低于)標準值時,服務端會發(fā)送降溫(升溫)指令給硬件模塊,打開降溫(升溫)開關,當服務端得到的溫度達標之后會發(fā)送關閉指令給硬件模塊,關閉溫降(升溫)開關。在這個過程中,該系統(tǒng)會通過發(fā)送短信的形式及時讓用戶知曉,從而達到預警的目的。當服務端讀取到其他的傳感器讀到數(shù)據(jù)超出標準值時,也會觸發(fā)相應的開關從而調節(jié)水池的環(huán)境。服務端獲得的水池的氧容量達到設定的標準值時,會自動關閉增氧器。當水產(chǎn)養(yǎng)殖的環(huán)境達到要求時,養(yǎng)殖的動植物就會更好的生存下來,產(chǎn)量也就上升了。
系統(tǒng)運行結果表明,方案切實可行,具有一定的實用價值。
參考文獻
[1] 《水產(chǎn)養(yǎng)殖對水質的要求》 https://zhidao.baidu.com/question/1372497336358881459.html
[2] 劉文藝.基于Arduino的溫度監(jiān)控系統(tǒng)設計[J].信息技術 ,2018,19(8)