王宇軒 韓彬彬 郝張紅 李坤堯
(天津天獅學(xué)院信息科學(xué)與工程學(xué)院,天津 301700)
湖泊和水庫水是我國城市居民生活用水的主要來源之一,然而隨著工業(yè)的迅速發(fā)展,很多沒能有效處理的工業(yè)廢水和生活污水都會被直接或間接的排放到河流湖泊當(dāng)中,加劇了水質(zhì)的污染,給人們的日常生活以及生產(chǎn)帶來了十分嚴(yán)重的危害,如何解決水質(zhì)污染的問題,已成為了我國可持續(xù)發(fā)展和和科學(xué)戰(zhàn)略發(fā)展的重要課題之一。當(dāng)前有不少的水質(zhì)監(jiān)測的方式,但大都離不開人力,過程復(fù)雜,成本高,周期長,往往都需要人工采樣或人工采集數(shù)據(jù),不能實時查看,十分不便。因此設(shè)計了一款使用便捷的遠(yuǎn)程水質(zhì)實時監(jiān)測系統(tǒng),下位機實時采集數(shù)據(jù),上位機實時顯示并儲存數(shù)據(jù),克服了周期長、成本高、耗費人力物力等問題。
本系統(tǒng)主要實現(xiàn)遠(yuǎn)程實時監(jiān)測水質(zhì)的變化以及判斷水質(zhì)是否污染。本系統(tǒng)包含主控模塊、水質(zhì)檢測模塊、取樣及采樣模塊、無線傳輸模塊、太陽能供電模塊以及上位機部分等。主控模塊負(fù)責(zé)控制下位機各個模塊的運行,水質(zhì)檢測模塊負(fù)責(zé)檢測被測水樣的水質(zhì)信息,取樣及采樣模塊負(fù)責(zé)采集水樣,無線傳輸模塊負(fù)責(zé)將水質(zhì)信息傳輸?shù)缴衔粰C,上位機部分負(fù)責(zé)收集信息并實時顯示。系統(tǒng)框圖如1所示。
本系統(tǒng)主要滿足了用戶遠(yuǎn)程實時監(jiān)測水質(zhì)變化的需求。本設(shè)計的主控芯片選擇的是AT mega2560芯片,用戶可以通過訪問域名直接實現(xiàn)對下位機所在位置水質(zhì)情況的實時監(jiān)控。下位機可按照指定的時間間隔自動檢測水質(zhì)并自動將水質(zhì)參數(shù)發(fā)送到上位機,最后用戶可通過域名登錄系統(tǒng)實時查看水質(zhì)信息,這種監(jiān)測形式減少了對人力和物力的需求。
其下位機硬件部分主要由主控模塊、水樣采集模塊、無線傳輸模塊、水質(zhì)檢測模塊、太陽能供電模塊等電路模塊組成。主控模塊是下位機的核心,負(fù)責(zé)檢測時間間隔控制、信號轉(zhuǎn)換與計算以及協(xié)調(diào)其余模塊;水樣采集模塊負(fù)責(zé)在水質(zhì)檢測前抽取水樣,水質(zhì)檢測后排出水樣或保存污染水樣;水質(zhì)檢測模塊負(fù)責(zé)抽取水樣完成后檢測水樣并將檢測到的水質(zhì)信息傳回主控模塊;無線傳輸模塊負(fù)責(zé)將水質(zhì)信息發(fā)送給上位機,并在污染后短信報警。下位機硬件設(shè)計的總框圖,如圖2所示。
圖1 系統(tǒng)框圖Fig.1 System block diagram
圖2 下位機硬件設(shè)計總框圖Fig.2 General block diagram of lower computer hardware design
Arduino mega2560是一款性能強悍,功耗極低的基于Microchip 8位AVR RISC的微控制器。該器件在16MHz時可達到16MIPS的數(shù)據(jù)吞吐量,工作電壓在4.5V~5.5V之間。
水質(zhì)檢測模塊主要由溫度傳感器(三極管封裝和防水封裝,分別用來測環(huán)境溫度和水溫)、PH傳感器、濁度傳感器、電導(dǎo)率(TDS)傳感器、顏色傳感器組成。當(dāng)幾個傳感器檢測后會將結(jié)果分別通過數(shù)字引腳或模擬引腳傳遞給Arduino mega2560開發(fā)板進行后續(xù)處理。
(1)溫度傳感器。DS18B20是一款數(shù)字溫度傳感器,它輸出的是數(shù)字信號,體積小,成本低,接線簡單,使用方便,抗干擾能力強,檢測精度高且封裝形式豐富。其內(nèi)部有4個主要的數(shù)據(jù)部件:光刻ROM中的64位序列號、內(nèi)部存儲器、配置寄存器以及溫度傳感器。其工作電壓為3.3V到5V。(2)PH傳感器。PH值是判斷水質(zhì)是否發(fā)生污染的一個重要參數(shù)。然而工業(yè)級的PH傳感器的價格都十分的昂貴;市面上的PH測試筆是成熟產(chǎn)品,無法進行二次設(shè)計開發(fā);而PH復(fù)合電極傳感器模塊價格低廉、使用方便、測量精度高、可直接輸出0~5V或0~3V模擬電壓信號。(3)濁度傳感器。濁度傳感器是通過檢測出被測液體的散射率和透光率來得到被測液體濁度值的。傳感器的內(nèi)部有一組紅外線對管,當(dāng)紅外線穿過被測液體時,光線在被測液體傳播過程當(dāng)中會隨液體濁度的不同而產(chǎn)生不同程度的損耗,被測液體越渾濁,透過的光就越少。模塊會根據(jù)紅外線接收端接收到的光線強度將其轉(zhuǎn)換為電流,且輸出電流大小與光強大小成正比關(guān)系,之后模塊的轉(zhuǎn)換電路再的電流轉(zhuǎn)換為對應(yīng)電壓信號輸出。該模塊的工作電壓為5V,最大的工作電流為40mA。它可輸出數(shù)字信號和模擬信號。(4)電導(dǎo)率傳感器。TDS(Total Dissolved Solids),也被稱作溶解性固體總量,它可以反映出被測液體當(dāng)中溶解性固體的多少。且在實際的水質(zhì)檢測當(dāng)中各個離子的濃度才是水質(zhì)檢測的重要參數(shù)之一,但各離子濃度的檢測儀器造價都十分高昂,且不能進行二次開發(fā),違背了本系統(tǒng)的設(shè)計初衷。而TDS也可一定程度上反映離子濃度高低,且本系統(tǒng)主要是為了監(jiān)測水質(zhì)情況,因此將TDS值定為本系統(tǒng)水質(zhì)檢測的參數(shù)之一。此傳感器采用3.3~5.5V的電壓供電,輸出0~2.3V的模擬信號,能夠兼容5V、3.3V的控制系統(tǒng)。測量用的激勵源采用的是交流信號,可以有效地增加其輸出信號的穩(wěn)定性。(5)顏色傳感器。TCS3200顏色傳感器的輸出信號為50%占空比的方波信號,它的頻率與光強成正比。輸出頻率可以通過兩個控制輸入引腳按三個預(yù)置值之一進行縮放。在TCS3200中有一個8x8的光電二極管陣列,其中16個有藍色的濾光片,16個有綠色的濾光片,16個有紅色的濾光片,16個沒有濾光片。
水樣采集模塊由六路繼電器和水泵組成。繼電器主要用于單片機控制水泵和電磁閥的開關(guān),以實現(xiàn)抽取水樣、排出水樣、保存樣本等。一個水泵用來抽取水樣,另一個水泵配合多個電磁閥來實現(xiàn)排出水樣或保存水樣。
UNV-SIM868模塊是一款GSM開發(fā)板,高集成度的工業(yè)級GSM/GPRS/GPS/藍牙模塊。UNVSIM868板載SIM868模塊,該模塊是在實現(xiàn)完整的四頻段GSM/GPRS技術(shù)的基礎(chǔ)上,集成了GPS和藍牙技術(shù)。可以低功耗實現(xiàn)語音、短信、GPRS數(shù)據(jù)傳輸、藍牙數(shù)據(jù)傳輸和GPS定位。UNV-SIM868模塊電源采用DCDC電源模塊供電,優(yōu)化的布局,可靠的濾波,使電源穩(wěn)定,效率高,紋波小,支持USB直接供電。同時帶電源使能引腳,可以控制模塊電源,這點是極其有用的。GSM串口和GPS串口都設(shè)計了電平轉(zhuǎn)換電路,兼容3~5V的TTL串口。SIM卡采用目前主流的MICRO卡座,質(zhì)量更堅固,也不用因為小卡而煩惱,同時添加ESD靜電保護電路。GSM、GPS、藍牙天線都進行了阻抗控制,測試GSM信號強度遠(yuǎn)強于同類產(chǎn)品。
本系統(tǒng)所有功能代碼都寫在了一個ino文件里,以定義函數(shù)的方式對各個模塊的功能分別進行具體編輯。包含對各個模塊的引腳定義、setup函數(shù)(初始化函數(shù))、loop函數(shù)(和while循環(huán)類似,會反復(fù)執(zhí)行里面的代碼,return也無法結(jié)束,是Arduino程序的主函數(shù))、水溫傳感器函數(shù)、室溫傳感器函數(shù)、電導(dǎo)率調(diào)用函數(shù)、濁度傳感器函數(shù)、PH傳感器調(diào)用函數(shù)、顏色傳感器函數(shù)、GSM水質(zhì)信息發(fā)送函數(shù)等。該程序可以通過調(diào)用內(nèi)置millis計時函數(shù)來控制水質(zhì)檢測的時間間隔,控制調(diào)用各個傳感器來檢測水質(zhì),對數(shù)據(jù)處理之后進行污染判斷,根據(jù)結(jié)果判斷是否需要發(fā)送報警短信,將結(jié)果發(fā)送到上位機服務(wù)器。遠(yuǎn)程水質(zhì)監(jiān)測系統(tǒng)水質(zhì)檢測的時間間隔為1小時。下位機程序的總流程圖如圖3所示。
圖3 系統(tǒng)主程序流程圖Fig.3 System main program flow chart
IDEA(IntelliJ IDEA)是一款Java開發(fā)的集成環(huán)境。它和Eclipse被公認(rèn)為是最好用的Java開發(fā)工具。其最突出的功能就是對Java源碼,JavaScript,JQuery以及Ajax等技術(shù)的調(diào)試。Tomcat是一個免費開源的輕量級Web應(yīng)用服務(wù)器,一般應(yīng)用于中小型系統(tǒng)或著并發(fā)訪問量比較低的場合當(dāng)中,是開發(fā)和調(diào)試JSP程序的首選。Tomcat實際上是Apache的擴展分支,但它是作為一個獨立的進程單獨運行的。MySQL數(shù)據(jù)庫是最流行的關(guān)系型數(shù)據(jù)庫之一,在Web應(yīng)用方面,MySQL數(shù)據(jù)庫是最好的關(guān)系數(shù)據(jù)庫管理系統(tǒng)應(yīng)用軟件之一。關(guān)系數(shù)據(jù)庫會把數(shù)據(jù)保存在不同的表當(dāng)中可以有效地增加程序訪問的速度并提高了系統(tǒng)的靈活性。
本系統(tǒng)是一個典型的三層應(yīng)用,用戶通過瀏覽器訪問前端界面,瀏覽器將需求提交給服務(wù)器端,再由服務(wù)器與數(shù)據(jù)庫進行交互。上位機系統(tǒng)結(jié)構(gòu)如圖4所示。
圖4 上位機系統(tǒng)結(jié)構(gòu)Fig.4 Upper computer system structure
本系統(tǒng)是遠(yuǎn)程水質(zhì)監(jiān)測系統(tǒng)的上位機系統(tǒng),主要面向使用遠(yuǎn)程水質(zhì)監(jiān)測系統(tǒng)下位機設(shè)備的用戶,通過該系統(tǒng)讓用戶實現(xiàn)對下位機水質(zhì)信息及水質(zhì)變化趨勢的實時監(jiān)測。傳統(tǒng)的水質(zhì)監(jiān)測系統(tǒng)上位機多采用桌面客戶端的形式,跨平臺性差,需要安裝軟件方可進行查看,不能做到真正的實時監(jiān)測,而本系統(tǒng)采用的是WEB應(yīng)用,對使用環(huán)境沒有要求,無需安裝指定軟件,在能訪問互聯(lián)網(wǎng)的情況下使用任意瀏覽器均可正常訪問上位機系統(tǒng)。為了方便對下位機進行管理,增加系統(tǒng)的安全性和實用性,用戶需使用賬號密碼進行登陸,一賬戶綁定多設(shè)備,一設(shè)備對應(yīng)一賬戶。
系統(tǒng)實現(xiàn)的主要功能有:(1)用戶登陸:用戶只有在登陸賬戶之后才能進行其他的操作。(2)水質(zhì)信息導(dǎo)出:將當(dāng)前賬戶下所有設(shè)備的歷史水質(zhì)信息導(dǎo)出為Excel表格。(3)查看折線圖:查看當(dāng)前賬戶下所有設(shè)備或指定設(shè)備的水質(zhì)變化折線圖。(4)詢水質(zhì)信息:查看當(dāng)前賬戶下所有設(shè)備或指定設(shè)備的所有水質(zhì)信息。(5)報警記錄:查看當(dāng)前賬戶下所有設(shè)備或指定設(shè)備的所有報警記錄。(6)綁定新設(shè)備:將一臺新的設(shè)備綁定到當(dāng)前賬戶下。
用戶登陸界面是該系統(tǒng)的默認(rèn)界面,用戶可通過賬號密碼登陸湖泊水質(zhì)智能監(jiān)測系統(tǒng),只有在登陸賬戶之后才能進行其他的操作,如圖5所示。
圖5 用戶登錄界面Fig.5 User login interface
系統(tǒng)主界面是用戶登陸之后所看到的界面,可以進行導(dǎo)出EXCEL表格、查看折線圖、查詢水質(zhì)信息、查看報警記錄、綁定新設(shè)備等一系列的操作。主界面主要是由幾個導(dǎo)航的<a>標(biāo)簽組成,其中報警記錄如圖6所示。
圖6 報警記錄Fig.6 Alarm record
本設(shè)計可以通過域名訪問湖泊水質(zhì)智能監(jiān)測系統(tǒng)對下位機的水質(zhì)參數(shù)進行實時的監(jiān)測,包括溫度、濁度、電導(dǎo)率、PH值、顏色等,當(dāng)下位機監(jiān)測到水質(zhì)污染時會向用戶的指定手機號發(fā)送短信并自動保存污染的水樣。