基于LoRa无线传输的水质监测系统①

2022-08-25 02:51王明军樊思雨
计算机系统应用 2022年8期
关键词:浊度溶解氧电导率

王明军, 樊思雨

1(西安理工大学 自动化与信息工程学院, 西安 710048)

2(陕西理工大学 物理与电信工程学院, 汉中 723001)

3(陕西省智能协同网络军民共建重点实验室, 西安 710126)

目前, 我国城市化发展水平在逐年提高, 但是城市人口的飞快增长、水资源供应缺乏、以及环境污染造成的水污染等问题, 对城市水资源提出了巨大的挑战[1].水资源的短缺和污染不仅会阻碍经济建设, 更会对国民的身体健康带来危害. 污水的处理不当和环境的污染, 造成目前大规划化和高养殖密度的水产行业的水域水质逐年恶化, 水产品污染所导致的患病率也在不断地升高[2]. 因此水质监测的重要性日益凸显, 监测水质不仅有助于人类对水资源进行管理、保护和利用,还可以利于人类监测水产养殖的水质, 以提高养殖水产品的质量和产量, 使我们能够食用更加健康的水产品.

我国的水质监测技术起步较晚, 发展也较为缓慢,现阶段大多使用人工操作仪器的检测方法存在诸多不足, 效率低, 且监测周期长, 无法反映水域环境的实时变化[3]. 同时, CAN总线监测系统也处于不断发展阶段, 其在实时性和监测范围得到较大提升, 但其操作困难且易腐蚀, 造成投入成本较高[4]. 部分无线传感器在水质监测应用方面进行了研究[5], 比如美国Heliosware公司的EMNET系统, 但其通信速度慢、系统体积也较大, 并且还存在着功耗较高的缺点, 仅适合于实验室研究[6]. 杜治国等人[7]提出了利用ZigBee网络和互联网技术结合的远程实时水质监测系统, 实现了水质数据的远程接收, 但本监测系统体积庞大, 价格贵且需要市电供电, 局限性较大. 王文华等人[8]使用单片机采集并利用GSM传输相应数据, 但该方案网络要求高, 且成本较大, 系统的功耗也较高, 布设较为困难. Adamo等人[9]提出的系统采用IEEE 802.15.4或者ZigBee进行节点和基站之间的通信, 但是这些技术的通信范围较小, 仅限于数十米, 导致系统的空间分辨率不高. 通过使用额外的中继节点可以扩展范围, 但是这往往也引入了额外的路由成本, 导致成本变高, 而且ZigBee技术通常在2.4 GHz ISM的免许可频段运行, 该频段十分拥挤而且也容易收到干扰和攻击.

随着国内外物联网技术的快速发展[10,11], 物联网技术也被广泛应用于水资源监测领域[12,13]. 本文采用当下物联网发展的主要技术——LoRa通信技术设计了一种基于STM32的物联网水质监测系统. LoRa技术具有低功耗和远距离的优点, 在相同的功耗下, 相比于ZigBee和WiFi等无线通信方式, 其传播距离扩大了3–5倍, 适合大多数水域环境的通信要求. 本文利用嵌入式技术集成温度、电导率、浊度、风速风向、pH、溶解氧、氧化还原电位(ORP)传感器, 配置嵌入式实时操作系统(FreeRTOS)实现传感器任务调度, 通过LoRa技术和北斗GPS定位技术实现数据的发送与接收, 解决了传统水质监测点距离短、集成度低和功耗高问题, 配套的水质监测上位机软件实时显示水质数据和定位信息. 本系统可持续长时间监测水质环境, 同时测量多种数据, 具有一定的实用价值.

1 系统方案设计

水质监测系统主要由数据采集节点、无线通信电路和远程控制中心3部分组成, 系统方案设计如图1所示. 数据采集节点主要由水质传感器组、GPS/北斗定位模块、STM32处理器和电源电路组成. 水质传感器组收集到的定位信息、水温、电导率、OPR、pH、浊度、溶解氧和风速风向等数据经过STM32处理器处理并打包后, 再通过无线通信电路被发送到远程控制中心, 远程控制中心包括数据接收终端和上位机软件, 数据接收终端接收无线通信电路发送过来的数据,并将这些数据在上位机软件上进行显示和储存.

图1 系统方案设计

2 系统硬件设计

2.1 数据采集节点

