楊信志 賀鵬飛 馮巍巍 李彥杰 夏蒙
摘要:傳統(tǒng)海洋水質監(jiān)測主要采用人工現(xiàn)場采樣和實驗室儀器分析方法,時效性不足。通過對基于Python的端口監(jiān)聽技術、數(shù)據(jù)分析算法和服務器搭建模式進行研究,應用云平臺及云計算技術,完成了數(shù)據(jù)通信和服務器端上位機系統(tǒng)的搭建,實測數(shù)據(jù)可以通過網(wǎng)頁獲取和分析,實現(xiàn)了海洋水質的在線實時監(jiān)測,對預防海洋水質污染具有積極作用。
關鍵詞:水質在線監(jiān)測;服務器搭建;云計算;上位機
中圖分類號:TP393文獻標志碼:A文章編號:1008-1739(2019)16-69-3
0引言
水是人類生活中的重要資源,對海洋、湖泊、水庫等水體進行合理開發(fā)利用可直接影響到人類社會的發(fā)展[1],因此,對水質進行監(jiān)測和調控是必不可少的。
當前我國海洋水環(huán)境監(jiān)測上位機普遍未建立在服務器端,無法聯(lián)網(wǎng)獲取數(shù)據(jù),存在操作復雜、測量周期長和測量步驟繁瑣等缺點[2]。同時現(xiàn)有的海洋水質監(jiān)測儀器采集參數(shù)多在下位機顯示,數(shù)據(jù)無法上傳至網(wǎng)絡服務器,無法實現(xiàn)通過手機APP或網(wǎng)頁查看測量參數(shù)和多地點實時監(jiān)測,智能化程度較低[3]。
針對上述問題,提出了一套基于云平臺的海洋水質在線監(jiān)測系統(tǒng)上位機設計方案。通過對海洋水質的各個重要指標進行檢測分析,設計了搭建在云平臺的服務器和后臺數(shù)據(jù)處理系統(tǒng),實現(xiàn)數(shù)據(jù)參量檢測、分析、處理、傳輸和預警,同時在網(wǎng)頁端實時獲取遠程監(jiān)測數(shù)據(jù),實現(xiàn)從網(wǎng)頁或手機APP上遠程檢測數(shù)據(jù)和控制測量開關,達到綜合治理海洋環(huán)境和防控海水污染的目的。
1系統(tǒng)整體結構
海洋水質在線監(jiān)測的整體系統(tǒng)框架如圖1所示。
下位機包括傳感器及控制模組和通信模塊,本文采用的下位機是中科院海岸帶研究所設計的海水水質在線檢測系統(tǒng),如圖2所示。
上位機包括端口監(jiān)聽數(shù)據(jù)模塊、數(shù)據(jù)庫模塊、服務器模塊、網(wǎng)頁模塊、數(shù)據(jù)分析模塊和預測模型模塊,移動通信模塊為上位機和下位機之間提供數(shù)據(jù)傳輸?shù)逆溌贰?/p>
2海洋水質在線檢測上位機系統(tǒng)方案
2.1系統(tǒng)上位機軟件實現(xiàn)
系統(tǒng)上位機部署在服務器端,使用云服務器,數(shù)據(jù)儲存更加安全,沒有斷電丟失數(shù)據(jù)的風險[4],當服務器運行出現(xiàn)問題時,可以進行遠程調試或重啟。服務器端上位機主要由端口監(jiān)聽設計、數(shù)據(jù)格式設計和網(wǎng)頁前端設計三部分構成。
端口監(jiān)聽的主要功能是開啟本地服務器的一個端口,并將該端口上接收到的數(shù)據(jù)顯示出來。利用Python中的threading庫創(chuàng)建監(jiān)聽線程和socket庫進行套接字的查詢,從而實現(xiàn)對數(shù)據(jù)的顯示[5]。其中程序中reader類主要用于顯示端口接收到的數(shù)據(jù)。
數(shù)據(jù)格式化是通過運行監(jiān)聽端口的數(shù)據(jù)格式化程序來實現(xiàn)。下位機每次上傳一組傳感器采集的數(shù)據(jù)包括溫度、pH值、溶解氧、濁度、油量、電導、化學需氧量和硝酸根濃度。每次上位機端口接收到一組數(shù)據(jù)后,將這些數(shù)據(jù)進行正則匹配后,加上時間戳,并按順序存儲在數(shù)據(jù)庫中,即可實現(xiàn)數(shù)據(jù)監(jiān)聽和格式化寫入。
網(wǎng)頁前端實現(xiàn)的主要功能是實時顯示測量的各個參量值,并且畫出歷史數(shù)據(jù)的變化曲線,反應各個參量的變化趨勢。為實現(xiàn)此基本功能,網(wǎng)頁前端選擇了實用的圖表插件Highchart.js作為核心程序[6]。Highchart.js實現(xiàn)了網(wǎng)頁端的動態(tài)交互性,支持動態(tài)增加、修改、刪除數(shù)據(jù)列、數(shù)據(jù)點和坐標軸操作等多種交互操作。
2.2系統(tǒng)上位機在阿里云上的部署
上位機在阿里云上的部署主要分為3個步驟:創(chuàng)建云服務器、部署Python環(huán)境和部署Apache。
2.2.1在阿里云平臺創(chuàng)建服務器
云服務器的基礎配置主要是選擇CPU、內存等虛擬硬件和系統(tǒng)環(huán)境[7]??紤]到實驗測試階段數(shù)據(jù)處理要求不高,選擇單核CPU,1 GB內存,40 GB云盤存儲。系統(tǒng)鏡像選擇CentOS7.4 64位系統(tǒng)。在網(wǎng)絡和安全組設置時,選擇“分配公網(wǎng)IP”。在安全組規(guī)則中,新開一個9011端口,用于數(shù)據(jù)的傳輸。點擊遠程連接,即可在瀏覽器端連接到服務器。
2.2.2在服務器部署Python環(huán)境
上位機設計中運行的程序需要Python3.6的環(huán)境,因此需要在服務器部署Python環(huán)境[8]。將Python下載并解壓安裝,解壓安裝包并轉到解壓目錄下。安裝完成,還需將系統(tǒng)運行Python的連接指向Python3.6。輸入檢查命令,確認Python已成功部署到服務器上。
2.2.3在服務器部署Apache
通過yum指令安裝Apache程序,將Apache服務添加到開機自啟中[9]。打開瀏覽器輸入服務器的IP地址47.95.201.126。
Apache功能目錄及作用如表1所示,直接使用Securecrt,xshell等SSH軟件上傳網(wǎng)站文件至網(wǎng)站數(shù)據(jù)目錄文件夾下,即可讓客戶端瀏覽網(wǎng)頁。
3系統(tǒng)現(xiàn)場測試及結果分析
同一下位機系統(tǒng)分別在萊州和東營進行了現(xiàn)場測試,4月26~28日在東營測試,5月4日在萊州測試,現(xiàn)場測試系統(tǒng)均正常運轉。網(wǎng)頁端實時顯示了現(xiàn)場測得的數(shù)據(jù),實現(xiàn)了遠程監(jiān)控數(shù)據(jù)的功能。受數(shù)據(jù)傳輸、程序運行速度和網(wǎng)絡情況等方面的綜合影響,數(shù)據(jù)從下位機采集到顯示在網(wǎng)頁上存在30 s~1 min的時延。
通過測試可以看出,4月26日01:00:16東營的化學需氧量含量為3.37 mg/L。5月4日12:00:20點萊州的COD含量為32.09 mg/L;在5月4日萊州測量的COD值與在4月26~28日東營測得的相比有大幅上升,說明萊州市水樣的有機物污染比東營嚴重。
5月4日葉綠素含量比較低,說明萊州市海水中藻類生物比東營市少,產(chǎn)生赤潮可能性較小。另外,萊州市水樣中硝酸根含量比東營市少,說明萊州市海水中的硝酸鹽污染較輕。
綜上所述,可知萊州市海水污染主要為有機物污染,應當重點控制工廠廢水排放;導致東營市水污染的因素更加多樣,應重點對海水中藻類進行控制,同時注意減少氮類肥料的使用。
4結束語
本文通過部署上位機海洋水質在線監(jiān)測系統(tǒng),通過網(wǎng)頁可實時獲取采集數(shù)據(jù)的變化曲線效果圖。該系統(tǒng)的優(yōu)勢在于上位機完全部署在服務器上,監(jiān)測界面通過網(wǎng)頁進行顯示,無需安裝專門的客戶端,只需輸入網(wǎng)址即可獲取在線監(jiān)控效果圖,可以對海洋水質進行實時、在線、準確地監(jiān)測,對預防海洋水質污染具有積極作用。
參考文獻
[1]王莉麗.基于紫外—可見光譜法的海水水質檢測技術研究[D].天津:天津大學,2014.
[2]李紅杰.基于浮標的近海海洋環(huán)境監(jiān)測與接入技術[D].成都:電子科技大學,2016.
[3]李旭,蔡中華.基于ARM9的船載海水監(jiān)測系統(tǒng)設計[J].現(xiàn)代電子技術, 2012,35(13):115-118.
[4]張國杰.基于STM32的水產(chǎn)養(yǎng)殖水質監(jiān)測與預測預警系統(tǒng)的設計與實現(xiàn)[D].杭州:杭州電子科技大學,2016.
[5] Tsai C W,Lai C F, Chiang M C, et al. Data Mining for Internet of Things:a Survey[J].IEEE Communications Surveys & Tutorials,2014,16(1):77-97.
[6] Wu X,Zhu X, Wu G Q,et al.Data Mining with Big Data[J]. IEEE Transactions on Knowledge and Data Engineering, 2014,26(1):97-107.
[7]蔡曉川.云平臺網(wǎng)絡性能評測技術研究及實現(xiàn)[D].北京:北京郵電大學, 2018.
[8]王小強.基于操作碼的Python程序防逆轉算法研究與實現(xiàn)[D].合肥:中國科學技術大學, 2017.
[9]劉歡,陳能成陳澤強.基于Apache Spark的MODIS海表溫度反演方法[J].計算機系統(tǒng)應用, 2018,27(9):112-117.