基于有人云的水质在线监测系统

2021-10-27 09:01刘世兵刘成印
物联网技术 2021年10期
关键词:终端界面水质

刘世兵,刘成印

(山东工商学院 信息与电子工程学院,山东 烟台 264003)

0 引 言

水质监测是水环境状态分析、污染防护、资源利用的基本环节,国家出台了多项政策加强水污染防治,取得了一定成效[1]。但是近年来发生的多起跨界水污染事件中,出现了发觉时间滞后,流域内水污染程度无法准确评估的问题[2-5]。其原因是传统水质监测站成本过高、布线复杂,不利于大范围设置监测点,使跨界水污染事件的取证缺乏技术支持。因此,设计一种适合大范围覆盖的水质监测系统很有必要。

目前最适合这种监测场景的通信技术是窄带物联网(Narrow Band Internet of Things, NB-IoT)[6]。但是要实现窄带物联网的接入需要完成NB-IoT模块与通信基站的稳定连接,以及设计应用层协议等准备工作。有人云平台提供的通信终端与云端服务能很好地解决接入问题,缩短应用系统的研发周期,让开发者专注于终端数据采集的开发和数据展示及应用。因此,将通信及数据解析的任务交由有人云平台处理。

本文提出了一种基于有人云的水质在线监测系统,并设计了基于Web和微信小程序的监控软件,可在手机端和电脑端实时查看流域的水质情况。系统可方便、快速地实现跨界河流湖泊的大范围水质监测,当跨界水污染事件出现时,系统会及时发出预警信息,并提供监测范围内河流湖泊的水质信息用于水污染程度分析。

1 系统组成

基于有人云的水质在线监测系统包括水质监测终端、NB-IoT通信模块、有人云平台、微信小程序和Web端软件。系统总体结构如图1所示,其中水质监测终端包括核心控制器、电导率型传感器、pH值传感器、温度传感器、浊度传感器、GPS模块、存储模块、电源模块及I/O模块。工作流程:水质监测终端采集水环境的状态参数信息及终端位置,NB-IoT通信模块将采集的水质信息和位置信息一同发送到有人云平台进行数据处理,有人云平台经配置设计后可提供水质超限报警、微信小程序实时数据显示、有人云网站实时数据显示、提供二次接口等功能。如果所有用户登录有人云网站进行水质监测,配置易被无关人员修改,存在风险,故利用有人云平台提供的API接口进行Web软件开发,提供数据监测、历史数据查询等功能,弱化配置设计等功能,以提升数据展示的安全性。

图1 系统总体结构

2 系统设计

2.1 监测终端硬件设计

监测终端硬件结构如图2所示。采用STM32F103VET6作为核心控制器系统芯片,采用多种接口分别与对应的传感器相连接,获取相关水质信息[7]。在传感器电路中加入GPS模块,用于获取终端位置信息。STM32核心系统将获取的数据信息推送到显示模块,可供本地实时查看水质状态数据。STM32核心系统将数据信息发送到NB-IoT模块,通过运营商基站将数据转发到有人云平台进行处理。

图2 监测终端结构

串口总线接入的传感器选用RMD-ISEC2型电导率传感器和RMD-HB型pH值传感器。两种传感器皆有RS 485接口,用1个RS 485总线连接2个传感器[8-9]。STM32核心系统通过发送不同的功能码获取不同传感器采集的参数值。其中,RMD-ISEC2型电导率传感器还可采集水质的TDS值、盐度值、温度值参数,具有多功能性。

温度传感器采用防水型不锈钢封装的DS18B20传感器,该传感器应用广泛,采集的水温值精准可靠[10]。

浊度传感器采用TS-300B。该型号的浊度传感器采用5 V电压供电,可输出0~5 V模拟信号。STM32内置的ADC测量范围为0~3.3 V,故设计信号调理电路,以满足STM32电压测量范围。浊度传感器的输出电压经LM324组成的一倍放大电路后,电压输出更稳定,不易受后续电路阻抗影响。再经分压电阻电路后接入STM32内部ADC电路,可精准测量水质的浑浊度。

NB-IoT通信模块采用有人WH-NB-75模块,该模块能与有人云平台很好的衔接。该模块提供配套配置软件,初始化设置后,只需通过串口发送数据到该模块,即可将数据转发至有人云平台。

发往NB-IoT通信模块的数据需要满足有人云的数据帧格式,具体见表1、表2所列。当有人云平台收到NB-IoT模块发送的数据并校验正确后,会向该模块发送响应信息,表示成功接收数据。

表1 NB-IoT模块通信帧请求结构

表2 NB-IoT模块通信帧响应结构

