一种物联网水质监测云系统设计与实现
2022-04-25王超梁杨格格
王 岩,王超梁,杨格格
(郑州航空工业管理学院 智能工程学院,河南 郑州 450000)
0 引 言
海洋是地球上最早出现的水体,其次是河流、湖泊等,在人类生活和经济发展中都离不开生命之源—水。生活饮用水的质量与人类的身体健康息息相关,工业用水的水质影响着产品质量和配套设施的维护难易程度,废水、污水更关乎生态圈的可持续发展。因此,做好水资源质量监测至关重要。
传统水质监测方案虽然针对性强,但是检测周期长、水样采集复杂、人工成本高。近年来,随着人工智能和物联网的发展,智能环保系统大大提高了水质监测的效率和精度。本文设计的云系统能够实时、自动监测水质,可拓展性强,不仅适用于生活用水的监测,还可应用于野外水域、水产养殖、工业用水等场合。
1 系统总体设计
本水质监测云系统以STM32F103单片机为核心控制器,利用水质传感器对所在水域一定范围内的温度、浊度、pH值和TDS数据进行实时采集,得到的电压信号经单片机A/D转换与数值转换后获取对应的浊度、pH值和TDS值,结果通过FSMC控制器发送至液晶屏,同时ESP8266通过MQTT协议将处理后的数据发送到物联网阿里云平台进行实时显示。当水质参数的数值超过系统预设阈值时,可及时通过声光报警发出预警信息,从而帮助用户快速掌握所测水域环境的变化情况。
图1所示为系统总体框架。
图1 总体设计框架
2 硬件设计
2.1 温度测量
本系统温度测量选用DS18B20温度传感器,遵循1-Wire单总线协议,将采集到的温度信号通过PG11管脚送入单片机芯片进行后续处理,然后通过显示模块进行显示。DS18B20与单片机硬件连接关系如图2所示。
图2 DS18B20与STM32连接电路
2.2 浊度测量
TSW-30传感器内部的红外线对管发出光线,穿过待测溶液,水体浑浊程度影响光的透射、散射,其浑浊程度与透光量成反比,和散射光与透射光比值成反比,与光接收端转换的电流大小成反比。TSW-30传感器光接收端输出的电流信号通过模块电阻,采样处理得到为0~4.5 V电压信号,单片机再通过ADC采集信息并经过公式转换就可以获知当前水样的浊度值。浊度测量模块原理如图3所示。
图3 浊度测量模块原理
浊度传感器模块必须外接5 V电源,TSW-30通过XH2.54接口连接到浊度模块上,浊度模块的AO引脚连接单片机ADC1引脚PA6。
2.3 pH测量
本系统选用通用E-201 pH复合电极采集pH参数。该电极由pH玻璃电极和银-氯化银参比电极复合而成,当电极浸入待测溶液时,玻璃薄膜附近形成2个水化凝胶层,在进行pH测定时,玻璃膜两侧溶液的离子交换形成相对稳定的电势差,随之离子交换趋于稳定,电势差的大小趋于定值,即输出电压,pH电极输出电压为毫伏级。
复合电极配套模块搭载TLC4502自动校准运算放大器,用来放大pH电极的毫伏级电压信号,同时搭载放大倍数调节电位器,顺时针方向旋转即可增大放大倍数,反之减小放大倍数,pH模块输出电压范围为0~5 V。pH传感器模块接入系统使用之前,应用标准缓冲溶液调节电位器进行校准。
pH传感器模块外接3.3 V电源,复合电极通过BNC接口连接监测模块,模块的PO引脚连接单片机ADC1的通道5即引脚PA5。
2.4 TDS测量
本系统利用TDS探针进行溶液溶解性固体总量参数采集,在两探针电极之间载入电压后,带正电的离子(如Na,Ca,Mg,K等)向负电荷的方向移动,带负电荷的离子(如Cl,SO,HCO等)向正电荷的方向移动。通过检测离子移动所产生的电流,从而确定待测液的TDS值。
TDS模块供电电压正极兼容3.3 V和5 V电压,输出0~2.3 V模拟电压信号,所以需要单片机进行ADC采集,文中选用ADC1通道7,即2Pin XH-2.54接头与TDS探针连接,TDS模块的TDS引脚连接到单片机的引脚PA7。
2.5 LCD显示
本系统选用ALIENTEK TFTLCD模块作为测量参数显示屏。TFTLCD巧妙结合了微电子技术、薄膜晶体管(TFT)技术、LCD技术,可有效克服非选通时的串扰,大大提高监测质量。
TFTLCD模块有21条8080并行接口信号线,其中CS信号线用来传输TFTLCD片选信号;WR和RD分别对TFTLCD写入和读取数据;DB1~DB8、DB10~DB17为双向数据传输信号线;RS用来传送读写命令/读写数据标志位,RST为硬件复位信号线,直接连接单片机的复位引脚。
TFTLCD通过FSMC控制器驱动,所以,LCD_CS、LCD_RS、LCD_WR、LCD_RD分别连接至FSMC控制器的NE4、A10、NWE、NOE,即单片机的PG12、PG0、PD5、PD4引脚;LCD_BL引脚与单片机PB0相连,实现背光控制;LCD_D0~LCD_D15连接到FSMC_D15~FSMC_D0。
2.6 WiFi通信
本系统通信模块设计选用安信可公司出品的ESP-01S通信模块,共有8个接口,其中供电电源正极使用3.3 V电压供电;RXD为异步串口接收端;TXD为异步串口发送端;EN引脚为芯片使能端,输出高电平有效;IO0引脚悬空时为FLASH下载模式和工作模式,下拉时为串口下载模式;IO2引脚默认为高电平,开机上电时禁止下拉;RST为外部复位引脚,默认为高电平,输出低电平时有效。
本系统中,ESP-01S模组的VCC管脚连接3.3 V电压,ESP-01S的TXD、RXD、RST引脚分别连接单片机的PA3、PA2、PA4引脚,实现UART通信,剩余管脚悬空。
3 软件设计
本系统软件设计采用C语言编程,在Keil5开发环境中运行,利用ST-Link下载工具在线调试,由XCOM软件进行串口调试。
系统软件设计包括传感器单元程序设计、控制单元程序设计和WiFi模块程序设计。传感器单元包括温度、浊度、pH值和TDS值的采集,需获取待测水域的环境因子。其中,温度数据采取单总线方式读取,浊度、pH值和TDS值需要利用A/D转换将模拟信号转换成数字信号,并经过中央处理器处理后转变成对应的参数值;控制单元包括显示和预警两部分,水质参数数据可在TFTLCD上实时显示,并设置阈值,当参数超过此范围时可利用蜂鸣器报警;WiFi模块通过MQTT协议将获取的数据发送到阿里云物联网平台并实时显示。系统软件总体设计框架如图4所示。
图4 系统设计流程
4 结果分析
本系统上电测试之前,检查各模块是否连接正确。系统上电前如图5所示。连接电源后,查看是否存在短路、断路或芯片过热等异常现象。开通阿里云物联网平台,创建产品、设备,设置产品自定义属性、服务和事件,然后发布模型。利用IoT Stutio开发Web应用,选取仪表盘,设置样式、数据范围、配置对应的数据源等,组建该水质监测云系统设备运维大屏。
图5 系统未上电图
程序编译无误后烧录入单片机,烧录成功后系统还未连接至阿里云服务器,所以暂时未传输数据至LCD,等待几秒后,可在XCOM串口调试软件观测到单片机已成功连接阿里云服务器,并开始进行数据透传,此时LCD开始显示测量参数,如图6所示。
图6 连接服务器成功后LCD显示界面
登录阿里云物联网平台,可在公共实例中查看设备,点击模型数据,实时查看水质测量数据;点击IoT Stutio的应用开发,查看创建的全局资源项目;应用绑定设备,查看水质监测系统设备运维大屏。水质监测系统设备运维大屏如图7所示。
图7 水质监测系统设备运维大屏
将传感器分别放入不同待测溶液中,TFTLCD、模型数据、水质监测云系统设备运维大屏水质参数均可实时显示。
5 结 语
本文设计了基于阿里云物联网云平台和STM32F103ZET6单片机的水质监测云系统,利用水质传感器对所在水域一定范围内的温度、浊度、pH、TDS数据进行采集,单片机进行数据处理后,通过FSMC控制器发送到液晶屏上显示,同时通过WiFi模块将采集的数据发送到阿里云物联网平台实时显示。该系统操作简单、数据分析方便、应用场合广泛、可拓展性强,适合在野外场合多点放置、实时监测,多区域在线水质监测云系统具有一定的实用性和经济价值。