APP下载

基于云平台的海洋水质在线监测系统上位机设计

2019-09-10杨信志贺鹏飞冯巍巍李彦杰夏蒙

计算机与网络 2019年16期
关键词:上位机云计算

杨信志 贺鹏飞 冯巍巍 李彦杰 夏蒙

摘要:传统海洋水质监测主要采用人工现场采样和实验室仪器分析方法,时效性不足。通过对基于Python的端口监听技术、数据分析算法和服务器搭建模式进行研究,应用云平台及云计算技术,完成了数据通信和服务器端上位机系统的搭建,实测数据可以通过网页获取和分析,实现了海洋水质的在线实时监测,对预防海洋水质污染具有积极作用。

关键词:水质在线监测;服务器搭建;云计算;上位机

中图分类号:TP393文献标志码:A文章编号:1008-1739(2019)16-69-3

0引言

水是人类生活中的重要资源,对海洋、湖泊、水库等水体进行合理开发利用可直接影响到人类社会的发展[1],因此,对水质进行监测和调控是必不可少的。

当前我国海洋水环境监测上位机普遍未建立在服务器端,无法联网获取数据,存在操作复杂、测量周期长和测量步骤繁琐等缺点[2]。同时现有的海洋水质监测仪器采集参数多在下位机显示,数据无法上传至网络服务器,无法实现通过手机APP或网页查看测量参数和多地点实时监测,智能化程度较低[3]。

针对上述问题,提出了一套基于云平台的海洋水质在线监测系统上位机设计方案。通过对海洋水质的各个重要指标进行检测分析,设计了搭建在云平台的服务器和后台数据处理系统,实现数据参量检测、分析、处理、传输和预警,同时在网页端实时获取远程监测数据,实现从网页或手机APP上远程检测数据和控制测量开关,达到综合治理海洋环境和防控海水污染的目的。

1系统整体结构

海洋水质在线监测的整体系统框架如图1所示。

下位機包括传感器及控制模组和通信模块,本文采用的下位机是中科院海岸带研究所设计的海水水质在线检测系统,如图2所示。

上位机包括端口监听数据模块、数据库模块、服务器模块、网页模块、数据分析模块和预测模型模块,移动通信模块为上位机和下位机之间提供数据传输的链路。

2海洋水质在线检测上位机系统方案

2.1系统上位机软件实现

系统上位机部署在服务器端,使用云服务器,数据储存更加安全,没有断电丢失数据的风险[4],当服务器运行出现问题时,可以进行远程调试或重启。服务器端上位机主要由端口监听设计、数据格式设计和网页前端设计三部分构成。

端口监听的主要功能是开启本地服务器的一个端口,并将该端口上接收到的数据显示出来。利用Python中的threading库创建监听线程和socket库进行套接字的查询,从而实现对数据的显示[5]。其中程序中reader类主要用于显示端口接收到的数据。

数据格式化是通过运行监听端口的数据格式化程序来实现。下位机每次上传一组传感器采集的数据包括温度、pH值、溶解氧、浊度、油量、电导、化学需氧量和硝酸根浓度。每次上位机端口接收到一组数据后,将这些数据进行正则匹配后,加上时间戳,并按顺序存储在数据库中,即可实现数据监听和格式化写入。

网页前端实现的主要功能是实时显示测量的各个参量值,并且画出历史数据的变化曲线,反应各个参量的变化趋势。为实现此基本功能,网页前端选择了实用的图表插件Highchart.js作为核心程序[6]。Highchart.js实现了网页端的动态交互性,支持动态增加、修改、删除数据列、数据点和坐标轴操作等多种交互操作。

2.2系统上位机在阿里云上的部署

上位机在阿里云上的部署主要分为3个步骤:创建云服务器、部署Python环境和部署Apache。

2.2.1在阿里云平台创建服务器

云服务器的基础配置主要是选择CPU、内存等虚拟硬件和系统环境[7]。考虑到实验测试阶段数据处理要求不高,选择单核CPU,1 GB内存,40 GB云盘存储。系统镜像选择CentOS7.4 64位系统。在网络和安全组设置时,选择“分配公网IP”。在安全组规则中,新开一个9011端口,用于数据的传输。点击远程连接,即可在浏览器端连接到服务器。

2.2.2在服务器部署Python环境

上位机设计中运行的程序需要Python3.6的环境,因此需要在服务器部署Python环境[8]。将Python下载并解压安装,解压安装包并转到解压目录下。安装完成,还需将系统运行Python的连接指向Python3.6。输入检查命令,确认Python已成功部署到服务器上。

2.2.3在服务器部署Apache

通过yum指令安装Apache程序,将Apache服务添加到开机自启中[9]。打开浏览器输入服务器的IP地址47.95.201.126。

Apache功能目录及作用如表1所示,直接使用Securecrt,xshell等SSH软件上传网站文件至网站数据目录文件夹下,即可让客户端浏览网页。

3系统现场测试及结果分析

同一下位机系统分别在莱州和东营进行了现场测试,4月26~28日在东营测试,5月4日在莱州测试,现场测试系统均正常运转。网页端实时显示了现场测得的数据,实现了远程监控数据的功能。受数据传输、程序运行速度和网络情况等方面的综合影响,数据从下位机采集到显示在网页上存在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日叶绿素含量比较低,说明莱州市海水中藻类生物比东营市少,产生赤潮可能性较小。另外,莱州市水样中硝酸根含量比东营市少,说明莱州市海水中的硝酸盐污染较轻。

综上所述,可知莱州市海水污染主要为有机物污染,应当重点控制工厂废水排放;导致东营市水污染的因素更加多样,应重点对海水中藻类进行控制,同时注意减少氮类肥料的使用。

4结束语

本文通过部署上位机海洋水质在线监测系统,通过网页可实时获取采集数据的变化曲线效果图。该系统的优势在于上位机完全部署在服務器上,监测界面通过网页进行显示,无需安装专门的客户端,只需输入网址即可获取在线监控效果图,可以对海洋水质进行实时、在线、准确地监测,对预防海洋水质污染具有积极作用。

参考文献

[1]王莉丽.基于紫外—可见光谱法的海水水质检测技术研究[D].天津:天津大学,2014.

[2]李红杰.基于浮标的近海海洋环境监测与接入技术[D].成都:电子科技大学,2016.

[3]李旭,蔡中华.基于ARM9的船载海水监测系统设计[J].现代电子技术, 2012,35(13):115-118.

[4]张国杰.基于STM32的水产养殖水质监测与预测预警系统的设计与实现[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]蔡晓川.云平台网络性能评测技术研究及实现[D].北京:北京邮电大学, 2018.

[8]王小强.基于操作码的Python程序防逆转算法研究与实现[D].合肥:中国科学技术大学, 2017.

[9]刘欢,陈能成陈泽强.基于Apache Spark的MODIS海表温度反演方法[J].计算机系统应用, 2018,27(9):112-117.

猜你喜欢

上位机云计算
论网络通信技术
基于云的短波发射机机房中央空调自动控制系统的设计与实现
基于上位机、NRF多点无线温度监控系统
志愿服务与“互联网+”结合模式探究
云计算与虚拟化
基于云计算的移动学习平台的设计
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用
基于ZigBee网络的Android平台粮情移动监测系统