计算机系统应用  2020, Vol. 29 Issue (1): 105-111   PDF    
基于物联网和大数据的水域天网监测系统
丁越昌1, 李攀1, 林真友2, 曹文旭1     
1. 西南科技大学 信息工程学院, 绵阳 621010;
2. 西南科技大学 经济管理学院, 绵阳 621010
摘要:本文使用传感器、ZigBee无线传感网络、嵌入式系统、GPRS、云端、大数据挖掘分析等技术, 设计并实现了一种多指标、多节点、低功耗的“水域天网监测系统”. 测试表明, 系统设计方案合理可行, 系统运行稳定, 实现了水质状态分布式监控、预警、大数据分析和多种科学图表可视化, 有效扩大监测范围, 加快预警和反应速度, 提高水质监测治理进程.
关键词: 物联网    大数据    无线传感网络    水质监测    
Waters Skynet Monitoring System Based on Internet of Things and Big Data
DING Yue-Chang1, LI Pan1, LIN Zhen-You2, CAO Wen-Xu1     
1. School of Information Engineering, Southwest University of Science and Technology, Mianyang 621010, China;
2. School of Economics and Management, Southwest University of Science and Technology, Mianyang 621010, China
Foundation item: Project Supported by Sichuan’s Training Program of Innovation and Entrepreneurship for Undergraduate (S201910619098)
Abstract: In this study, we use sensors, ZigBee wireless sensor network, embedded system, GPRS, cloud, big data mining analysis, and other technologies to design and implement a multi-indicator, multi-node, low-power " waters skynet monitoring system”. The test shows that the system design scheme is reasonable and feasible, and the system runs stably. It has realized distributed monitoring of water quality status, early warning, big data analysis and visualization of various scientific charts, effectively expands the scope of monitoring, accelerates the early warning and response speed, and improves the process of water quality monitoring and treatment.
Key words: Internet of Things (IoT)     big data     wireless sensor network     water quality monitoring    

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

目前国内董浩等学者研究了一种实现水质实时监测、进出水自动控制、二次利用水量统计的水质监测系统[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 传感器连接通道

图 5 CH340G串口电路

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 某流域搭建监测区示例

参考文献
[1]
董浩, 廉小亲, 王晓冰, 等. 基于物联网的水质监测系统的设计与实现. 测控技术, 2018, 37(2): 105-109. DOI:10.19708/j.ckjs.2018.02.026
[2]
Qin YH, Alam AU, Pan S, et al. Integrated water quality monitoring system with pH, free chlorine, and temperature sensors. Sensors and Actuators B: Chemical, 2018, 255: 781-790. DOI:10.1016/j.snb.2017.07.188
[3]
李晓辉. 面向智慧城市的物联网基础设施关键技术研究. 计算机测量与控制, 2017, 25(7): 8-11. DOI:10.16526/j.cnki.11-4762/tp.2017.07.002
[4]
张达刚, 陈海宁, 陈华, 等. 环境评估大数据管理平台初探及技术综述. 计算机系统应用, 2019, 28(4): 205-211. DOI:10.15888/j.cnki.csa.006739
[5]
李少伟, 王喜喜, 傅诗. 基于无线传感网络的环境监控系统. 计算机系统应用, 2019, 28(4): 236-241. DOI:10.15888/j.cnki.csa.006875
[6]
TI. CC2530 development kit user’s guide. http://www.ti.com/lit/ug/swru208b/swru208b.pdf. [2010-04-23].
[7]
尚珵. 基于ZigBee网络的数据播发传输系统研究. 信息技术, 2018, 42(10): 131-136. DOI:10.13274/j.cnki.hdzj.2018.10.027
[8]
熊亚军, 徐敬, 孙兆彬, 等. 基于数据挖掘算法和数值模拟技术的大气污染减排效果评估. 环境科学学报, 2019, 39(1): 116-125. DOI:10.13671/j.hjkxxb.2018.0271
[9]
刘燕, 张永平, 朱成, 等. 基于大数据和物联网的空气质量预测监测研究. 通信学报, 2017, 38(S2): 129-138. DOI:10.11959/j.issn.1000-436x.2017266