数据采集节点负责数据的采集和处理, 发送给无线通信电路. 传感器组主要有水温传感器、电导率传感器、ORP传感器、pH传感器、浊度传感器、风速风向传感器、溶解氧传感器和GPS/北斗定位模块构成. STM32处理器采用STM32F103系列单片机, 该系列的单片机具有功耗低、接口丰富、I/O口易扩展的特点. 数据采集节点采用RS485总线采集电路和A/D采集电路实现对传感器组的集成. 数据采集节点结构图见图2.

图2 数据采集节点

水温传感器采用DS18B20数字温度传感器, 本传感器只有3个引脚, 电源线、地线和单总线, 该模块与单片机进行双向通讯通过单总线完成读写.

浊度传感器采用的是TS浊度传感器, 该模块主要依靠光学原理来判断溶液的浑浊度, 传感器内部是一个红外线对管, 当光线穿透一定量的水时, 其透过量取决于水的浑浊程度. 水越污浊, 透过的光也就越少, 光接收管中所产生的电流也越小, 而测量端通过接收到的电流大小则可以计算出水的浑浊程度.

pH传感器采用pH和温度一体的BHT-D型传感器,本传感器的测量电极为玻璃电极, 玻璃电极与溶液的pH值存在一定的数值关系, 可通过输出的电压值判断溶液的pH值. pH传感器还带有温度补偿, 当监测的水域温度不在范围内时, 通过补偿pH值得到实际的pH值.

ORP传感器使用GH-GO-300B ORP传感器, 氧化还原电位与水域的pH存在一定的线性关系, 水域的pH值增加, 则其氧化还原能力就会下降. 电导率传感器采用GH-EC-10电导率传感器, 风速风向传感器采用ZZ-WIND传感器, 风速测量部分采用三杯式组件,风向测量部分则采用精密电位器. 溶解氧传感器采用DO615D智能水质传感器. ORP传感器、电导率传感器、风速风向传感器和溶解氧传感器均采用MODBUSRTU协议与单片机进行通信.

GPS/北斗定位模块采用S1216F8-BD模组, 可通过3种方式进行启动. 电源供电不足, 模块接收到的历史数据丢失, 启动方式为冷启动; 模块接收到的卫星数据与历史保存的数据不一致, 启动方式为温启动; 模块接收到的卫星数据与历史保存的数据一致, 在此情况下为热启动方式. 使用NMEA-0183协议获取定位信息, 包括经纬度和UTC时间等信息. 本系统的硬件电路图如图3.

图3 硬件电路图

2.2 电源电路

本系统最终应用于河流、湖泊等水域环境, 考虑到本系统工作在室外无法产电等实际问题, 所以最终采用太阳能电池板和12 V的小型蓄电池为系统供电.ORP传感器、电导率传感器和风速风向传感器供电可由太阳能输出的12 V电压进行直接供电, 而GPS/北斗定位模块、pH传感器、浊度传感器和水温传感器则由稳压芯片LM-7805输出的5 V电压进行供电. 而蓄电池则是用来在阴雨天气等情况下弥补由于太阳能不足造成的无法持续供电的情况.

2.3 无线通信电路

LoRa技术是当前物联网中应用较为广泛的一种无线通信技术, 从表1各项技术的对比中可看出, LoRa与WiFi和蓝牙技术相比, 不仅传播距离更远, 而且成本也更低, 相比于GPRS技术具有低功耗等优点, 可灵活布置LoRa网络实现大范围的监测区域. 因此本系统无线通信电路的设计采用LoRa技术进行数据的传输.

表1 LoRa、WiFi、GPRS以及蓝牙技术的对比

无线通信电路由STM32处理器和LoRa模块组成, 完成数据的发送和接收功能. LoRa模块采用sx1278芯片, 当AUX=0, MD0=1时, 模块处于工作状态, 该芯片的工作参数可通过AT指令进行配置, 模块的工作参数具体配置见表2. 工作模式配置完之后, 模块便会进入通信功能, 并根据我们设置的AT指令执行功能.

表2 LoRa模块相关指令配置

3 系统软件设计

3.1 数据采集节点软件设计

数据采集节点的软件设计首先需要对数据采集节点中的STM32F103ZET6单片机和各个传感器进行初始化和参数配置, 再通过串口发送AT指令, 启动LoRa模块. 系统连接成功之后, 会进入低消耗待机状态, 当单片机接收到远程控制中心查询数据的请求之后便会开启传感器, 并对其水域的各项指标进行监测, 同时将监测的数据发送回控制中心.

