APP下载

基于物联网和大数据的水域天网监测系统①

2020-01-15丁越昌林真友曹文旭

计算机系统应用 2020年1期
关键词:串口云端水质

丁越昌,李 攀,林真友,曹文旭

1(西南科技大学 信息工程学院,绵阳 621010)

2(西南科技大学 经济管理学院,绵阳 621010)

当前,我国工业、生活废水排放问题明显,废水不仅会污染水域,破坏生态平衡,也会危害动植物健康.并且,我国存在许多需要监测水质但难以实行的区域,如公共流域、生态区、水产业、农业等,但目前主要依靠人工采样、大型设备等方式进行监测,这些方式存在监测范围小、效率低、成本高等许多问题,无法满足我国污水水域的数量多、范围广的需求.

目前国内董浩等学者研究了一种实现水质实时监测、进出水自动控制、二次利用水量统计的水质监测系统[1];国外则较少学者研究此类课题,有Arif U.Alam等学者设计了一种测量pH、温度、游离氯的集成测量设备[2],但他们都并未研究多节点分布监测、云端大数据分析等内容.随着物联网、大数据、云计算等高新技术迅速发展,万物智能互联已经变得触手可及,智慧概念[3]融入了生活方方面面.

综合上述,本项目立意于“互联网+环境”的环境治理和可持续发展状况,综合运用传感采集、无线通讯、物联网、大数据挖掘处理与可视化等技术,致力构建“水域天网”,希望改善依靠传统方式监测范围小、效率低,或难安装、成本高等问题,改善我国废水排放量大,且很多流域难以监测的现状,简化水质监测过程,提高单位经济效益与我国水质监测与治理进程.

1 系统架构和原理

1.1 系统架构设计

系统整体框架如图1所示,包含感知层、网络传输层、应用层.感知层由传感器与ZigBee组成,负责采集一定范围的指标数据.网络传输层包括ZigBee无线传感网络、RS485通信、GPRS/4G通信、TCP/IP通信、HTTP传输,是一种多重复合的数据传输路径.应用层即云端大数据平台[4],实现设备定位监控,设备添加,数据通信,大数据处理、挖掘分析、储存,图表分析展示等功能.

图1 系统整体设计结构图

1.2 系统工作原理分析

水质数据由各传感器采集后,传输到ZigBee的数据采集通道[5].ZigBee对数据进行滤波、转换等处理后,通过无线组网技术,实现数据在多个节点间无线传输.协调器负责接收组网中各节点的信息,将数据处理成一定格式报文后,通过RS485传输给STM32嵌入式系统.嵌入式系统将信息处理分析后,进行可视化显示,并判定指标情况,若异常则驱动LED和蜂鸣器报警;然后嵌入式系统将数据处理成报文格式,利用USART2,发送包含控制指令和数据的报文给GPRS/4G模块,控制模块激活和联网,与云端服务器进行数据交互.云端服务器接收数据后,先保存在数据库,再利用Python科学框架和算法进行大数据处理分析,分析结果由前端图表和UI大屏界面通过HTTP协议、TCP/IP协议调用,进行可视化分析.

2 硬件设计

2.1 传感器选型和接口设计

E-201-PH电极,采用玻球测量法测量pH,其接口电路设计成以模拟电压输出,并设计了DS18B20温度传感器总线接口,用于测量液体温度值,也用作温度补偿算法.

GE-TS浑浊度探头,带温度补偿,以0~4.5 V模拟信号输出,因ZigBee的ADC只能识别3.3 V以内,所以接口电路需将0~4.5 V模拟电压分压后,才能输入ZigBee的ADC通道.

电导率传感器为TDS探头,以串口TTL信号输出,所以需要利用ZigBee的串口给TDS模块发送指令,使其返回一定格式的数据,再将数据提取、计算,来得到电导率数据.

2.2 STM32嵌入式系统设计

STM32自带AD/DA转换和多个串口,支持低功耗模式,所以本系统选用STM32作为终端系统.图2是STM32 BOOT启动模式电路.STM32需要使用RS485与协调器进行数据传输.其接收协调器数据并处理完后,在LCD屏幕上显示,并判断指标是否异常,然后通过串口2发送报文给GPRS模块,来控制模块连接网络,与云端实现数据交互.

