基于嵌入式物联网技术的水质检测系统设计*

2020-12-21 05:43唐明佳田孝文周子鹏
关键词:下位串口单片机

唐明佳,田孝文,周子鹏

(吉首大学物理与机电工程学院,湖南 吉首 416000)

目前,水源地的水质检测主要依靠人工操作,检测周期短则1个星期,多则1个月.而我国幅员辽阔,水域众多,人工检测难以及时预防和处理突发的水污染问题.为了解决这个问题,笔者研发了一套基于微控制器STM32的水质检测系统.采用该系统进行水质检测,可以实时回传并分析检测数据,方便对污染区域作早期治污处理,避免发生重大环境污染事件.

1 系统总体框架设计

本系统主要分为上位机和下位机两部分,其总体框架设计如图1所示.

图1 系统总体框架设计Fig. 1 Overall Framework Design of the System

上位机由服务器、手机APP和Web客户端组成;下位机的主要组成为STM32微控制器、GPS定位模块、物联网模块和水质检测参数相关的模块等.

下位机中,通过pH值检测模块、温度检测模块、TDS检测模块,采集水的pH值、温度值、水中溶解性固体总量(TDS)等数据并传输给STM32单片机,GPS定位模块提供位置信息.将整理好的数据按照预定的协议格式通过物联网模块发送至附近的移动基站,最终传输至服务器进行存储和管理.上位机中的手机APP、Web端通过访问服务器可以获取实时数据和相关的历史数据,再由统计图表获取当前和之前某段时间内的某一个地点的水质情况.通过扩展,还可以查看感兴趣的地区的水质情况.

2 系统下位机设计

2.1 下位机测量模块硬件设计

下位机测量端硬件主要包括pH值检测采集传感器模块[1]、DS18B20温度传感器模块[2]和TDS水质检测模块[3].

pH值检测模块工作时,将pH值电极放入水中,另一头经BNC插口输出电压信号至放大器并将信号放大,信号最终接入单片机的ADC通道;单片机通过AD转换即可读出不同pH值对应的电压值,从而获取水的pH值.

测温模块为DS18B20数字温度传感器探头不锈钢封装防水型.美国Dallas半导体公司生产的数字化温度传感器DS18B20,采用导热性高的密封胶灌封,保证了温度传感器的高灵敏性,温度延迟小,同时支持单总线(1-Wire)通信,可以很好地兼容单片机.测量温度范围-55~125 ℃,精度±0.5 ℃.在检测水温时,温度探头放入水中,与水充分接触,另一端电源接+5 V和GND,信号线接单片机的GPIO口,与DS18B20模块进行单总线通讯,读取温度值.

TDS水质检测采用的是TDS水质检测探头和BA01芯片组合而成的模块.BA01是一款检测TDS的专用芯片,内部集成高精密振荡电路、模数转换电路和浮点运算单元.将检测探头放入水中,另一头连接BA01芯片电路,探头传回信号并转换成数字信号,然后通过串口通信发送给单片机,从而得到TDS值.

2.2 下位机控制模块硬件设计

控制芯片采用的是ST(意法半导体)公司的STM32F103R8T6芯片,它是STM32F103系列中高性能、高配置Cortex-M3内核32位处理器,主频72 MHz,封装LQFP64,片内FLASH容量64 kB,SRAM容量20 kB.STM32F103R8T6芯片自带2个12位模数转换器,转换时间1 μs,输入通道21个,转换范围0~3.6 V.本设计采用ADC1通道1读取pH值模块输出的电压信号,能完全满足要求.此外,该芯片集成3个串口.串口1用于读取TDS水质检测模块的数据,串口2用于将各个模块读取的数据发送给SIM800A模块,串口3用于读取GPS定位模块的数据.STM32F103R8T6芯片的原理图如图2所示.

图2 STM32F103R8T6芯片的原理图Fig. 2 Schematic Diagram of STM32F103R8T6 Chip

2.3 下位机电源模块硬件设计