数据采集节点的软件采用任务调度机制来处理系统中的各个任务, FreeRTOS操作系统可处理的任务在数量上没有限制, 因此相比于其他系统采用双向链表的方式处理各个传感器的任务, 保证了系统处理子任务的实时性和可靠性. CPU可使优先级高的任务优先运行且对于优先级相同的任务可以同时处理, FreeRTOS支持不同任务的优先级可以相同, 并能够平均分配CPU的使用时间. 利用FreeRTOS的消息队列功能, 数据采集节点发送任务在数据采集任务没有完成之前处于阻塞状态, 收到消息队列后, 发送任务才会被调度执行. 表3是对各个传感器任务和数据采集节点任务优先级的设置.

表3 任务优先级

软件设计流程包括数据采集节点软件设计和数据发送软件设计, 设计流程如图4所示. 首先进行硬件初始化和FreeRTOS初始化, 采用时间片对各个子任务进行调度, 温度、pH、电导率、浊度、ORP、风速风向、溶解氧采集子任务共用一个优先级, 各个子任务采用时间片轮流执行, 数据采集完毕之后, 将数据封装打包, 通过LoRa上传至远程控制中心.

图4 软件设计流程

pH传感器、浊度传感器和温度传感器通过A/D总线与主控制器进行通信, 风速风向传感器、电导率传感器、溶解氧传感器和ORP通过RS485+MODBUS协议进行通信. GPS/北斗定位模块通过串口与主控制器进行通信. 本系统中RS485采用两线制的主从通信方式, 通信协议采用Modbus-RTU进行通信传输, 各个从机设备都有自己的从站地址, 主机端向从机端发出消息请求, 从机端接收到消息后并向主机发送数据来响应请求. 数据校验采用16位CRC校验, 当主从端的校验结果一致, 数据才会被主机端接收.

3.2 LoRa节点软件设计

数据发送软件设计主要是LoRa采用透传模式进行数据的发送, 不需要数据传输协议即可完成数据的发送与接收. LoRa数据接收端和LoRa数据发送端拥有相同的速率、信道和目标地址. LoRa节点软件设计流程如图5所示.

图5 LoRa软件设计流程图

3.3 远程控制中心软件设计

远程控制中心软件设计是实现水质参数上位机软件的设计, 设计原理图如图6所示, 实现对水质数据的在线监测和显示功能. 软件是基于Qt的串口上位机软件, 利用Qt的QSerialPort类实现串口通信, 包括串口号、波特率、停止位、校验位和数据位的设置, 可进行账号的注册登录、水质数据的管理和数据采集节点的地理位置信息显示.

Qt是一种面向对象的应用程序框架, 利用C++语言进行开发设计. 通过下载离线地图, 通过Qt与HTML交互, 实现离线定位. 而关联按键和槽函数, 可完成水质数据的显示和串口的控制. 图6是上位机软件结构原理图.

图6 上位机软件结构原理图

4 系统测试与分析

4.1 通信质量测试

本系统通信质量测试采用LoRa模块sx1278和ZigBee模块CC2530进行对比实验, 通过主节点发送300个帧数据包, 测试从节点接收到的帧个数, 以丢包率来表征通信质量, 通信质量测试表如表4所示.

由表4可看出, 在通信距离小于200 m的情况下,LoRa丢包率为0, 满足小距离通信质量要求. 通信距离大于300 m时, ZigBee不能接收到帧数据包, 丢包率达100%. 由此可看出, LoRa技术相比于ZigBee技术更有优势.

表4 LoRa和ZigBee通信质量测试表

4.2 系统测试

本系统搭建完成之后进行了数据测试, 水质监测点选择为西安市灞河边相距约30 m的两个地点, 传感器收集到的水质及位置等信息通过LoRa无线模块发送并被上位机软件接收. 基于LoRa的水质环境监测系统上位机软件在两个不同地点的测试结果如图7所示.

图7 基于LoRa的水质环境监测系统上位机软件测试

本次实验于2021年11月6号在西安市灞河边展开, 在相距约30 m的两处了进行测试, 将相对位于上游的地点记为地点A, 而位于下游的地点记作地点B.测试时, 首先将传感器均置于河水中, 随后在上位机软件上对测试数据进行了显示, 约20 min过后数据的变化开始减小, 数据逐渐稳定. 随后记录下了稳定后约2 min内的100组数据, 并将数据随时间的变化绘制在图8中, 图中显示了电导率、pH、温度、OPR、浊度和溶解氧等共6个参数的变化趋势.

