基于NB-IoT的海水入侵检测与预警控制系统设计
Design of Seawater Intrusion Detection and Early Warning Control System Based on NB-IoT
DOI: 10.12677/SEA.2023.125065, PDF, HTML, XML, 下载: 214  浏览: 285  国家科技经费支持
作者: 马小翠, 胡 峥, 杨 鑫:盐城市计量测试所,江苏 盐城;杨佳武, 宋志强, 陆戴诣:盐城工学院电气工程学院,江苏 盐城
关键词: 海水入侵检测单片机传感器NB-IoTSeawater Intrusion Detection MCU Sensor NB-IoT
摘要: 针对海水入侵隐蔽性高、难治理,本文基于NB-IoT完成海水入侵检测与预警控制系统设计,以期实现对海水入侵进行实时检测并提供远程预警。系统主要包括硬件设计及软件编程两个方面,其中硬件主要由电源模块、单片机最小系统、TDS (电导率)传感器模块、水温传感器模块、液晶模块、NB-IoT模块等组成。在完成系统设计的基础上,采用溶质主要碳酸氢钠的苏打水溶液,以及模拟海水检测融入一定量氯化钠的清水溶液。测试结果显示:当系统TDS检测数据超过程序设定值时,预警功能触发,蜂鸣器产生蜂鸣开始报警,且系统具备将测得数据上传云平台实现检测数据的实时显示及历史数据查看等功能,在实际应用中具有一定的应用价值。
Abstract: In response to the high concealment and difficulty in managing seawater intrusion, this article designs a seawater intrusion detection and early warning control system based on NB IoT, in order to achieve real-time detection of seawater intrusion and provide remote warning. The system mainly includes two aspects: hardware design and software programming. Among them, the hardware mainly consists of power module, microcontroller minimum system, TDS (conductivity) sensor module, water temperature sensor module, LCD module, NB IoT module, etc. On the basis of completing the system design, a sodium bicarbonate aqueous solution with the main solute is used, as well as a simulated seawater detection mixed with a certain amount of sodium chloride in a clear water solution. The test results show that when the TDS detection data of the system exceeds the program setting value, the warning function is triggered, and the buzzer generates a beep to start the alarm. The system has functions such as uploading measured data to the cloud platform for real-time display of detection data and viewing historical data, which has certain application value in practical applications.
文章引用:马小翠, 胡峥, 杨鑫, 杨佳武, 宋志强, 陆戴诣. 基于NB-IoT的海水入侵检测与预警控制系统设计[J]. 软件工程与应用, 2023, 12(5): 676-684. https://doi.org/10.12677/SEA.2023.125065

1. 引言

地下水是地球表面水循环的重要组成部分,它在其中起着重要的调节和平衡作用,是人类生活、工农业生产和环境保护的重要资源。海水入侵 [1] [2] 是指由于人类活动或气候变化等原因,使得海水逐渐向内陆渗透,影响到地下水质量和可用性的现象。海水入侵对地下水造成的影响很大,对于地下水的质量:当地下水含盐量超过一定阈值时,会严重影响地下水的可用性,使得地下水失去很多使用价值。另外,高盐度的地下水还可能对土地造成腐蚀,导致土壤退化和生态环境恶化。除了对于环境的影响,海水入侵对于工农业生产也是一种难以防治的自然灾害。对于农业,海水入侵会直接导致土地盐渍化,从而使环境资源受影响、水资源利用效率降低增加水资源管理的难度等。对于工业发展来说,地下水入侵容易造成工业水资源不足、工业成本投入加大,地下水盐化容易造成机井报废,产生不必要的工业损失。因此,需加大对地下水资源的管理,加强对海水入侵的监测和综合治理 [3] 。

