摘 要:随着物联网技术的快速发展,无线通信技术在水文监测领域的应用日益广泛。针对传统水文监测系统中存在的布线困难、功耗高、数据传输不稳定等问题,提出了一种基于窄带物联网(NB-IoT)技术的无线水文监测系统设计方案。该系统融合了嵌入式系统、物联网通信、数据存储等技术,具有可靠性高、扩展性强、系统参数可配置、通信覆盖范围广、支持海量设备节点等优点,实现了水文数据的实时采集、传输、存储、分析和应用,能够为水文监测和管理提供有力的数据支持,并且在一定程度上可以有效地对洪涝、干旱等自然灾害进行预警。
关键词:NB-IoT;STM32;Modbus;数据存储;水文监测;云平台
中图分类号:TP39;TN929.5 文献标识码:A 文章编号:2095-1302(2025)05-000-03
0 引 言
水文监测[1-2]是水资源管理和水环境保护的重要基础,对于防洪减灾、水资源配置和生态保护具有重要意义。传统的水文监测系统通常采用有线通信方式,存在布线困难、维护成本高、无法实时测量、无法准确分析[3]等问题。近年来,随着物联网技术的发展,无线通信技术在水文监测领域得到了广泛应用。NB-IoT作为一种新兴的物联网技术,具有低功耗、覆盖范围广、支持大量设备连接的特点[4],在多种物联网场景下得到了广泛应用,例如城市智慧消防[5]、智能安防[6]、智慧城市[7-9]等场景,因此也适用于水文监测[10]场景。
1 系统设计方案
基于NB-IoT的无线水文监测系统由水文监测终端、NB-IoT网络、数据中心和数据应用平台四个部分组成。系统具体设计方案如图1所示。
1.1 水文监测终端
水文监测终端负责实时采集水位、流量、水质等水文数据。终端采用嵌入式设计,内置RS 485通信所需的MAX 485收发芯片。开发板搭载了AT24C02 E2PROM存储芯片,用于存储系统配置信息,能够有效避免RAM掉电所导致的数据丢失问题。开发板集成了NB-IoT通信模块,能够将采集到的数据通过NB-IoT网络传输至数据中心(自研服务器平台/阿里云平台)。
1.2 NB-IoT网络
NB-IoT网络是一种低功耗的广域网络(LPWA)。NB-IoT网络支持常见的网络通信协议,例如UDP、TCP、HTTP、LWM2M和MQTT等,是物联网应用中最常见的一种商业通信方式。NB-IoT网络部署方便,无需自建基站,通信稳定可靠,具有覆盖范围广、功耗低、支持大量设备连接等特点,适用于水文监测等场景。作为本系统的数据通信基础,NB-IoT通过运营商基站实现了水文监测终端与数据中心之间的数据传输。
1.3 数据中心
数据中心负责接收、解析和存储来自水文监测终端的数据。数据中心运用云计算技术,能够高效地对海量数据进行处理和分析,并且可以借助不同的大数据模型进行预测与预警,为应用平台提供数据支持。
1.4 数据应用平台
数据应用平台是系统的用户界面,用户可通过平台实时查看水文数据、生成报表、分析数据。平台还提供了预警功能,当实时水文数据超过预设的阈值时,可以自动发送预警信息,提前预警洪涝、干旱等自然灾害。
2 系统实现
本文详细介绍了系统的硬件设计、软件编程、网络配置等方面的实现过程。通过对系统进行实际测试,验证了系统的稳定性和可靠性。测试结果表明,该系统能够实时采集、传输和监控水文数据。
2.1 水文监测终端设计
2.1.1 水文监测终端硬件设计
本系统硬件设计采用基于ARM Cortex-M3内核架构的STM32F103C8T6微型处理器[11-13]芯片,该芯片采用LQFP48封装,配备64 KB的FLASH和20 KB的RAM,CPU主频最高可达72 MHz,是一款性价比较高的中低端32位微型处理器。此外,该芯片内置了丰富的外围通信接口,软硬件开发周期短且成本较低,适合用于常见的各种物联网应用场景。该芯片的性能和接口能够很好地满足本次水文监测系统的需求,包括传感器数据采集、存储芯片通信、终端设备和数据中心进行实时通信等功能。具体硬件设计方案如图2所示。
传感器采用工业级传感器,具备高可靠性、高耐用性、低输出噪声和高精度输出等特性。输出物理接口采用RS 485通信总线,该总线不仅支持远距离数据通信,还能实现一主多从的总线结构,易于传感器设备的扩展(理论传感器设备数支持32路)。协议层采用Modbus-RTU协议。本系统所集成的传感器包括水位传感器、流量传感器、水质传感器(pH值传感器、氨氮含量传感器等)。
AT24C02存储芯片搭载2 KB(即256字节)的串行E2PROM的存储空间,可以有效避免设备终端配置信息在掉电后丢失的问题。CPU通过I2C总线接口与存储芯片相连进行数据的读写操作。
通信模组采用NB-IoT,CPU通过TTL串口和该模组进行通信,通信速率设定为115 200,从而确保了终端和数据中心之间的高效数据交换。
2.1.2 水文监测终端软件设计
水文监测终端设备的软件设计主要包含:系统参数配置模块、传感器Modbus通信采集模块、数据打包上报模块、主程序控制模块。
系统参数配置模块:主要负责配置系统运行的关键参数,例如Modbus传感器的从机地址、寄存器地址和长度、Modbus传感器轮询周期、NB-IoT通信的目标IP、端口和通信方式(TCP/UDP/MQTT等)、 NB-IoT数据上报周期等。系统参数配置模块通过I2C通信接口与AT24C02存储芯片进行交互,首先读取存储芯片的原始配置信息,解析后进行显示,随后对需要修改的信息进行重新配置,将新的配置信息写回存储芯片,以确保设备重启不会丢失配置信息。
传感器Modbus通信采集模块:通过RS 485总线,遵循Modbus-RTU协议,采用一主多从的总线架构,周期性地对传感器进行轮询,从而收集配置文件中指定的传感器数据。
数据打包上报模块:负责将所有传感器的数据进行整合,形成统一的数据包。数据包中包含了设备的固件信息(数据中心能够识别哪一个设备的数据)、传感器PID信息(用来区分不同传感器)、传感器数据信息、包头、包尾、包长度、包校验等基本信息。数据打包完成后通过NB-IoT模块发送到数据中心,NB-IoT模块通过监测服务器回复信息并判断通信是否异常,如果发现设备断开服务器,需要进行服务器通信重连,以保证通信的可靠性、数据的连续性和完整性。
主程序控制模块:主要对终端设备所有需要的外设(定时器、串口、I2C、其他外设等)进行初始化,并根据需要选择是否进行系统参数配置,配置完成后根据配置信息进行传感器轮询并通过NB-IoT模组将打包好的数据发送到数据中心。水文监测终端的软件流程如图3所示。
2.2 水文监测系统数据中心设计
水文监测系统数据中心的设计是为了整合数据采集层各设备的数据,其负责接收、处理、存储并分析这些上传的监测数据,同时实时协调数据应用端的各种监控设备。数据中心通过汇集采集到的实时数据可以实现各种水文数据的应用和分析,并且具备对各种水文数据进行查询、分析、预警和管理的功能。
数据中心主要整合了数据通信协议(比如:TCP、UDP、HTTP和MQTT等)、高速数据缓存(Memcached、Redis等)、数据库(MongoDB、MySQL等)、数据应用分析(Hadoop、Spark等)、数据应用服务(Apache、Nginx等)等模块,实现了对水文数据的高效采集、存储、分析和应用。
3 结 语
本文提出了一种基于NB-IoT的无线水文监测系统设计方案,并实现了系统的硬件和软件部分。该系统具有可靠性高、扩展性强、系统参数可配置、通信覆盖广、支持海量设备节点等众多优点,可实现对水文数据的实时采集、传输、存储、分析和应用。未来将进一步优化系统性能,降低设备功耗,提高数据传输效率和稳定性,拓展系统应用场景,为水文监测和管理提供更加全面、高效的数据支持,有效地对洪涝、干旱等自然灾害进行预警。
参考文献
[1] 曾逸. 成都市小型水库信息化管理平台构建与实施[J]. 四川水利,2020,41(1):116-117.
[2] 杨津,邓懿. 浅谈三岔湖水库水文信息自动化监测设计[J]. 四川水利,2024,45(1):171-173.
[3] 宁爱民,张存吉. 基于物联网的水文监测系统关键技术研究[J]. 物联网技术,2019,9(12):11-14.
[4] 严玉双,邓成中,任洋,等.基于NB-IoT的卧床老人监测系统[J].电子设计工程,2023,31(17):95-99.
[5]何群峰. 基于NB-IoT的城市级智慧消防云平台应用[J]. 电子技术与软件工程,2020(23):1-2.
[6] 王军波. 智能安防紧急报警监控自动联网系统设计[J]. 自动化与仪器仪表,2022(12):93-96.
[7] 王丽萍,刘磊,曾聪,等. 面向智慧城市的窨井盖安全系统设计[J]. 物联网技术,2021,11(12):92-94.
[8] ARAUJO V, MITRA K, SAGUNA S, et al. Performance evaluation of FIWARE: a cloud-based IoT platform for smart cities [J]. Journal of parallel and distributed computing, 2019, 132: 250-261.
[9] MALCHE T, MAHESHWARY P, KUMAR R. Environmental monitoring system for smart city based on secure Internet of Things (IoT) architecture [J]. Wireless personal communications, 2019, 107(4): 2143-2172.
[10] 廖威. 基于NB-IoT技术的区域水质信息采集及监测系统设计[J]. 自动化与仪器仪表,2021(5):113-116.
[11] 吴建斌,成亚. 基于STM32低功耗远传水表的硬件设计[J]. 微处理机,2018,39(1):23-27.
[12] 李文雯,时之媛,陈宇灿,等. 基于STM32的低功耗窨井液位采集与传输系统[J]. 物联网技术,2021,11(5):23-26.
[13] 吴应雨,陈运雷,葛知著,等. 基于NB-IoT和STM32的智能抄表系统设计[J]. 自动化技术与应用,2020,39(12):59-65.