孟莉莉 吴旦钧 蓝建平
(1.嘉兴职业技术学院 浙江省嘉兴市 314036 2.浙江嘉科新能源科技有限公司 浙江省嘉兴市 314001)
随着国家经济高速发展,城市化和工业化程度的不断提高,由此带来的水体污染、水生态破坏等水环境问题也逐渐凸显,各类用水主体大量使用水资源、向河湖排放污水,严重破坏了水环境。“绿水青山就是金山银山”,鉴于水环境治理问题的急迫性,各地都在实施水环境的全过程监管、全体系治理。在水污染防治中,水环境的实时监测是核心内容之一,是实现全方位、全覆盖污水防治目标的关键。而水质监测又面临产生源分散、数量多、分布广、不易监测等不利因素,为实现对各分散式水质测点的统一监测,本文设计并实现了一种基于NB-IoT的分布式水质监测系统,以实现分布式水环境的统一实时监测、远程设备管理与智能控制以及故障报警和维护功能,同时,采用融合算法对采集的传感器感知数据进行处理,以达到减少网络流量和提高数据准确性的目的。
NB-IoT,即窄带物联网,是一种基于LTE蜂窝移动网络的物联网通信技术,支持低功耗设备在广域网的蜂窝数据连接,基于3GPP标准,是物联网技术领域的一项革命性的创新技术。NB-IoT聚焦于低功耗广覆盖物联网应用场景,使用了重传等方式,以牺牲一些速率和时延等特性,换取网络的承载能力和低功耗,降低系统的建设开发成本,相比传统的移动网络,具有覆盖区域大、连接海量、低功耗、安全性高和成本低等特点,对于信号难以传送到达的地方,比如下水道、地下车库等等也能有较好的覆盖效果。由于其具有的技术优势,NB-IoT技术目前在环境监测、智慧抄表、智慧停车、智能路灯、共享单车、智慧农业等低功耗、小数据和大覆盖的智能监控领域都有成功应用案例,非常适用于分布式水质监测系统中的网络构建。
系统基于NB-IoT构建通信网络,网络整体架构分为感知层、平台层、服务层和应用层,如图1所示。感知层包括基于NB-IoT的智能控制器、水质处理设备和PH值、电导率、溶解氧、氨氮、总磷等水质检测传感器,负责水质数据采集、水质处理设备控制以及数据的实时监测;平台层包括可供设备接入的NB-IoT基站和物联网平台,其中物联网平台采用国内运营商提供的成熟物联网平台,可保证平台的高并发和高可靠性。服务层构建于云平台之上,提供业务数据的本地持久化和各种业务处理逻辑的支持,采用目前流行的微服务架构开发,使用docker容器部署在web服务器中,数据库使用实时数据库存储检测的实时数据,使用mysql数据库系统存储用户、权限、站点、设备等信息。应用层支持移动端和web应用,提供给用户监测数据显示、设备控制和水质评价等功能。
图1:基于NB-IoT水质监测系统整体架构
智能控制器是感知层的核心,通过传感器采集水温、pH值、电导率、溶解氧等水质数据和设备状态,控制水质处理设备的运行,并通过NB-IoT模组将数据上传到物联网云平台。智能控制器包括电源模块、主控制器、传感器接口、水质处理设备驱动模块和NB-IoT模块组成,设计图如图2所示。
图2:智能控制器设计图
主控制器采用意法半导体公司的STM32F103系列芯片,具有32位ARM微处理器,工作频率最高可达72MHz,支持IC、CAN、SPI、SDIO、USART等多种通信接口,工作性能稳定。NB模组采用Lierda公司NB86系列模块设计,该模块基于华为海思的Boudica芯片,符合3GPP标准,支持多频段,具有体积小、功耗低、传输距离远、抗干扰能力强等特点。NB模块通过USART接口和主控制器连接,并配有USIM卡和射频天线。
在软件设计上,智能控制器MCU定期采集传感器数据,并通过分析数据,自动控制水质处理设备的开启或关闭,同时,通过CoAp协议定期上传数据到物联网云平台上。CoAp协议是一种适用于资源受限型网络,基于REST架构的应用层协议,特别适用于物联网中。智能控制器上电后,首先进行MCU及外设的初始化操作,然后启动数据采集进程,按照设定的采集周期循环采集各传感器数据,对数据进行滤波等处理后存入Flash芯片,并对处理后数据进行分析,控制水质处理设备状态。系统每隔一定时间将采集的数据和水质控制器状态通过USART发送到NB-IoT模组,再上传到物联网云平台中,智能控制器软件工作流程如图3所示。
图3:智能控制器软件工作流程图
3.3.1 监测数据预处理
由于水质监测区域的环境比较复杂,传感器节点受到外界环境的影响,采集到的数据容易存在误差,甚至失真,所以首先需要对采集到的数据进行预处理,剔除各传感器采集的可疑值,去除粗大误差,克服因偶然因素引起的波动干扰,以保证数据的精度和可靠性。常用的去除粗大误差的方法有拉依达准则、格拉布斯准则、狄克逊准则等。拉依达法则无需查表,使用较为简单,但适用于监测数据量较大、对精度要求不高时的粗大误差剔除处理,数据量较小时适应性不高。狄克逊准则是一种使用极差比双侧检验来判别粗大误差的方法,当测量数据中只存在一个异常值时效果较好,当出现多个同侧异常值时检验效果不理想,尤其是异常数据较为接近时容易受到屏蔽。格拉布斯准则适用于样本数量较小时的粗差分析,在监测数据量较少时,准确性较高。在水质监测系统中,对水质变化监测的实时性要求不是很高,为了降低通信数据的网络流量,在单位时间内传感器数据采样不宜太频繁,因此,选用格拉布斯准则去除粗大误差。
设x(i=1,2,…,n)为节点单位时间内测量数据,那么其算术平均值为:
根据贝塞尔公式得出此组数据的标准差为:
3.3.2 数据融合
虽然对水质监测数据进行了预处理,去除了粗大误差,提高了数据的准确率,但是由于传感器特性及环境因素影响,监测数据中不可避免的存在一定数量的偏差,卡尔曼滤波 又称最优化自回归数据处理算法,是一种基于状态变量线性最小方差的估计算法,主要用于实时动态数据融合,可以较好的减少噪声误差,使测量值更接近于真实值。
卡尔曼滤波算法主要步骤如下:
构建系统状态空间模型,描述为:
系统的测量值描述为:
上两式中,X(k)、X(k-1)分别是k 、k-1时刻的系统状态值,U(k)是k时刻系统的控制量,A、B是状态转移矩阵,Z(k)是k时刻的测量值,H是测量矩阵。W(k)和V(k)分别表示过程、观测噪声。
根据式(4)进行状态预测,基于k-1时刻状态最优值X(k-1|k-1)预测k时刻的状态:
X(k|k-1)对应的协方差为:
式(6)、(7)为系统的预测值,结合系统的测量值,得到k时刻的最优化估算值:
其中K(k)为卡尔曼增益:
然后,再更新k时刻最优估算值的协方差:
至此,算法就可以自回归迭代下去。由此可见,卡尔曼滤波是依据前一时刻的估计值、当前时刻的观测值和噪声来计算当前的最优值。
3.3.3 仿真验证
采集系统中溶解氧传感器监测的数据,对之进行数据融合验证。溶解氧数据如表1所示,首先用格拉布斯准则对测量数据进行数据预处理,其中n为20,α取0.05,计算得出的数值如表2所示,可以看出第10个样本数据计算出的值为2.56,大于2.557的格拉布斯判别系数,则此监测数据被剔除。然后对剩余的19组数据进行卡尔曼滤波,输出溶解氧传感器的融合结果,如表3所示。从表中可以看出,在样本数量接近20时,融合值也能较好的去除偏差,将噪声影响降到最低,有效反应出监测数据的真实值。MCU在达到上报周期时,使用周期内融合后的数据取平均值作为监测结果通过NB-IoT模组发送给物联网云平台。
表1:传感器测量值
表2:数据预处理计算的判别值
表3:测量数据的融合结果
系统在物联网云平台上,构建了服务层和应用层。服务层实现业务逻辑控制,同时使用物联网云平台提供的接口获取监测数据,处理后存入数据库中实现数据的本地持久化。该层使用目前流行的微服务架构开发,具有独立部署、可扩展性、快速迭代、容错性、易于开发等优点。在数据持久化方面,由于实时监测数据更新快、数据量大,且保存时间较长,传统的关系型数据库无法适应水质监测数据的检索和存储要求,因此对于实时监测数据,采用实时数据库来存储,便于数据的持久化和后期数据分析。系统软件功能图如图4所示,其中用户管理模块主要完成帐号的注册以及用户的登录和角色、权限管理等功能,用户类型分为普通用户和管理员,普通用户可以查看自己站点的实时监测数据、设备状态以及水质监测报表和设备运行报表,管理员用户可以添加、管理站点、进行设备控制管理和故障、告警管理;报表管理模块根据查询条件完成各监测点设备运行状态数据统计报表和水质检测结果数据统计功能;故障与告警管理模块主要实现各传感器和设备故障的显示、报警和维修状态显示以及水质告警等功能;数据监测模块则现实各传感器检测的实时数据以及监测点视频监控,并根据检测数据进行分析,自动控制设备的开启和停用。
图4:系统软件功能图
目前智慧环保建设已经上升到国家的经济、科技战略层面,水务管理是环保管理的重要组成部分,统一的水质实时检测处理平台是智慧水务建设中重要环节之一,本系统基于NB-IoT网络通信架构,针对分散式水源,构建了统一的水质监测处理平台,并采用融合算法对传感器监测数据进行融合,减少误差,提高了监测数据精度并降低了网络流量,从而实现了分布式水质处理系统的实时监测、远程设备管理与智能控制以及故障报警和维护功能,为智慧水务的建设提供了有力的支撑。