基于上述分析,本文基于NB-IoT完成海水入侵检测与预警控制系统设计,以期实现对海水入侵进行实时检测并提供远程预警。系统在硬件设计方面主要包括电源模块、单片机最小系统、TDS (电导率)传感器模块、水温传感器模块、液晶模块等,为数据测量提供硬件支持。同时运用NB-IoT模块,为数据信号传输提供支持。在软件设计上,采用Keil 5完成程序设计、各模块算法设计,最终系统将测得数据上传云平台实现检测数据的实时显示及历史数据查看等功能。在完成系统设计的基础上,采用溶质主要碳酸氢钠的苏打水溶液,以及模拟海水检测融入一定量氯化钠的清水溶液。测试结果显示:当系统TDS检测数据超过程序设定值时,预警功能触发,蜂鸣器产生蜂鸣开始报警,且系统具备将测得数据上传云平台实现检测数据的实时显示及历史数据查看等功能,在实际应用中具有一定的应用价值。

2. 系统方案设计

本文基于NB-IoT的海水入侵检测与预警控制系统,以监测海水各项参数完成海水入侵实时检测与数据远程传输为最终目标。系统主要包括硬件设计及软件编程两个方面,其中硬件主要由电源模块、单片机最小系统、TDS (电导率)传感器模块、水温传感器模块、液晶模块、NB-IoT模块等组成。系统总体流程为:电源模块为系统供电,单片机最小系统采样TDS (电导率)传感器模块及水温传感器模块检测所得数据,并通过液晶模块实现检测数据的实时显示;当检测数据超过系统设定阈值时,系统通过蜂鸣器进行报警;NB-IoT模块用于实现将检测数据的上传至云平台,从而实现数据的实时在线及历史数据查询等功能,如图1所示。

Figure 1. Overview of system workflow

图1. 系统工作流程概述图

3. 系统硬件设计与实现

该系统硬件部分主要由电源模块、单片机最小系统、TDS (电导率)传感器模块、水温传感器模块、NB-IoT模块、液晶模块等组成。

3.1. 电源模块

电源模块主要由稳压电路实现DC 5 V电源的稳定输出 [4] 。稳压电路可以用来稳定电源输出电压,确保电路中所需的电压不会受到电源波动的影响而发生变化。电源模块电气原理图如图2所示。

Figure 2. Electrical schematic diagram of power module

图2. 电源模块电气原理图

3.2. 单片机最小系统

单片机最小系统选用STM32F103单片机作为主控单元 [5] 。STM32单片机是一种基于ARM Cortex-M架构的32位微控制器,具有高性能、低功耗、高集成度、强大的外设和灵活的软件支持等特点,电气原理图如图3所示。

Figure 3. Minimum system diagram of single chip microcomputer

图3. 单片机最小系统图

3.3. TDS (电导率)/水温传感器模块

TDS (电导率)/水温传感器模块,采用TDS检测模块,采用3.3~5.5 V左右的供电电压、0~2.3 V左右的模拟信号输出 [6] 。该模块可与TDS探针进行连接,同时也有DS18B20温度传感器接口,方便进行软件温度补偿设计。其有以下工作特点:可进行宽电压工作、兼容5 V与3.3 V两种控制系统、防水探头可长期浸入水中。TDS的单位是ppm,为百万分比浓度。在本系统中,使电源与VDD引脚相连接,为模块提供电压;VSS接地;PA0在STM32单片机中属于GPIO引脚,与TDS模块引脚A0相连,对模块起唤醒作用,其电气原理图如图4所示。

Figure 4. TDS schematic diagram

图4. TDS原理图

水温传感器模块的型号为DS18B20 [7] 。DS18B20是一种高精度单总线的数字温度测量芯片,它的抗干扰能力强。它的测温范围为−55摄氏度到125摄氏度,误差范围约为0.4摄氏度。DQ引脚作为温度传感器的输入输出端,在本系统中,与单片机的PB10引脚相连达到测温数据交互的作用,其原理图如图5所示。

Figure 5. Schematic diagram of water temperature sensor module

图5. 水温传感器模块原理图

3.4. NB-IoT模块