图2 STM32 BOOT启动模式电路

嵌入式系统设计包括最小系统和外围电路两部分,最小系统设计有3.3 V供电模块、复位电路、12 MHz时钟电路、BOOT模式选择电路.外围电路主要有EEPROM储存模块、LCD显示屏、LED、蜂鸣器、按键、串口、GPRS/4G模块,以实现本文要求的功能.设计原理图如图3所示(参考了正点原子).

2.3 ZigBee节点设计

TI CC2530自带8路8~14位ADC,可引出多个I/O口拓展,可实现多节点组网传输,且功耗极低,所以本系统采用TI CC2530芯片作为ZigBee.

ZigBee硬件设计包括CC2530核心模块和外围电路.核心模块设计了复位电路、32 MHz时钟、3.3 V供电模块,并引出RF接口外接功放天线来增加传输距离.外围电路主要有LCD显示屏、LED、串口、下载口、IO口引出.传感器接口选择P0.7作为DS18B20通信接口;P0.5作为ADC通道,读取浑浊度、PH传感

器信号(如图4);P0.2 (RX)、P0.3 (TX)作为串口,采用CH340模块通信(如图5),来读取电导率数据.CC2530核心模块设计[6]原理图如图6所示.

本系统可采集温度、浑浊度、电导率、pH值4个指标,而ZigBee的多节点组网特性,使其可根据实际需求,拓展增加其他指标和监测节点,所以该电路在设计时,引出了许多常用I/O接口,以提高其灵活性.

图3 嵌入式系统原理图

图4 传感器连接通道

3 软件设计

3.1 数据采集与处理

水质传感器采集到的信号经过转换电路后,转换为标准模拟信号、TTL信号等可读取形式,然后由ZigBee通过ADC通道读取.经测试发现,采集时可能出现无规律的干扰信号,且因采集的信号不是快速变化的,所以系统应采用防脉冲干扰平均滤波法进行滤波.滤波后,利用AD转换公式将AD值转换为电压值,再利用经过拟合优化的转换模型,将电压值转换为对应指标值;电导率采集则由ZigBee通过串口给传感器发送一定格式的指令,使其返回一定格式报文,然后提取出报文中的数据,进行计算即可.ZigBee读取和处理数据的程序流程如图7.

3.2 数据传输层设计

对于一片流域,监测点选取需要考虑的因素有水域的距离、面积、水质变化梯度等.因此,在考虑功耗、水域面积、节约成本、范围灵活等因素后,本系统网络结构选择了树状网络拓扑.另外,我们研究了水域范围特点,并据此修改了硬件布局和功放 ,同时优化组网的搜索、传输跳转机制,使传输距离达到了350~650 m,这个距离比较适合水质变化梯度特点.

图6 ZigBee核心模块原理图

图7 ZigBee数据采集、处理、发送数据程序流程

树状拓扑结构包括一个协调器(Co-ordinator),以及一系列路由器(Router)和终端节点(End Device).协调器连接一系列路由器和终端节点,协调器下的子路由也可以连接一系列路由和终端节点[7],这样可重复多个层级,每个层级由一个路由器主管和中转,负责监视一块区域,最后将数据汇总到协调器.此结构科学合理,可支持约300个网络节点,支持拓展其他监测点和指标,适用于大部分水域范围,基本满足城市内的监测点要求,可搭建“水域天网系统”.树形拓扑的结构如下图8所示.

ZigBee在激活后,按如下顺序执行相应程序:硬件和软件初始化、运行系统、网络初始化、加入网络、完成组网.实现组网后,进入轮询状态,等待发送和接收事件,其组网的程序流程如图9所示.

本系统的数据传输报文设计如图10所示,Rx:为路由器编号,Ex:为终端节点编号.路由器R1负责传输自身采集的数据,也负责中转其分支节点E1、E2的报文;其他路由和节点同理.协调器负责接收所有节点和路由的报文,并封装报文格式,发给STM32,由STM32通过GPRS/4G网络的TCP连接上传云端,其部分代码如图11.

