李阳东,漆 林,笪亨融,谢洋洋
(1.上海海洋大学海洋科学学院,上海 201306;2.农业农村部大洋渔业开发重点实验室,上海 201306;3.大洋渔业资源可持续开发教育部重点实验室,上海 201306;4.上海市河口海洋测绘工程技术研究中心,上海 201306)
我国是一个海洋大国,丰富的海洋自然资源具有巨大的经济价值。但是近年来沿海区域水产养殖、生活污水和工业污水的排放使得近海海域污染日益严重,生态环境受到严重破坏。为了合理利用海洋、保护海洋资源、进行海洋科学研究以及促进海洋经济发展,必须及时掌握海洋生态环境状况以制定相应的处理方案,因此有必要建设海洋生态环境监测网络以开展相应的水质监测工作[1-3]。
在海洋水质监测相关技术研究中,实现实时的近海环境监测、建立先进的近海岸监测系统是当前海洋监测技术研究的热点问题之一。根据观测平台的特征,近海岸实时水质在线监测方式可分为固定点观测、浮标观测和船基观测等。近海岸监测系统中,监测中心一般建在沿海、岛屿或其他海域建筑物上,其中固定点观测方式一般使用固定浮标、潜标或海床基搭载数据采集系统,并通过无线通信系统或海底电缆将观测数据传输到监测中心;浮标观测主要是指使用漂流浮标搭载数据采集系统所进行的水质观测方式;船基观测是利用船舶作为主要平台,在其航行过程中,以拖体搭载相应传感器对海洋剖面进行实时同步测量[4]。
本文主要讨论现阶段应用需求更广泛的近海岸固定点监测方式,该方式可以分为传统的人工定点采样分析监测方式和实时在线监测方式两类。依靠传统人工进行定点釆样监测是当前我国近海海洋调查的一种主要方式,其特征是:出海前先根据调查需要规划确定监测海域的采样站点数量及其位置、采样时间、采样频率和样本数量,以使采样数据能够客观地表征监测区域海洋环境的真实情况,达到调查目的;出海后到采样点进行水样采集,并及时对样品进行封装、记录、贮存,运输回实验室后实验分析[5]。由于传统监测方式存在取样周期长、费用高、实时性差等不足[6],因而可以弥补传统人工定点采样分析监测方式不足的水质在线监测方式在近年得到迅速发展。水质在线监测平台主要分为3 类:①有线方式,即通过电缆直接把数据采集装置采集到的水质数据传递到监测中心。其应用如李本龙通过海底观测平台获取近海海域海水的温度、盐度和电导率等数据,利用海底电缆把数据实时传输到远程监控中心[7]。②无线方式,其主要特征是通过通信卫星或其他无线通信方式进行数据采集端与监测中心的数据传输。如贾烁利用浮标单元采集海区温盐数据,通过北斗通信终端传输数据到岸站监控中心[8];郭文静设计实现的一个基于ZigBee 技术的嵌入式近海监测系统,用于采集温度、pH 值和光照强度等海洋环境要素[9]。③混合模式,即数据传输综合利用了前面2 种方式。如刘自强等利用潜标收集数据通过电缆传到海面浮体,再采用北斗卫星通信功能进行实时传输到地面监测站[10]。
虽然现有在线监测方式较传统监测方式有很大的优势,但尚存在以下问题:①使用海底电缆构建的监测系统成本太高,不利于普及推广,且系统布设灵活性不够;②使用卫星通信方式资费标准较高,传输数据有时延;③海洋监测区域较大,传统的依赖少数固定点的在线监测方式难以满足水文水质采集需求[11];④ZigBee、Wi-Fi 和GPRS 等无线组网技术,通信距离较近,需要在网络内部部署大量的中继节点,这使得系统过于复杂,增加了系统的成本和能耗开销,同时海水对电磁波干扰会导致传输数据不稳定[12];⑤现有近海监测系统还存在重复建设,数据独立存储、独立管理,信息孤岛严重,难以实现海洋数据的共享共用和统一管理[13-14]。
LoRa 技术是物联网中一项新兴的低功耗广域网无线通信技术;工作模式下的电流仅为10 mA,具有功耗低的特点[15];相比ZigBee 等技术,LoRa 技术的传输距离较远,空旷区域能达到15 km,还可以通过LoRa 进行中继以满足更远距离需求,无需基站,网关成本低,适合于构建大范围的通信网络[16];另外,由于LoRa 采用了扩频调制技术,可在信噪比低于20 dB 时实现解调,因而具有很好的抗干扰能力[17-20]。目前,LoRa 已应用于智慧农业、公共安全、智慧医疗、智能门锁以及环境保护等方面[21-22],如龙晓明等设计的山地果园灌溉系统[21]、常剑等设计的智慧消防报警系统[22]、方拥军等设计的智慧医疗应用[23]、胡乃平等设计的智能门锁系统[24]等。
本研究充分考虑实际近岸海域环境的区位特点和海洋生态环境监测需求,针对近海固定点海洋水质监测应用场景,基于LoRa 技术、传感器技术、网络技术和微信小程序等信息技术,设计了一种近海岸水质在线观测及数据传输和显示的解决方案,并构建了一个近海水质监测系统。
本研究针对近海岸固定点的水质监测,基于物联网技术设计了一个集数据实时采集、处理、传输、存储、共享、展示、管理和控制于一体的监测系统解决方案,其总体结构如图1 所示。该系统采用分层体系设计,主要分为数据采集层、数据通信存储层和数据展示控制层三个层级。
图1 近海岸固定点水质监测系统总体结构Fig.1 The overall structure of near-shore fixed-point water quality monitoring system
数据采集层主要负责数据的采集、处理和传输,由监测节点和网关节点组成。其中,监测节点集成了多种水质传感器、微处理器和LoRa 模块的水质数据采集单元,部署在监测区域内的多个监测点上。网关节点是数据采集层与数据通信存储层之间数据传输的桥梁,通过LoRa 模块与监测区域内的多个监测节点形成一个星型的拓扑网络结构,用于在监测节点和网关节点之间进行双向数据流动。网关节点一方面接收来自监测节点的数据并将其转发到NodeJS 服务器,另一方面接收来自Web 端的控制指令并将其传输到监测节点,以便控制监测节点的水质数据采集工作。
数据通信存储层主要负责监测数据的传输、处理和存储,由MQTT(Message Queuing Telemetry Transport)服务器、NodeJS 服务器、数据库服务器和区域数据中心组成。数据通信存储层一方面将数据采集层的网关数据通过MQTT 传输到近海岸监测中心的NodeJS 服务器,NodeJS 端软件负责读取对应传感器数据和判断数据状态,并把处理后得到的监测数据和相关日志记录存入数据库服务器。日志中的每条记录包含时间、设备ID、传感器数据获取状态等信息,方便了解数据质量、进行问题追踪并给出警报信息。同时,区域数据中心能够同步接收处理好的监测数据,实现数据的汇集和共享,为区域海洋资源利用和突发事件处理提供数据支持和决策依据。
数据展示控制层通过可视化手段(如地图和图表方式)在Web 端或移动端进行监测数据的实时展示、查询、统计和下载,并在数据采集存在异常时进行警报提醒。根据实际需要,用户可以在Web 端设置启动、暂停和数据采集时间间隔的指令,这些指令经网关传输到数据采集层,监测节点硬件系统根据指令控制采集节点的数据采集与反馈。
系统通过3 层结构间的合作,形成集合水质数据采集与传输、存储与共享、展示与下载、监测结果反馈和监测过程管理等功能的近海岸水环境监测综合平台,适用于近海岸污水监测、渔业养殖监测、海洋牧场监测等多种应用场景,改善了目前在线观测系统存在的如通信距离较近、费用较高、易受干扰、数据无法共享、布设不够灵活等问题。
为验证上述解决方案的可行性,首先对系统进行具体的硬件选型、软件设计和系统实现,然后对实现的原型系统进行应用测试。
本研究设计的近海岸水质观测解决方案涉及的硬件种类较多,且数据采集层硬件是保证近海岸水质监测数据质量的基础,下文主要介绍数据采集层硬件的选型,其硬件包含终端监测节点和无线传感网关节点两个部分(图2)。
图2 数据采集层的硬件系统拓扑结构Fig.2 Hardware system topology of the data acquisition layer
微处理器模块、通信模块和传感器模块的选择对于保证终端监测节点水质数据采集的实时性和稳定性至关重要。微处理器是终端监测节点的核心组成部分,是终端监测节点系统的“大脑”,传感器监测数据的读取、处理以及利用网关模块进行的数据转发都需要微处理器来完成。终端监测节点微处理器选用的是STM32F103C8T6 型号,其具有低功耗(全速运行时负载电流仅为27 mA)、高性能(基于CortexTM-M3 内核)、高实时(最高工作频率为72 MHz)、体积小(22.86 mm×53.34 mm)、接口丰富、支持多种外设和功能等特性。接着,通信模块选用的是基于SX1278 射频芯片的LoRa 数传模块,相比目前物联网数据主要的2 种传输技术—Wi-Fi 和Zigbee(表1),LoRa 具有传输距离远、功耗低、多节点、低成本以及抗干扰能力强等特性,可以很好地满足在近海区域监测组网传输中的需求。最后,选用的终端监测节点的传感器考虑采集温度、气压、浊度和全球定位系统(Global Positioning System,GPS)等常用海水水质监测指标数据。温度和气压选用BMP180 集成传感器,其具有精度高(气压绝对精度可以达到0.03 hPa)、体积小(尺寸为3.6 mm×3.8 mm×0.93 mm)、功耗低(负载电流为3 μA)、反应快(反应时间为7.5 ms)的优点。浊度传感器选用Turbidity sensor 型号,该传感器使用仪器分析法监测水体浊度,工作原理是利用光的透过率和散射率来检测悬浮颗粒物变化,相比其他常见浊度检测方法(如目视法和分光光度法),具有灵敏度高和检测准确的优点。GPS 传感器选择Beitian GPS 模块,该模块支持GPS 和GLONASS 双模,另外还具备搜星快、定位精度高、体积小、安装方便等特征。
表1 常见无线组网技术对比Table 1 Comparison of common wireless networking technologies
无线传感网关节点是监测数据上传至监测中心的中转节点,负责数据的接收和转发,因此该节点的硬件选型决定了数据传输的稳定性、组网的容量和数据传输距离,影响着近海监测数据完整性和可靠性,无线传感网关节点由微处理器模块和通信模块组成。无线传感网关微处理器选择ESP-WROOM-32 型号,其集成了功率放大器、低噪放大器、2.4 GHz Wi-Fi 模块和电源管理模块,核心是 ESP32-D0WDQ6 芯片,芯片内置2 个低功耗的Xtensa®32-bit LX6 型CPU,2 个CPU 时钟频率的调节范围为 80~240 MHz,ESP32 还集成了丰富的外设。无线传感网关节点的通信模块和终端监测节点一样,均选用LoRa 数据模块。
终端监测节点的硬件选型可保证长时间稳定地进行水质数据采集;无线传感网关节点的硬件选型则为数据的传输提供了链路基础。通过对整个系统选择合适的硬件模块,使得整个系统平台具有构建简单、体积小、成本低、可扩展性强、组网结构灵活、实时性好和稳定性高等优点。
系统软件是整个系统运行的关键,主要包括运行于微处理器上的嵌入式软件和运行于服务器上的上位机软件。嵌入式软件负责采集和传输水质观测数据,上位机软件负责对所采集的水质观测数据进行存储和展示,两部分相互合作完成系统水质数据采集、传输、存储、共享、展示、下载、管理和控制等功能。
嵌入式软件包括监测节点软件和网关节点软件,主要负责水环境数据的采集、传输和控制,程序流程图如图3 所示。STM32 在上电初始化后,声明传感器模块和数据串口,然后开启LoRa 通信,与ESP32 网关进行连接,连接后检测各串口传感器数据,循环读取并将数据发送到ESP32 网关,同时通过LoRa 接收来自网关的指令以控制传感器读取数据;ESP32 网关在上电初始化后,声明网络和MQTT 配置信息,LoRa 和MQTT 连接成功之后,ESP32 网关循环地将接收的数据传输到MQTT 服务器端,同时当MQTT 服务端发送指令时,网关接收指令后转发到STM32 串口上,若中途掉电或网络异常,会自动重新尝试创建连接。嵌入式软件的设计考虑了双向传输数据和自动控制,让用户可以根据实际需求进行水质采集参数的配置和控制,形成一种反馈机制,完善水质监测过程管理。
图3 嵌入式软件流程Fig.3 Flowchart of the embedded software
上位机软件主要用于监测数据的处理、分析、展示和控制,具体包括MQTT 端软件、NodeJS 端软件、数据库服务器软件、Web 端和移动端软件。上位机部件及功能构成如图4 所示。
图4 上位机部件及功能构成Fig.4 Parts and functional composition of the upper computer
MQTT 是一个基于客户端-服务器的消息发布/订阅传输协议,具有轻量、简单、协议开放和易于实现的特点,以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。监测数据传输到网关,MQTT 端软件把网关接收的数据转发到NodeJS 服务器,同时也接收来自Web 端的数据采集启动、暂停和时间间隔等设置指令,具有双向数据传递的功能。
NodeJS 采用事件驱动,具有轻量、可伸缩,适用于实时数据交互作用的特点。使用NodeJS 端软件接收来自MQTT 传输的数据,对数据进行分析和处理后将数据存储到数据库服务器中,同时生成日志记录以记录监测数据情况。
Web 端和移动端软件主要用于对监测数据进行展示和控制。Web 端具有查看和下载实时数据、在数据异常时进行警报、发送指令控制数据采集的功能。在Web 端的展示系统首页可以查看海洋生态环境相关新闻和下载海洋监测相关标准和资料,实测数据界面以图表形式动态实时展示监测点的数据,根据日志信息展示传感器的数据状态(如果出现异常就进行报警提示),数据节点界面以地图形式展示测试节点的位置情况和监测数据情况,数据下载界面支持将相关数据导出为Excel 文件。管理员可以通过Web 端的管理系统发送指令来控制监测节点,从而实现暂停或重新启动数据采集、控制数据采集传输的时间间隔等功能。同时,管理员还能对普通注册用户进行管理。移动端软件可以在地图上实时查看各测点监测数据的变化。 实现时,Web 端和移动端可采用不同方式构建,如Web 端使用Express 框架作为后端,使用Vue 和Element 框架快速构造出水质在线监测网站;移动端则使用微信小程序实现,因为微信小程序是依附于具有使用方便、用户广、生态良好等优点的微信平台上运行的一种无需下载安装的轻便应用,同时其开发门槛也比较低,可以快速构建移动端应用。
为测试整个系统的通信距离和传输稳定性,在上海浦东新区东海大桥附近海域开展了系统测试,选择A(121°55′26″E,30°51′43″N)、B(121°55′24″E,30°51′39″N)和C(121°55′19″E,30°51′38″N)三个不同的测试点,测试时间为2019 年11 月3 日,当时海水温度为10~13 ℃,海面风浪比较大。测试时正值退潮,海水比较浑浊。
在进行系统测试时,硬件系统通电之后,通过无人遥控船将硬件系统送到指定测试地点后进行测试(图5)。网关和监测中心部署在岸边,距监测点约1.2~1.5 km。当监测中心上位机软件启动后,整个系统就处于工作状态,硬件系统获取到传感器采集的数据后,通过部署的网关传输到监测中心。
图5 遥 控船 搭载 硬件 系统Fig.5 The remote control ship carrying with the hardware system
测试过程中,监测中心共生成了从2019 年11 月3 日09:30 至12:30 的水质观测数据和日志记录,该日志记录的数据传输状态信息表明数据采集正常、数据传输稳定。同时,对Web 端发送指令控制监测节点暂停(通过发送数字0)、启动(通过发送数字1)和传输时间间隔(通过发送其他整数)等进行了测试。Web 端的展示系统中实测数据界面以地图形式更立体地展示测试节点的位置情况和监测数据情况(图6)。另外,还对移动端的微信小程序进行了测试。小程序是以地图形式显示测试站位,先选择地图上的测试站位,再选择该站位对应的水质参数,即可展示该站实时的监测数据情况。
图6 测试节点的Web 端实测数据界面Fig.6 Monitored-data interface at the Web-end of the test node
本文针对当前近海岸水质监测系统存在的不足,从监测平台的功能需求出发,基于物联网技术,设计了一种实用的针对近海岸固定站位无线方式水质监测的解决方案,并基于该方案构建了一个近海岸实时监测原型系统。相关测试表明,该系统能够有效地实现近海岸水质监测数据实时采集、处理、传输、存储、区域汇聚与共享、展示、管理与控制。
本文在一定程度上也为当前复杂海况下先进的移动监测系统、内陆江河和船基监测系统的建立提供了优化的设计思路。未来将进一步进行系统优化与系统压力测试工作,并基于物联网技术开展船基模式下的海洋水质调查解决方案的研究。