NB-IoT为窄带物联网,在蜂窝网络的基础上搭建起来,是一种新兴技术,能够提供非常广泛围的网络供应以及大数量的单位链接 [8] [9] 。它的低功耗、低成本、高可靠性使得它在多个领域得到运用。

在本系统中,NB-IoT模块采用的模块型号为中国移动M5311型芯片,RXD与TXD两个引脚为AT指令通信串口,在本次设计中,单片机的PA9与PA10与模块的这两个通信串口相连,以便数据传入与通信,其电气原理图如图6所示。

Figure 6. Electrical schematic diagram of NB-IoT module

图6. NB-IoT模块电气原理图

4. 软件编程

本系统所涉及软件编程部分主要工作为:通过先设计基于STM32的温度采集、温度生成程序以及TDS值采集、生成程序,再通过OLED显示的程序,再设计NB-IoT的AT指令,完成云平台设计以及数据传输、云平台界面设计。

在软件设计中,针对TDS (电导率)数据采集程序主要为定义变量、定义温度与各种TDS校准系数、进行AD转换,部分代码如下。

compensationCoefficient=1.0+0.02*((TEMP_Value/10)-25.0); 此为补偿系数公式。

compensationVolatge=ADC_ConvertedValueLocal[1]/compensationCoefficient; 此为补偿电压公式。

if((ADC_ConvertedValueLocal[2]>=0)&&(ADC_ConvertedValueLocal[1]<0.1)){compensationVolatge=0;}

之后,再通过AD采样数据计算TDS_value值。

本文所涉及温度采集函数如下:

void TEMP_Value_Conversion()//温度采集函数

{

TEMP_Value=DS18B20_Get_Temp();

TEMP_Buff[0]=(int)(TEMP_Value)%1000/100+'0';

TEMP_Buff[1]=(int)(TEMP_Value)%100/10+'0';

TEMP_Buff[2]='.';

TEMP_Buff[3]=(int)(TEMP_Value)%10+'0';

}

部分液晶屏的字符显示函数如下。

OLED_ShowStr(0,2Temp: ,2);这是温度显示。

OLED_ShowStr(0,4TDS: ,2);这是 TDS显示。

通过OLED_Shower函数在OLED液晶屏上显示检测数值。

报警功能通过程序体现,在本系统中,采用报警上限值为300作为参考,当采集值超过300时,触发报警设置,蜂鸣器警示,代码如下。

if(TDS_value>300)

{

BEEP=!BEEP; //蜂鸣器启动

delay_10us(100);

}

else

BEEP=0; //蜂鸣器关闭

在本系统中使用“AT+IPSEND”指令,此命令用于将数据发送到网络。响应“OK”仅表示ATCMD格式正确,数据已放入套接字,等待发送。

通过登录云平台 [10] [11] ,进入开发者平台,选择多协议接入里的TCP透传,再选择添加产品,完成产品创建,云平台示意图如图7所示。

Figure 7. Schematic diagram of cloud platform interface

图7. 云平台界面示意图

5. 实物测试及分析

在完成上述系统硬件设计及软件编程后,对系统进行实物测试。本次测试采用两组对照,分别是溶质主要碳酸氢钠的苏打水溶液,以及模拟海水检测融入一定量氯化钠的清水溶液。将TDS探头以及温度传感器探头分别放入两种溶液中,具体显示如图8所示。

Figure 8. System test experiment diagram

图8. 系统测试实验图

由于苏打水中含有其他溶剂以及检测拍摄时间差异等其他因素导致OLED显示与云平台显示存在细微差异。在检测盐水时,由于TDS值超过程序中设定的300,预警功能触发,蜂鸣器产生蜂鸣开始报警。除了数据显示与预警功能,云平台上还可以显示历史检测数据,可通过随时刷新随时监控,并且以excel的形式导出表格。历史数据显示如图9所示。

Figure 9. Historical data display of detection results

