谢李祥,邢传玺,万兴举,吴耀文,张东玉
(云南民族大学 电气信息工程学院,云南 昆明 650500)
海洋拥有丰富的自然资源,同时也是影响全球环境和气候变化的主要动力因素.精准地获取浅海信息和开发利用海洋资源已成为人类文明持续发展的关键[1].目前国内传统的环境参数采集设备通常为定点浮标、潜标或者水面调查船等.这些设备在具体实施的过程中存在许多问题:数据采集完成后,通常将其存储在自身的存储介质中,需要工作人员后期进行回收和对数据进行分析,不能及时、直观的获取浅海信息而且需要花费大量的人力物力[2].此外浮标和潜标等传统采集设备,安放地点固定,对于大面积监测海域时,测量结果存在偶然性,不易具有代表性.
本文结合当前浅海所面临的环境污染、资源匮乏等问题和水声信号采集的运用背景,设计了一种由数据采集终端为核心的浅海环境参数采集系统.数据采集终端集多种传感器、存储模块、无线传模块和电源管理模块为一体.其通过驱动多种传感器获取浅海环境参数,并将结果存储和通过无线通信模块发送到远程监控中心进行分析,避免了人工回收数据所消耗的人力物力和不能及时、直观获取浅海信息的缺点.为了实现大面积海域的数据采集,将数据采集终端搭载在自动巡航的监测平台上,避免了单点测量数据不具代表性的缺点.
本系统将多个传感器搭载在自动巡航的监测平台上,作为系统的数据采集终端[3-4],采集终端通过多个传感器获取数据后使用NB-IoT无线传输模块进行环境参数回传,使得远程控制中心能够及时获取数据[5];在获取到数据后,对数据进行分析处理,并在用户端进行可视化,便于更好的使用数据与监测海洋.系统的整体结构设计图如图1所示.
图1 系统整体结构设计图
其中每个单个节点均搭载在独立的移动浮标上,且包括控制中心、GPS天线、温湿度模块、NB-IoT模块和多传感器模块,并使用太阳能板给蓄电池进行充电,具体结构设计如图2所示.
图2 单节点结构设计图
数据采集终端主要由主控模块、数据采集模块、存储模块、GPS模块、电源控制模块和无线通信模块组成[6].数据采集终端结构如图3所示.
图3 数据采集终端结构图
主控模块采用STM32系列处理器,主要负责主控程序的运行,各模块初始化和接口函数程序加载,以及对采集的数据进行存储和发送;数据采集模块主要负责采集所测区域的各种参数,包括温湿度、PH值、水温和水深等环境信息[6-7],通过RS485、RS232和IIC等总线与主控芯片连接,实现数据回传和接收主控芯片的控制信息[8-9];无线通信模块采用NB-IoT模块,主要负责将终端采集的数据上传到远程控制中心;GPS模块主要负责获取所测区域经纬度和当前时刻 的UTC时间和日期.
其中电源模块主要负责给整个系统供电,采用电池容量为 7 500 mAh/12 V 的锂聚合物电池,并同时使用18V.5 W的太阳能板进行充电.根据太阳能的转换效率,每天光照 8 h 左右,产能为[2]:
Q产能=5 W×8 h×50%=20 Wh.
(1)
整个系统采用低功耗方案设计[10],系统工作时最大功耗为900 mW,若每天按24 h使用,则总耗能为:
Q耗能=900 mW×24 h=21.6 Wh.
(2)
通过上式计算使用太阳能供电也可基本满足系统供电需求,此外在蓄电池一次完全充电的情况下,系统可以使用的时长为:
T=12 V×7.5 Ah/900 mW=120 Wh/0.9 W=100 h.
(3)
则正常情况下,可连续采集4天以上,满足连续采集和低功耗需求.
主控模块采用STM32F407芯片,该芯片具有高性能、低功耗、实时性的特征[11],同时具有丰富的外设,包括多达15个通信接口和17个定时器[12],满足系统开发要求和接口需求.其主控芯片主要负责对系统进行初始化,初始化完成后通过规定的时序依次驱动多种传感器对所测区域的水文环境参数进行采集,并将采集数据通过SPI口存储到外部FLASH中和通过无线通信模块发送到远程控制中心,其工作流程如图4所示.
图4 主控程序工作流程
数据采集模块主要为采集水文环境参数的多个传感器,通过各种通信接口与主控芯片相连接,其中PH值通过PH电极和PH变送器获取、水深通过GPS秒脉冲触发换能器垂直向下发射单一波束声波,并根据来自水底反射回波的接收时间、发射时间与声速计算获取、水温参数通过DS18B20数字温度传感器获取、所测区域温湿度参数通过SHT31温湿度传感器获取[6].各传感器都满足性能稳定、耐腐蚀能力强和精度高的特点,这将进一步更好的保障数据采集模块准确、正常的工作.
以温湿度传感器SHT31为例,该传感器通过IIC接口与主控芯片相连接,并通过内置的温度和湿度传感器元件、A/D转换器、信号处理电路和数据校准模块实现温湿度的获取.并且该传感器通过PTFE膜与传感器封装紧密的粘合在一起,有效的避免了海水与灰尘的进入,使得传感器可以在恶劣环境下使用[6].其数据采集软件流程如图5所示.
图5 数据采集流程
无线通信模块主要负责将数据采集终端获取的数据发送到远程控制中心.采用谷雨有限公司的NB-IoT模块,该模块主要由BC_35模块、复位电路、SIM卡槽和滤波天线组成[13].并且该模块与短距离通信技术Zigbee、Wi-Fi、蓝牙、Z-wave等相比较有着传输距离远、低功耗、成本低等优点[14-16],适合工作于宽广的海面.
NB-IoT模块通过USART与STM32芯片相连接,STM32通过发送AT指令对BC_35进行控制,实现初始化、网络附着、创建TCP/UDP Socket、连接服务器和发送数据等操作,最后通过850MHz的SMA天线将数据上传到Internet网,再由Internet网发送到远程控制中心,其上传流程图6所示.
从图6中可以看出,当系统上电后先对串口初始化,实现NB-IoT模块和主控芯片正常通信.通过主控芯片给NB-IoT模块发送AT指令,实现NB模块初始化,包括查询网络状态、附着网络等.
图6 NB-IoT通信流程
网络附着成功后,按照如下步骤上传数据并周期性检测设备信号值、附着状态等指标,提高传输可靠性.
Step1 使用AT+NSOCR=STREAM,6,10000创建TCP Socket.STREAM和6确定为TCP连接,本地监听端口号为10000,创建成功后NB模块返回主动码socket ID,其值为0~7的一个整型数值;
由于高原湖泊的湖泊环境和面临问题与浅海类似,因此本文在云南民族大学校园内的雨花湖中进行了验证性实现,测试系统的可行性与可靠性.将数据采集终端搭载在移动浮标上,放置于湖泊中,其姿态如图7所示,使用无人船实现浮标移动.
图7 现场测试图
为了更加直观的远程监测浅海环境和采集设配,在远程控制中心使用LabVIEW软件创建TCP客户端访问服务器,获取终端使用NB-IoT无线传输模块上传的数据与节点地址,并将数据可视化于用户端,其设备基本信息如图8(a)所示,环境参数可视化如图8(b)所示.
图8 设备基本信息与环境参数可视化界面
从图8(a)中可以清楚观测到设备的工作温度、工作电压和运行状等,能实时查看设备运行状态,避免设备出现故障,影响环境监测;同时可以实时查看终端信号值与连接服务器状态,确保通信流畅.从图8(b)中可以直观看到经纬度、水温等基本环境参数,避免了观测分析不及时与人工回收数据成本高的缺点.
实际实验中将多传感器置于水下10 cm处,每1 S采集一次,并将采集的数据存储于SD卡中,远程控制中心距离采集点 1.5 km,同时为了更好的测量湖底地形,在实验过程中布设了8条测线进行测量,每条测线长为 80 m,测线间距 5 m,其巡航轨迹与具体测线布设如图9(a)和9(b)所示.
图9 巡航轨迹与测线布设图
从图9(a)中可以明显观测到巡航轨迹,与实际无人船行驶轨迹一致,因而可以确定终端采集数据准确,且移动浮标可正常使用.
此外,远程控制中心接收到基本环境参数后,对数据进行分析处理,并在PC端进行可视化,其温湿度变化趋势如图10(a)所示,水温度变化趋势如图10(b)所示.
从图10中可以观测到温湿度与水温在一天之内的变化趋势,和实际情况相符合.因此可以判断该采集系统采集性能良好,连续性强和可靠性高,可以满足浅海环境参数采集的需求.
图10 温湿度与水温变化趋势图
最后,为了进一步验证采集的深度环境参数为有效数据,经过地形链算法[17]进行异常值剔除后,雨花湖水下地形仿真图如图11所示.
图11 实测数据水下地形仿真图
从图11中可以直观看到所测区域湖底地形为中间高于两则,达到了湖底地形测绘目的,说明该采集数据准确有效.
本文基于传统水文环境参数采集设备处理数据不及时、成本高和采集数据不具代表性等缺点的考虑,设计了一套高可靠性、低功耗、低成本的采集系统,该系统由多个采集传感器组成,能更加全面准确的获取所测区域的浅海水文信息,并将采集结果通过NB-IoT模块及时回传,避免了人工回收数据处理不及时和成本高的缺点;将数据采集终端搭载自动巡航的监测平台上,可以对大面积海域进行采集,更好的提高采集数据可靠性,进一步避免了数据的偶然性.最后经试验证明:采集系统能长时间正常工作,采集数据能及时、准确反映所测区域环境现状.