电源模块通过锂离子电池组进行供电,总电压达到11.1 V.因为STM32单片机额定电压+3.3 V,DS18B20测温模块、物联网模块、pH值检测模块和TDS检测模块的额定电压+5 V,所以必须通过稳压芯片为各个模块提供合适且稳定的电压.电平转换通过ASM1117稳压芯片输出稳定的+3.3 V电压,通过LM2940稳压芯片输出稳定的+5.0 V电压,即可满足要求.

2.4 下位机定位模块设计

下位机定位模块采用的是一款高精度RTK定位产品(RTK-MOUSE),定位精度可达到亚米级.支持GSM850,EGSM900,DCS1800,PCS1900多频段通讯,能够满足系统设计需求.

定位模块集射频、基带、功耗管理单元、功率放大器和天线于一体,可通过GPRS网络或本地串口获取RTK高精度位置信息.设备配有数据线、防水外壳(56)、固定用螺丝孔,具有体积小、安装使用方便和便于集成等特点.内置天线,支持GPS和北斗定位信息.供电电源电压+5 V,默认串口波特率115 200 bps,冷启动低于28 s,热启动低于3 s,响应快速.定位模块实物如图3所示,调试界面如图4所示.

2.5 下位机数据发送模块设计

数据发送采用SIM800A物联网模块.SIM800A是SIMCOM公司推出的一款高性能工业级双频GSM/GPRS模块,工作频段双频为GSM90/1 800 MHz.SIM800A可以低功耗实现语音、DTMF、SMS(短信/彩信)、GPRS数据的传输,广泛应用于智能家居、智能集抄系统和远程监控等.本设计主要利用SIM800A的GPRS数据传输功能.SIM800A模块与单片机相连,通过串口将检测到的数据按照预定格式发送给SIM800A模块,SIM800A模块通过已激活的SIM卡,利用GPRS数据传输功能将数据发送到附近的移动基站,经移动基站再发送到服务器,供上位机查询、计算和处理等.

图3 定位模块实物Fig. 3 Physical Positioning Module

图4 调试界面Fig. 4 Debugging Interface

2.6 下位机软件部分设计

下位机软件系统设计采用C语言,开发平台为Keil 5.0,软件源代码编译成功之后通过ST-LINK下载器下载到单片机中.下位机模块上电之后,单片机进入主函数,先初始化各个模块,再进入主循环,依次从pH值检测模块、测温模块、TDS模块获取测得的数据,并进行格式转换、打包,经串口发送给SIM800A模块,最终通过SIM800A模块发送至附近的基站.下位机软件设计程序结构如图5所示.

图5 下位机软件设计程序结构Fig. 5 Lower Computer Structure Software

3 系统上位机设计

3.1 上位机数据查询设计

手机APP、Web端通过TCP/IP通信协议与Tomcat服务器交互,获取下位机各模块采集的数据,并对数据进行储存、分析,再形成图表展现.服务器会存储水质检测数据,用户通过客户端的数据搜索功能访问MySQL数据库,就可查询指定时间段的水质情况.手机APP客户端界面如图6所示,Web客户端如图7所示.

3.2 上位机GPS定位设计

Web端通过TCP/IP协议从Tomcat服务器获取下位机GPS模块定位的经纬度数据,将经纬度数据存储至MySQL数据库.然后调用百度地图API,采用反地理编码方法确定下位机数据采集点位置,实现精准定位.GPS定位如图8所示.

图6 手机APP客户端界面Fig. 6 Mobile APP Client Interface

图7 Web客户端界面Fig. 7 Web Client Interface

图8 GPS定位Fig. 8 GPS Positioning

3 结语

随着人口的快速增长,人类的日常活动导致地表、地下水体的水质急剧恶化,做好水体水质的实时性、准确性检测至关重要.本系统能够基本完成水质的自动化检测,让相关人员的工作效率得到提升,但是也存在一些缺陷.例如,在没有移动信号覆盖的偏远地区,数据回传是个难题,获取数据之后,后台目前只能做一些简单的图表分析,专业的分析方法还没有导入.这些都是笔者下一步的研究方向.

猜你喜欢
下位串口单片机
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
提高火力发电厂自动电压控制系统投入率的措施
发射机房监控系统之下位机
船舶电子设备串口数据的软件共享方法
围观党“下位”,吐槽帝“登基”