图9. 检测结果历史数据显示

上述测试结果显示:本系统TDS检测数据超过程序设定值时,预警功能触发,蜂鸣器产生蜂鸣开始报警,且系统具备将测得数据上传云平台实现检测数据的实时显示及历史数据查看等功能,在实际应用中具有一定的应用价值。

6. 结语

本文基于NB-IoT完成海水入侵检测与预警控制系统设计,以期实现对海水入侵进行实时检测并提供远程预警。系统在硬件设计方面主要包括电源模块、单片机最小系统、TDS (电导率)传感器模块、水温传感器模块、液晶模块等,为数据测量提供硬件支持。同时运用NB-IoT模块,为数据信号传输提供支持。在软件设计上,采用Keil 5完成程序设计、各模块算法设计,最终系统将测得数据上传云平台实现检测数据的实时显示及历史数据查看等功能。在完成系统设计的基础上,采用溶质主要碳酸氢钠的苏打水溶液,以及模拟海水检测融入一定量氯化钠的清水溶液。测试结果显示:在检测盐水时,由于TDS值超过程序中设定的300,预警功能触发,蜂鸣器产生蜂鸣开始报警。除了数据显示与预警功能,云平台上还可以显示历史检测数据,可通过随时刷新随时监控,并且以excel的形式导出表格。综上,本文所述系统当检测数据超过程序设定值时,预警功能触发,蜂鸣器产生蜂鸣开始报警,且系统具备将测得数据上传云平台实现检测数据的实时显示及历史数据查看等功能,在实际应用中具有一定的应用价值。

基金项目

江苏省市场监督管理局科技项目“燃气预警系统远程测试装置及检测方法研究”(项目编号:KJ2022051)。

参考文献

[1] 张琪, 王彬, 李希彬, 等. 天津市海水入侵调查研究[J]. 海洋信息技术与应用, 2023, 38(3): 129-133.
[2] Ivan, L., Veljko, S. and Iva, A. (2023) Characterization of Seawater Intrusion Dynamics under the Influence of Hydro-Meteorological Conditions, Tidal Oscillations and Melioration System Operative Regimes to Groundwater in Neretva Valley Coastal Aquifer System. Journal of Hydrology: Regional Studies, 46, Article 101363.
https://doi.org/10.1016/j.ejrh.2023.101363
[3] 华亚平, 李锐, 刘成, 等. 基于GIS的广西北海海岸带地质环境监测数据管理与服务系统的设计与实现[J]. 海洋地质前沿, 2023, 39(2): 66-78.
[4] 李辉辉, 田世锋, 杨亭, 等. 双足步行机器人控制系统设计与试验[J]. 现代制造技术与装备, 2023, 59(3): 40-42.
[5] 郭颖. 基于STM32F103的智慧大棚无线温度传感器节点设计[J]. 物联网技术, 2023, 13(2): 30-32.
[6] 张云龙, 任鹏宇, 王艺楠, 等. 选频电导率和TDS测量法的研究[J]. 现代工业经济和信息化, 2022, 12(2): 247-249.
[7] 吕兆承, 李营, 张春丽, 等. 基于FPGA的室内高精度温度监测系统设计[J]. 工业控制计算机, 2022, 35(12): 101-104.
[8] 陈维娜, 杨忠, 顾姗姗, 等. 基于NB-IoT技术的智能农业环境监测系统设计[J]. 中国农机化学报, 2023, 44(6): 168-175.
[9] 李中阳. 基于NB-IoT的智慧燃气物联网系统框架设计与研究[J]. 自动化仪表, 2023, 44(5): 102-106.
[10] 龚晨. 基于物联网的输油泵远程控制关键技术研究[D]: [硕士学位论文]. 西安: 西安工业大学, 2019.
[11] 罗理机, 唐华, 周昕, 等. 基于服务的云平台应用程序监控分析系统[J]. 计算机系统应用, 2022, 31(7): 85-92.