存储模块采用SD卡,用于保持数据的连续稳定传输。当发送数据到通信模块后,如果收不到响应,则判定通信失去连接,将采集的数据保存到存储模块。待通信恢复后将本地保存的数据重新上传到云端。每条数据都有时间信息,云端据此识别该条数据是否为重发数据。

监测终端功耗低、运行稳定,无需现场布线,可快速大量布置于河流湖泊之中,实现监测点位广覆盖。

2.2 有人云设计

有人云平台具有设备接入、设备模板、报警设置及监控界面设计等功能。具体配置设计步骤如下:

(1)登录有人云首页,注册有人云账号,进入设备管理界面,选择添加设备,将通信模块的SN值和IMEI值填入对应的方框则可完成设备接入。

(2)进入设备管理界面,选择设备模块,新建设备模板。在变量列表中对数据帧进行解析。变量的数据类型设置要与数据帧上传格式相匹配。

(3)在变量列表中,对变量设置报警阈值,当平台收到的监测数据超过阈值时,可选择通过短信、邮件、微信文本或微信语音报警。

(4)进入组态设计界面,进行云组态数据展示设计。该设计界面通过拖动控件与图画组成个性的展示界面,快速便捷。该展示界面可由Web端软件调用。

(5)进入组态设计界面,进行微信小程序端数据展示设计。在该界面设计的展示界面可在微信小程序中调用。

有人云经以上配置设计后可与监测终端通信模块形成通信连接,实现数据的稳定传输以及对终端通信设备的管理。

2.3 Web端软件设计

有人云提供用户、设备、数据、组态、项目分组、子用户等API接口。向API的服务端地址发送HTTPS/HTTP GET或POST请求,并按照API接口说明,在请求中加入相应请求参数来调用API。有人云平台根据请求的处理情况返回处理结果。Web端软件框架如图3所示。监控中心包括设备列表、实时数据、历史数据、组态界面。“设备列表”将所有接入有人云的设备进行展示,并显示设备在线状态,选择设备进行对应设备数据查看。“实时数据”列表显示最近接收的数据。“历史数据”可根据选择的时间段查询历史水质数据。“组态界面”显示有人云平台设计的组态界面,直观展示水质数据。后台管理包括添加设备模块、项目分组模块、用户管理模块、用户信息模块。

图3 软件设计框架

Web端软件只需对数据进行应用操作,数据解析设置等任务交由有人云完成,实现数据设置与应用的分离,保证系统稳定运行。

2.4 微信小程序设计

有人云平台提供MQTT服务器用于数据中转服务,微信小程序通过WebSocket协议与其连接,数据采用Json格式交互。微信小程序设计框架如图4所示。用户登录微信小程序后,设置“首页”“管理”“通知”“我的”4个页面功能选项。“首页”用于实时数据显示,此部分界面调用在有人云设计的展示界面。“管理”用于展示设备列表以及查看设备状态,可实时掌握设备运行情况。“通知”用于显示报警信息。“我的”用于显示个人账户信息和退出登录。

图4 微信小程序设计框架

微信小程序使用方便,在微信内即可打开,便于监测人员随时查看水质信息、接收报警信息以及设备状态。

3 实验测试

把监测终端布置于河水之中,监测终端采集河水的温度、pH值、电导率、TDS值、浑浊度和盐度值信息,并将从GPS模块获得的位置和时间信息一同发往NB-IoT通信模块。NB-IoT通信模块将数据转发到有人云进行分析和存储,Web端软件和微信小程序通过有人云服务器获取数据并显示。Web端软件显示界面如图5所示,微信小程序显示界面如图6所示。

图5 Web端软件显示界面

图6 微信小程序显示界面

经过测试,Web端软件和微信小程序都可正常显示有人云设计的数据展示界面。基于有人云的在线水质监测系统满足了设计要求,可以实时查看监测点水质数据。

4 结 语

本文设计的基于有人云的水质在线监测系统,将监测终端投放于需要监测的河流湖泊之中,即可将水质信息及该点位置信息发送到有人云平台,经平台处理后,可在微信小程序和PC机上直接观测水质状态。基于有人云平台API接口开发的Web端软件具有历史数据查询、实时数据显示等功能。系统运行稳定,可应用于需要大量水质监测站点的场景,为跨界水污染事件提供水质数据,便于分析流域水污染情况。

猜你喜欢
终端界面水质
水质抽检岂容造假
X美术馆首届三年展:“终端〉_How Do We Begin?”
国企党委前置研究的“四个界面”
通信控制服务器(CCS)维护终端的设计与实现
一月冬棚养虾常见水质浑浊,要如何解决?这9大原因及处理方法你要知晓
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
多功能北斗船载终端的开发应用
人机交互界面发展趋势研究
手机界面中图形符号的发展趋向
ABB Elastimold 10kV电缆终端及中间接头