由图8可以知道, ORP的变化范围为149.0–172.0 mV, pH的变化范围为7.4–8.6, 电导率的变化范围为120–130 μS/cm, 温度的变化范围为9.0–12.0 ℃,浊度的变化范围为950–1000 NTU, 溶解氧的变化范围为7.3–8.3 mg/L. 能够表明本系统供电充足, 可长时间稳定运行. 而PM2.5和PM10这两种传感器未安装, 因此暂无数据显示. 图8中测试数据的均值与标准差见表5.

图8 传感器测得数据随时间的变化

从表5中能够看出除了温度, 其他5组数据的变异系数(标准差/均值)的结果均小于5%, 温度的变异系数也仅为8.76%, 由数据可证明本系统具有较高的稳定性和可靠性.

表5 感器测得数据的均值与方差

根据《地表水环境质量标准》(GB 3838-2002), 每周水温的最大温升≤1, 最大温降≤2时均为正常值,pH范围为6–9时为正常值, 主要水源头和国家自然保护区(I类水源)溶解氧的范围≥7.5 mg/L, 集中饮用水表面水源一级保护区、珍稀水生生物栖息地、鱼虾产卵地(II类水源)的标准范围应≥6 mg/L, 集中式生活饮用水地表水源地、鱼虾类越冬地、迁徙路线、水产养殖区及其他渔业水域、游泳区(III类水源)的范围应≥5 mg/L.

而本次测试的结果表明, 灞河水的pH均值在限值范围内, 灞河水的溶解氧结果满足了II类条件, 并且几乎全部达到了I类水质的标准. 电导率和氧化还原电位(ORP)没有具体的标准限值, 但电导率通过水质的导电性能够反应水中的盐度和总离子浓度. ORP对于水质监测至关重要, 它能够反映水质的氧化性和还原性, 以确保不会增加生物种类患病的风险. 浊度反映的是水质的浑浊度, 如果水质浑浊度太大则会影响到水体植物的光合作用, 从而降低生产氧的速率, 使得生物群落的更替速率下降, 进而会导致水体的污染程度加剧.

pH值、溶解氧和水温等因素均会影响鱼类的生存和繁殖, 例如水产养殖中过度投放鱼类饲料会造成水体的富营养化, 水域污染等问题. 根据渔业水质标准(GB 11607-89), 正常的淡水鱼养殖环境中, 为了使鱼类能够进行正常的生理活动, 溶解氧的范围不得低于5 mg/L, pH一般维持在6.5–8.5, 若pH过大或者过小,则可利用酸碱缓剂进行矫正.

基于LoRa的水质环境监测系统上位机软件通过串口接收到温度、浊度、风速风向、电导率、ORP、pH、溶解氧等参数, 能在一定时间内持续稳定的接收数据以及对监测点的准确定位, 可长时间的对水域环境进行监测, 在水产养殖和水质监测中具有一定的应用价值.

5 结论

本文应用嵌入式技术, STM32F103ZET6单片机作为控制核心, FreeRTOS系统实现了任务调度功能, 实时地处理各个传感器任务, 完成数据的采集和处理工作, 并且利用LoRa无线技术进行数据传输, 实现水域环境的远程管理. 本文对系统方案、软硬件电路的实现进行了详细的介绍, 并对系统的性能进行了测试, 可得出灞河水质的PH、电导率、ORP、浊度、溶解氧的变异系数的结果均小于5%, 温度的变异系数为8.76%, 具有较高的稳定性. 本文最终实现了远距离无线传输的水质监测系统, 具有功耗小、成本较低、可扩展性强等优点. 结果表明本系统可用于水厂养殖、河道监测等水域环境, 为预测环境中的水资源状态提供了可靠的水质数据.

猜你喜欢
浊度溶解氧电导率
混凝沉淀处理生活污水的实验研究
浅析水中溶解氧的测定
运用手持技术测定“蓝瓶子”实验中溶解氧浓度的变化
鱼能否在水以外的液体中生存
标准修改、更正、勘误信息
不同低温处理对桃1年生枝相对电导率的影响
基于电导率法的地沟油含量测定
环境条件对上海蕴藻浜水体沉积物Ni释放影响的研究
2265FS土壤原位电导仪测定结果与土壤含盐量的关系
时效制度对7075合金电导率的影响