图8 ZigBee树形拓扑的结构

3.3 云端大数据平台设计

云端大数据平台是系统构架中的应用支持层,核心功能包括用户注册,设备添加、定位,数据通信,数据处理、分析、展示等.另外,云端使用分布式储存技术,以支持多用户多设备注册;设计了PC端、移动端的页面兼容;设定了多种接口和协议(TCP/IP、HTTP、MODBUS等),以提高兼容性、灵活性,方便更多其他的用户和设备,按照协议接入使用云端,组建天网监测.云端通过调用百度地图API定位和绘制热力分布图统一观测各个区域(如图12、图13),支持选择不同的监测区域,来详细查看当地水质情况.

图9 ZigBee树形组网程序实现流程

图10 数据传输报文格式

图11 连接IP端口和发送数据部分代码

大数据分析采用Python的Pandas、Numpy等技术,进行数据挖掘建模[8],利用回归分析和贝叶斯算法[9],分析数据的分布点特征和关联因素,分析影响因素规律,进而分析水质变化原因,推算影响因素指标.UI界面基于ONENET平台搭建,绘制多种统计图表,设计UI大屏统一展示,前端通过HTTP、TCP协议调用分析结果,将数据趋势、统计情况、天气等情况统一分析并展示,更科学、精准地分析水质情况和有害因素,达到提前预警和加快反应的效果.物联网、大数据、UI大屏统一监测管理属于新技术前沿.

4 系统实现与测试

为测试数据准确性,本实验配置了3份pH标准溶液,其他指标采用现有仪器测量,作为参考标准值,来进行数据测试对比.测量pH值界面如图14所示,各指标测量值与标准值对比结果如表1所示.

该系统运行测试在校内几个湖泊进行.经实际测试,系统工作功耗低至22~38 mA,各节点正常采集、传输数据,并在屏幕显示;整体数据传输路径正常,丢包率0.88%;数据库存储、调用正常;云端大数据分析、UI大屏、统计图表正常运行;各功能模块均测试正常,系统整体测试通过.系统性能测试及分析如表2所示,云端大数据平台效果如图12、图13所示.

图12 农夫山泉纯净水pH和温度测量

图13 云端UI大屏和统计图表界面

在实际大型流域场景中,本系统可如图15的示例,进行布置监测.在该流域示例中,可以分别在上游、中游、下游布置一套系统.如有一些有实际特殊需求的位置,可根据实际情况增加指标和监测点.

5 结语

本项目基于多种水质传感器、ZigBee无线传感网络、嵌入式系统、GPRS/4G、云端、大数据挖掘分析等技术手段,设计了一种基于物联网和大数据的分布式水域天网监测系统.系统方案推论设计合理,系统结构合理,功能完善,实现了一种新型的低成本、节能低功耗、灵活易拓展、适用性普及性强的监测系统.多重数据传输路径,使数据传输更高效稳定,且适合水质梯度变化特点,有效扩大监测范围,可用于江流、厂业区、城市水路、水产品养殖业、农业、风景园林生态区等.

图14 云端平台监控界面2

表1 测试数据对比表

表2 系统性能测试表

经各功能模块和整体系统联调测试,系统实现了污水状态多地分布式监控、预警、大数据UI大屏分析、多种科学图表可视化,能科学地分析水质情况,分析有害因素,加快预警和反应速度,简化水质监测过程.本项目在改善我国污水排放量大、水域多且难以监测等问题,提高单位经济效益与我国水质监测治理进程方面,有着广阔的发展前景与实际应用价值.

图15 某流域搭建监测区示例

猜你喜欢

串口云端水质
四海心连·云端汇聚
在云端永生
基于EM9000工控板高性能双串口通信模型设计与实现
MCS—51单片机中的多串口通讯技术的应用
在云端
《云端三公尺》:下一个天亮,谁在等你
水质的年轮——读《时光的年轮》
微机串口的测试诊断
基于VC串口通信的实现
观水色,辨水质