【单片机毕业设计选题】基于LoRa的智慧农业环境监测系统设计与实现

摘 要

在智慧农业与物联网技术快速融合的背景下,传统农业环境监控方式存在部署不便、数据孤立、响应滞后等痛点。本研究基于STM32F103C8T6单片机设计了一套分布式农业环境监控系统,系统由多传感器子节点与网关节点构成,集成DHT11温湿度传感器、BH1750光照传感器、二氧化碳检测模块、土壤湿度传感器及烟雾检测模块,实现对环境多参数的全面采集。子节点通过LORA模块与网关进行局域组网,网关借助4G模块将数据上传至OneNET云平台,支持远程实时查看与历史曲线追溯。系统配备太阳能与锂电池双模供电,具备OLED本地显示、APP远程阈值设置与蜂鸣器报警功能。经测试,系统实现了稳定可靠的数据采集、低功耗无线传输、云平台同步及智能预警,满足现代精准农业对环境实时监控与智能管理的需求。

**关键词:**STM32单片机;智慧农业;LORA通信;物联网云平台;环境监控

Abstract

Against the backdrop of the rapid integration of smart agriculture and IoT technology, traditional agricultural environmental monitoring methods suffer from inconveniences in deployment, data isolation, and delayed response. This study designs a distributed agricultural environmental monitoring system based on the STM32F103C8T6 microcontroller. The system consists of multi-sensor child nodes and a gateway node, integrating DHT11 temperature and humidity sensors, BH1750 light sensors, carbon dioxide detection modules, soil moisture sensors, and smoke detection modules to comprehensively collect various environmental parameters. The child nodes communicate with the gateway via LORA modules for local area networking, while the gateway uses a 4G module to upload data to the OneNET cloud platform, enabling remote real-time viewing and historical data tracing. The system is equipped with dual-mode solar and lithium battery power supply, and features OLED local display, APP remote threshold setting, and buzzer alarm functions. Tests show that the system achieves stable and reliable data acquisition, low-power wireless transmission, cloud platform synchronization, and intelligent early warning, meeting the demands of modern precision agriculture for real-time environmental monitoring and smart management.

****Keywords:****STM32 microcontroller; smart agriculture; LORA communication; IoT cloud platform; environmental monitoring

[第一章 绪论](#第一章 绪论)

[1.1 选题背景及其意义](#1.1 选题背景及其意义)

[1.2 国内外研究现状与发展趋势](#1.2 国内外研究现状与发展趋势)

[1.2.1 国内发展现状](#1.2.1 国内发展现状)

[1.2.2 国外发展现状](#1.2.2 国外发展现状)

[1.3 主要内容](#1.3 主要内容)

[1.4 文章结构](#1.4 文章结构)

[1.5 本章小结](#1.5 本章小结)

[第二章 系统总体设计方案](#第二章 系统总体设计方案)

[2.1 系统需求分析](#2.1 系统需求分析)

[2.2 系统总体设计方案](#2.2 系统总体设计方案)

[第三章 系统硬件设计](#第三章 系统硬件设计)

[3.1 系统主控电路设计](#3.1 系统主控电路设计)

[3.1.1 主控芯片电路设计](#3.1.1 主控芯片电路设计)

[3.1.2 时钟振荡电路设计](#3.1.2 时钟振荡电路设计)

[3.1.3 按键复位电路设计](#3.1.3 按键复位电路设计)

[3.2 电源管理电路设计](#3.2 电源管理电路设计)

[3.3 环境传感器电路设计](#3.3 环境传感器电路设计)

[3.3.1 温湿度检测电路](#3.3.1 温湿度检测电路)

[3.3.2 光照强度检测电路](#3.3.2 光照强度检测电路)

[3.3.3 土壤湿度检测电路](#3.3.3 土壤湿度检测电路)

[3.3.4 二氧化碳检测电路](#3.3.4 二氧化碳检测电路)

[3.4 无线通信模块电路设计](#3.4 无线通信模块电路设计)

[3.4.1 LoRa无线通信电路](#3.4.1 LoRa无线通信电路)

[3.4.2 G广域通信电路](#3.4.2 G广域通信电路)

[3.5 人机交互模块电路设计](#3.5 人机交互模块电路设计)

[3.5.1 OLED显示电路](#3.5.1 OLED显示电路)

[3.5.2 蜂鸣器报警电路](#3.5.2 蜂鸣器报警电路)

[3.6 系统整体原理图功能分析](#3.6 系统整体原理图功能分析)

[3.7 本章小结](#3.7 本章小结)

[第四章 软件设计](#第四章 软件设计)

[4.1 主程序设计](#4.1 主程序设计)

[4.2 传感器数据采集模块](#4.2 传感器数据采集模块)

[4.3 LoRa无线通信模块](#4.3 LoRa无线通信模块)

[4.4 G云平台通信模块](#4.4 G云平台通信模块)

[4.5 OLED显示模块](#4.5 OLED显示模块)

[4.6 报警控制模块](#4.6 报警控制模块)

[4.7 数据上报与云端解析模块](#4.7 数据上报与云端解析模块)

[4.8 本章小结](#4.8 本章小结)

[第五章 测试结果与分析](#第五章 测试结果与分析)

[5.1 硬件测试](#5.1 硬件测试)

[5.1.1 电源模块测试](#5.1.1 电源模块测试)

[5.1.2 传感器模块功能测试](#5.1.2 传感器模块功能测试)

[5.2 软件测试](#5.2 软件测试)

[5.2.1 数据采集与处理函数测试](#5.2.1 数据采集与处理函数测试)

[5.2.2 通信协议与状态机测试](#5.2.2 通信协议与状态机测试)

[5.2.3 报警控制逻辑测试](#5.2.3 报警控制逻辑测试)

[5.3 系统集成与功能测试](#5.3 系统集成与功能测试)

5.3.1数据采集与本地显示功能测试

5.3.2LoRa无线组网与数据传输测试

5.3.34G云端数据同步与远程监控测试

5.3.4智能报警与系统功耗测试

[5.4 测试结果分析](#5.4 测试结果分析)

[第六章 结论与展望](#第六章 结论与展望)

[6.1 总结](#6.1 总结)

[6.2 展望](#6.2 展望)

参考文献

  • 绪论
  1. 选题背景及其意义

农业作为国民经济的基础产业,其生产模式的现代化转型对于保障国家粮食安全、提升资源利用效率及增加农民收入具有至关重要的意义。传统农业生产高度依赖人工经验进行环境观察与农事操作,普遍存在监测手段单一、数据获取滞后、管理粗放、人力成本高昂等问题,难以满足现代农业对生产环境实现实时、精准、智能化调控的迫切需求。特别是在温室大棚、大田种植等场景中,温度、湿度、光照强度、土壤墒情、二氧化碳浓度及有害气体等环境参数相互关联,直接影响作物的光合作用、呼吸代谢及病虫害发生,对其进行协同监测与科学调控是提高作物产量与品质的关键。因此,研发一套能够实时、精准、远程监测多项核心环境因子,并具备数据分析和智能预警能力的综合系统,成为推动智慧农业发展的关键环节。

近年来,物联网(IoT)、低功耗广域网(LPWAN)与嵌入式微控制器技术的快速发展和成本下降,为构建低成本、高效率的农业环境监控系统提供了坚实的技术基础。其中,LoRa技术以其超远传输距离、极低功耗和强大的抗干扰能力,非常适合在部署范围广、地形复杂、供电不便的野外农业场景中构建传感网络。STM32系列微控制器则凭借其高性能、丰富的外设接口和活跃的社区生态,成为各类嵌入式终端设备的首选核心。本设计旨在融合STM32微控制器、多源环境传感器、LoRa无线自组网、4G移动通信及云平台技术,构建一套分布式、低功耗、易部署的智慧农业环境监控系统。该系统通过部署在现场的传感子节点全面采集环境数据,经由LoRa无线网络汇聚至中心网关,再通过4G网络将数据可靠传输至OneNET云平台,最终实现环境数据的远程可视化、历史追溯、阈值报警与集中管理。本研究的实践,不仅能为农业生产者提供科学的数据支撑,实现精准灌溉、施肥与环境调控,达到降本增效的目的,同时也为物联网技术在农业领域的创新应用与推广提供了一套完整的技术参考方案,对加速我国农业信息化与智能化进程具有积极的现实意义。

  1. 国内外研究现状与发展趋势
  1. 国内发展现状

国内在智慧农业与农业物联网领域的研究与应用呈现蓬勃发展的态势,众多学者和工程师针对不同作物和场景,提出了多种基于先进通信技术的环境监测解决方案。邱岽(2023)针对大面积农田监测中供电与通信的难题,深入研究了基于LoRaWAN架构的低功耗监测系统,重点探讨了网络协议设计与节点能耗优化策略,为构建可持续运行的农田传感网络提供了理论依据1。杨昊弋与冯锋(2025)将LoRa技术具体应用于枸杞种植园的环境监测,设计了相应的系统,验证了该技术在特色经济作物精细化管理中的有效性与适用性2。覃健庭等人(2025)面向桑园种植管理需求,设计了基于LoRa的低功耗环境监测系统,其研究同样强调了LoRa技术在延长设备续航、降低维护成本方面的显著优势3

在特定应用场景的系统集成方面,郑鹏(2023)和任壮(2023)分别以温室大棚为对象,完成了从硬件选型、传感器布置、通信组网到上位机软件设计的全套基于LoRa的监控系统研究,体现了从技术研究到工程实现的完整思路45。韩洁琼等人(2024)采用STM32作为核心控制器,集成多种传感器,设计并实现了一个智慧农业大棚环境监测系统,展示了以高性能MCU构建复杂、可靠数据采集节点的技术路径6。石新龙与丁永辉(2021)较早地对基于LoRa无线通信的农业环境监测系统进行了设计与阐述,为后续的研究与应用奠定了重要基础7

随着研究的深入,系统的网络架构与云端融合成为重点。李文豪等人(2023)专门设计了一款面向环境监测的LoRa自组网网关,解决了多节点数据可靠汇聚以及与上层网络(如以太网、4G)的协议转换问题,是构建层次化监测网络的关键设备8。李颖(2022)和张鹏(2024)的研究则着重探讨了"LoRa+云平台"的融合模式,阐述了如何将现场采集的数据通过云端服务器进行存储、分析与可视化展示,从而实现跨地域的远程智能管理910。韩红蕾与张家豪(2025)、张志娟与张德凤(2022)也从系统设计的宏观角度,论述了智慧农业监测系统的构建理念、功能组成与发展前景1112。此外,熊永昌(2022)和丁苏生(2022)的研究进一步拓展了应用范围,分别聚焦于农田气象综合监测和广义的物联网智慧农业监控系统框架1314

  1. 国外发展现状

国外在精准农业和农业物联网领域的研究起步较早,技术体系相对成熟,不仅关注系统功能的实现,更注重系统的性能评估、能效优化以及与人工智能等技术的结合。Suji Prasad S. J. 等人(2022)研究并验证了一种基于LoRa的高效智能农业管理监控系统,该系统利用无线传感器网络(WSN),重点对其通信链路的可靠性、网络生命周期以及能耗管理进行了实证分析与优化,为大规模、长期部署的农业物联网系统提供了重要的性能参考15。Singh D. K. 等人(2022)开展的研究更具前瞻性和集成性,他们设计了一个基于LoRa的、结合物联网的智能土壤与气象状况监测系统,并将其置于"智慧城市"的宏大背景下进行讨论。该研究不仅实现了多参数环境监测,更强调了监测数据在支撑精准农业决策(如变量灌溉、施肥)中的核心价值,代表了将农业物联网从单纯的数据收集向智能决策支持系统演进的发展趋势16

综合来看,国内外研究均已充分认识到低功耗广域网技术在农业远程监测中的巨大潜力,并在系统架构设计、节点低功耗运行、云平台集成等方面取得了丰硕成果。现有系统大多能够实现基本的数据采集与远程查看功能。然而,许多系统在长期野外工作的能源自给性、现场人机交互的直观性,以及面向多节点集群管理的便捷性与灵活性方面,仍有进一步改进和提升的空间。本设计旨在继承现有技术的优点,致力于构建一个集绿色太阳能供电、本地直观OLED显示、灵活LoRa自组网、可靠4G远程透传、强大云平台数据分析及友好APP交互于一体的综合性解决方案,力求在系统的环境适应性、用户交互体验和运营管理效能等方面实现增强与创新。

  1. 主要内容

本设计基于STM32F103C8T6微控制器构建了一套完整的智慧农业环境监控系统。在硬件层面,系统采用分布式架构,分为传感子节点与网关中继节点。传感子节点集成了DHT11温湿度传感器、BH1750光纤传感器、二氧化碳检测模块、土壤湿度传感器及烟雾检测模块,负责全方位采集环境参数,并通过OLED屏幕现场显示。子节点采用太阳能板结合锂电池的供电方案,并通过E22-230T22D LoRa模块与网关进行无线自组网通信。网关节点负责汇聚多个子节点的数据,通过ML307R 4G Cat1模块将数据上传至OneNET云平台,实现数据上云。在软件与功能层面,开发了子节点数据采集与发送程序、网关数据汇聚与转发程序,并接入了OneNET云平台,开发了对应的数据可视化看板,能够实时显示各环境参数、绘制历史数据曲线。同时,系统支持通过云平台或APP远程设置土壤湿度等参数的报警阈值,当数据异常时,能触发子节点本地蜂鸣器报警并在云平台进行消息推送,实现了"感知-传输-云存-可视-预警"的全流程智能化监控。

  1. 文章结构

本文共分为六个章节,具体结构安排如下:第一章为绪论,阐述课题背景与意义,分析国内外研究现状,并概述本文主要内容与结构。第二章为系统总体方案设计,明确系统设计目标,规划总体架构,并对核心硬件与软件技术选型进行论证。第三章为系统硬件设计,详细阐述传感子节点与网关节点的各模块电路设计,包括主控单元、电源管理、传感器接口、通信模块及人机交互单元。第四章为系统软件设计,分别介绍子节点与网关的软件流程、关键驱动代码实现,以及OneNET云平台的接入协议与数据应用开发。第五章为系统测试与分析,搭建实验环境,对系统的各项功能、通信性能及稳定性进行测试,并对结果进行讨论。第六章为总结与展望,归纳本文工作成果,分析系统不足,并提出未来可能的改进方向。

  1. 本章小结

本章作为全文的导引,首先从现代农业智能化发展的必然趋势和传统农业管理模式的局限性出发,系统论述了本研究课题的背景与重要价值。进而,通过梳理和评述国内外相关领域的研究文献,总结了当前技术发展的脉络、成就与尚存的空间,从而明确了本设计的目标与创新侧重点。在此基础上,提纲挈领地概括了本文所要完成的核心工作与实现的具体功能。最后,清晰地勾勒出全文各章节的组织结构与内容概要,为后续具体设计与分析工作的展开建立了明确的框架和路线图。

  • 系统总体设计方案
  1. 系统需求分析

在现代化农业生产中,特别是温室大棚、田间种植等精细化管理场景,光照强度、空气温湿度、土壤墒情、二氧化碳浓度及异常气体(如烟雾)等环境参数是影响作物产量与品质的关键因素。传统的人工巡检方式存在监测频率低、数据记录不连续、响应滞后等弊端,且难以实现多参数同步监测与远程集中管理。而现有的一些农业监控系统则往往存在功能单一、通信距离受限、依赖市电供电、部署灵活性差、云平台交互功能薄弱或成本高昂等问题,无法完全满足现代农业对分布式、低功耗、智能化及远程可视化的综合需求。因此,亟需一套能够实现多环境参数同步采集、具备远程无线通信能力、支持绿色能源供电并可与云平台高效交互的综合性监控系统。基于此,本文设计了一套基于STM32与LoRa技术的智慧农业环境监控系统,旨在实现对农业环境参数的实时精准监测、无线组网传输、云平台可视化及智能预警,为农业生产的科学决策与自动化管理提供可靠的技术支撑。

  1. 系统总体设计方案

基于STM32与LoRa的智慧农业环境监控系统由分布式传感子节点、网关及云平台组成。子节点集成温湿度、光照、CO₂等传感器,通过LoRa无线组网将数据传至网关,再经4G上传至OneNET云平台。系统采用太阳能与电池混合供电,支持低功耗运行。用户可通过网页或APP实时查看数据、设置报警阈值,并接收超限报警,实现农田环境的远程智能监控。系统总体框架设计如图2.1所示。

图2.1 系统总体框架设计图

  • 系统硬件设计
  1. 系统主控电路设计
  1. 主控芯片电路设计

本系统采用意法半导体公司生产的STM32F103C8T6微控制器作为核心处理单元。该芯片基于高性能的ARM Cortex-M3内核,工作频率最高可达72MHz,内置64KB Flash存储器和20KB SRAM,具备丰富的外设资源以满足复杂应用需求。芯片采用LQFP48封装形式,共有48个引脚,包含多组电源引脚VDD和VSS,其中VDD负责连接3.3V供电电源,VSS连接系统地线,在每对电源引脚附近都配置了0.1μF的去耦电容以确保电源稳定性。芯片的时钟输入引脚OSC_IN和OSC_OUT连接外部8MHz晶振构成高速外部时钟源,为系统提供精准的时钟信号。芯片提供了多个通用输入输出端口,这些GPIO引脚被合理分配给各个功能模块,包括OLED显示模块的I2C接口连接PB8和PB9,DHT11温湿度传感器的单总线接口连接PA0,BH1750光照传感器的I2C接口连接PB6和PB7,土壤湿度传感器的模拟输入连接PA7,二氧化碳检测模块的串口连接PA9和PA10,烟雾检测模块的模拟输入连接PA6,LoRa模块的串口连接PA2和PA3,4G模块的串口连接PB10和PB11,蜂鸣器控制引脚连接PB13。此外芯片还包含多个模数转换通道,能够直接采集模拟传感器的电压信号,这些硬件资源的合理配置使得系统能够高效完成数据采集、处理和通信任务,主控芯片电路如图3-1所示。

图3-1 主控芯片电路图

系统的具体引脚分配如下表所示:

表3.1 STM32F103C8T6引脚分配表

|-----------|----------------------------------------|-------------|---------------|
| 元器件名称 | 引脚配置端口 | 引脚配置模式 | 主要功能 |
| OLED显示屏 | PA5 --- SCL, PA6 --- SDA | 开漏输出 | I2C通信,显示环境数据 |
| DHT11传感器 | PB12 --- DATA | 推挽输出/浮空输入 | 单总线通信,读取温湿度 |
| BH1750传感器 | PB8 --- SCL, PB9 --- SDA | 开漏输出 | I2C通信,读取光照强度 |
| 土壤湿度传感器 | PA0 --- ADC_IN7 | 模拟输入 | ADC采集土壤湿度电压信号 |
| CO₂检测模块 | PB11 --- USART1_TX, PB10 --- USART1_RX | 复用推挽输出,浮空输入 | 串口通信,读取CO₂浓度 |
| LoRa模块 | PA2 --- USART2_TX, PA3 --- USART2_RX | 复用推挽输出,浮空输入 | 串口通信,无线局域网传输 |
| 4G模块 | PA9 --- USART3_TX, PA10 --- USART1_RX | 复用推挽输出,浮空输入 | 串口通信,广域网数据传输 |
| 蜂鸣器模块 | PA1 --- BEEP | 推挽输出 | 控制蜂鸣器报警 |
| 拨码开关SW1 | PB13 --- SW1 PB14 --- SW2 | 上拉输入 | 设备地址或模式配置 |

  1. 时钟振荡电路设计

时钟电路是确保微控制器正常工作的基础,本系统设计了高速外部时钟电路和低速外部时钟电路两部分。高速外部时钟电路采用8MHz的无源晶振作为时钟源,晶振两端分别连接STM32的OSC_IN引脚和OSC_OUT引脚,并在每个引脚到地之间连接22pF的负载电容,这两个电容与晶振的寄生电容共同构成谐振回路,确保晶振能够稳定起振并提供准确的8MHz时钟信号。该高速时钟信号经过芯片内部锁相环倍频后,最高可产生72MHz的系统时钟,为处理器内核及各类高速外设提供工作时钟。低速外部时钟电路采用32.768kHz的晶振,连接在STM32的OSC32_IN和OSC32_OUT引脚之间,同样配置了相应的负载电容。该低速时钟主要为实时时钟模块提供时钟源,能够在系统进入低功耗模式时继续保持计时功能,为需要时间戳记录的数据采集提供支持,时钟振荡电路如图3-2所示。

图3-2 时钟振荡电路图

  1. 按键复位电路设计

复位电路确保微控制器在上电或运行异常时能够可靠复位并重新初始化。本系统采用经典的阻容复位结合手动复位按键的设计方案。复位电路的核心连接在STM32的NRST引脚上,该引脚通过一个10kΩ的电阻R1上拉至3.3V电源,使其在正常情况下保持高电平状态。同时一个100nF的电容C3连接在NRST引脚与地之间,构成RC延迟电路。当系统上电瞬间,由于电容两端的电压不能突变,NRST引脚会经历一个短暂的低电平脉冲,该脉冲宽度由RC时间常数决定,足以触发芯片的复位操作。手动复位按键SW3并联在电容C3两端,当按键按下时,NRST引脚被直接拉低至低电平,强制芯片进入复位状态,松开按键后,NRST引脚电平通过电阻R1缓慢上升至高电平,芯片退出复位状态开始执行程序,这种设计既保证了上电自动复位又提供了手动复位功能,按键复位电路如图3-3所示。

图3-3 按键复位电路图

  1. 电源管理电路设计

电源管理电路为整个系统提供稳定可靠的电能供应,本设计采用太阳能板结合锂电池的混合供电方案,确保系统在户外无市电环境下长期稳定运行。太阳能充电模块的输出端连接至Type-C充电放电管理模块的VIN引脚,同时Type-C接口也并联接入该引脚,实现了太阳能充电与有线充电的双重保障。充电管理模块的VBAT_IN引脚连接至3.7V锂电池的正极,模块内部集成了充电管理芯片,能够根据输入电源状况智能管理对锂电池的充电过程,包括恒流充电、恒压充电和充电截止等阶段。模块的输出端V_BAT直接提供系统主电源,电压范围随锂电池电量在3.7V至4.2V之间变化。系统主电源V_BAT输入到AMS1117-3.3线性稳压芯片的VIN引脚,该芯片的VOUT引脚输出稳定的3.3V电压,为STM32微控制器、各类传感器模块和通信模块提供工作电压。在AMS1117的输入和输出端分别并联了10μF的电解电容和0.1μF的陶瓷电容,有效滤除电源纹波和噪声。一个发光二极管LED1通过限流电阻R10连接在3.3V输出与地之间,作为电源状态指示灯,直观显示系统供电是否正常,电源管理电路如图3-4所示。

图3-4 电源管理电路图

  1. 环境传感器电路设计
  1. 温湿度检测电路

温湿度检测电路采用DHT11数字式温湿度复合传感器,该传感器采用单总线通信协议,将温度和湿度测量功能集成于一体。DHT11传感器共有三个引脚,VCC引脚连接3.3V电源,GND引脚连接系统地,DATA引脚为双向数据传输引脚。同时直接连接到STM32的PB12引脚。STM32通过精确的时序控制,先将PB12引脚配置为推挽输出模式并拉低至少18毫秒作为启动信号,然后切换为浮空输入模式并释放总线,DHT11检测到启动信号后开始测量并通过DATA引脚发送40位数据,包含16位湿度数据、16位温度数据和8位校验和。STM32通过读取PB12引脚的电平变化时序解析出具体的温度和湿度数值,整个过程无需外部模数转换,简化了硬件设计,温湿度检测电路如图3-5所示。

图3-5 温湿度检测电路图

  1. 光照强度检测电路

光照强度检测电路采用BH1750FVI数字光照传感器,该传感器内部集成了光敏二极管和16位模数转换器,能够直接输出数字光照强度值。BH1750模块采用标准的I2C通信接口,其VCC引脚连接3.3V电源,GND引脚连接系统地,SCL和SDA引脚分别连接STM32的PB8和PB9引脚。STM32将PB8和PB9配置为开漏输出模式,通过软件模拟I2C时序向BH1750发送测量命令。BH1750支持多种测量模式,包括高分辨率模式和低功耗模式,本系统采用连续高分辨率测量模式。测量完成后,STM32通过I2C总线读取两个字节的测量结果,将其转换为以勒克斯为单位的光照强度值,该传感器具有较宽的测量范围和较高的精度,能够满足农业环境光照监测的需求,光照强度检测电路如图3-6所示。

图3-6 光照强度检测电路图

  1. 土壤湿度检测电路

土壤湿度检测电路采用电阻式土壤湿度传感器,该传感器通过检测土壤介电常数变化来反映土壤含水量。传感器模块的输出为模拟电压信号,其VCC引脚连接5V电源,GND引脚连接系统地,信号输出引脚HUM连接至STM32的PA0引脚,PA0引脚配置为模拟输入模式,对应STM32内部ADC1的通道1。当传感器探头插入土壤时,土壤湿度变化引起探头间电阻值变化,从而导致输出电压改变,湿度越大输出电压越低。STM32内部的12位逐次逼近型ADC以一定采样频率对PA0引脚的电压进行模数转换,得到0到4095之间的数字量,通过软件校准和线性化处理,将该数字量映射为0%到100%的土壤体积含水量百分比,土壤湿度检测电路如图3-7所示。

图3-7 土壤湿度检测电路图

  1. 二氧化碳检测电路

二氧化碳浓度检测电路采用MH-Z19B红外二氧化碳传感器模块,该模块基于非分散红外原理,具有测量准确、抗干扰能力强、寿命长等特点。模块的VCC引脚连接5V电源以满足内部红外光源和气泵的工作需求,GND引脚连接系统,串口发送引脚TXD连接STM32的PB11引脚,串口接收引脚RXD连接STM32的PB10引脚。模块采用串口通信协议,默认波特率为9600bps,数据格式为8位数据位、1位停止位、无校验位。模块每秒钟自动测量一次并输出9字节的数据帧,STM32通过USART3接收这些数据帧,解析其中的二氧化碳浓度值,测量范围0-5000ppm,精度可达±50ppm。该模块还支持通过串口发送指令进行校准和设置,STM32可以通过PB10引脚向模块发送特定指令,实现自动校准等功能,二氧化碳检测电路如图3-8所示。

图3-8 二氧化碳检测电路图

  1. 无线通信模块电路设计
  1. LoRa无线通信电路

LoRa无线通信电路采用亿佰特公司生产的E22-230T22D模块,该模块基于Semtech SX1262射频芯片,工作在230MHz频段,具有传输距离远、功耗低、抗干扰能力强等优点。模块的VCC引脚连接3.3V电源,GND引脚连接系统地,串口发送引脚TXD连接STM32的PA3引脚,串口接收引脚RXD连接STM32的PA2引脚,模块的辅助引脚AUX连接STM32的PA1引脚用于指示模块工作状态,模式设置引脚M0和M1分别通过拨码开关SW2的不同挡位连接至地或3.3V,以配置模块的工作模式如透传模式或定点模式。STM32通过USART2与LoRa模块通信,默认波特率为9600bps。在子节点中,STM32将采集的传感器数据打包后通过USART2发送给LoRa模块,模块将数据以LoRa调制方式无线发送;在网关节点中,LoRa模块接收来自子节点的数据并通过USART2传输给STM32,实现星型网络拓扑结构的数据汇聚,LoRa无线通信电路如图3-10所示。

图3-10 LoRa无线通信电路图

  1. G广域通信电路

4G广域通信电路采用中移物联ML307R Cat1模块,该模块支持移动4G网络,具备上行5Mbps、下行10Mbps的数据传输能力,完全满足农业环境监测的数据传输需求。模块的VIN引脚连接5V电源为主供电,VB引脚连接5V电源为射频部分供电,GND引脚连接系统地,主串口发送引脚TXD连接STM32的PA9引脚,主串口接收引脚RXD连接STM32的PA10引脚,模块使能引脚EN连接STM32的PA4引脚用于控制模块开关机,引脚EN连接STM32的PA8引脚用于检测模块网络注册状态。STM32通过USART3与4G模块通信,波特率设置为115200bps。网关节点中的STM32将汇聚的环境数据按照OneNET云平台的MQTT协议格式封装,通过AT指令控制4G模块连接到互联网并发送数据到云平台,同时4G模块也能接收来自云平台的指令并转发给STM32,实现双向通信,4G广域通信电路如图3-11所示。

图3-11 4G广域通信电路图

  1. 人机交互模块电路设计
  1. OLED显示电路

OLED显示电路采用0.96英寸OLED显示屏,分辨率为128×64像素,采用SSD1306驱动芯片,通过I2C接口与主控通信。模块的VCC引脚连接3.3V电源,GND引脚连接系统地,时钟线SCL连接STM32的PA6引脚,数据线SDA连接STM32的PA5引脚。STM32将PA5和PA6配置为开漏输出模式,通过软件模拟I2C时序与SSD1306通信。OLED显示屏用于实时显示系统采集的各项环境参数,包括二氧化碳浓度、光照强度、温度、湿度、土壤湿度以及系统状态信息。STM32将采集到的数据经过处理后,按照特定的显示布局转换为显示数据,通过I2C总线发送给OLED驱动芯片,驱动芯片控制相应的像素点亮或熄灭,形成清晰的字符和图形界面,为现场操作人员提供直观的环境信息,OLED显示电路如图3-12所示。

图3-12 OLED显示电路图

  1. 蜂鸣器报警电路

蜂鸣器报警电路采用有源蜂鸣器作为声音报警装置,当系统检测到环境参数异常时触发报警提示。蜂鸣器的正极连接3.3V电源,负极连接NPN型三极管Q1的集电极,三极管Q1的发射极连接系统,基极通过一个1kΩ的限流电阻R2连接STM32的PA1引脚。STM32将PA1配置为推挽输出模式,当检测到土壤湿度低于设定的报警阈值或其他异常情况时,将PB13引脚设置为高电平输出,此时三极管Q1导通,蜂鸣器两端形成电流通路而发出持续的报警声;当环境参数恢复正常或用户通过远程指令取消报警后,STM32将PA1引脚设置为低电平输出,三极管Q1截止,蜂鸣器停止发声。这种采用三极管驱动的方式能够有效隔离蜂鸣器工作电流对单片机引脚的冲击,提高系统的可靠性,蜂鸣器报警电路如图3-13所示。

图3-13 蜂鸣器报警电路图

  1. 系统整体原理图功能分析

本章详细阐述了基于STM32F103C8T6微控制器的智慧农业环境监测系统的硬件电路设计。整个硬件系统采用模块化设计思想,以主控电路为核心,围绕电源管理、环境感知、无线通信和人机交互四大功能单元展开。电源管理单元通过太阳能充电模块、锂电池和Type-C充电管理电路实现了绿色能源供电与有线充电的双重保障,再经过AMS1117-3.3线性稳压器提供稳定的3.3V系统电压,确保各功能模块在户外复杂环境下的长期稳定运行。环境感知单元集成了五类传感器,分别采用单总线、I2C、模拟输入和UART等不同接口与主控连接,实现了对空气温湿度、光照强度、土壤湿度、二氧化碳浓度和烟雾浓度的全方位监测,每类传感器电路都考虑了适当的信号调理和接口匹配,确保数据采集的准确性和可靠性。无线通信单元采用LoRa与4G技术相结合的方案,LoRa模块构建低功耗、远距离的监测子网,实现传感器节点间的数据汇聚;4G模块作为网关连接互联网的桥梁,将现场数据传输至云端,形成了"现场采集-本地组网-远程传输"的完整通信链路。人机交互单元通过OLED显示屏提供本地实时数据显示,通过蜂鸣器实现异常状态的声音报警,为现场管理提供了必要的信息反馈和警示手段。所有硬件模块通过科学的管脚分配和电路设计,在满足功能需求的同时充分考虑了系统的可靠性、低功耗和可扩展性,为后续软件开发和系统集成奠定了坚实的硬件基础。

图3-14 蜂鸣器报警电路图

  1. 本章小结

本章全面系统地介绍了基于LoRa的智慧农业环境监测系统的硬件设计方案。首先详细阐述了以STM32F103C8T6为核心的主控电路设计,包括芯片外围电路、时钟电路和复位电路,并给出了详细的外设引脚分配表。其次深入分析了电源管理电路的工作原理,重点说明了太阳能与锂电池混合供电方案及3.3V稳压电路的设计。然后分别对温湿度检测、光照强度检测、土壤湿度检测、二氧化碳检测和烟雾检测五种环境传感器电路进行了详细的原理分析和接口说明。接着重点介绍了LoRa无线通信电路和4G广域通信电路的设计,阐明了两种通信技术在系统中的不同作用。最后对OLED显示电路和蜂鸣器报警电路进行了分析,说明了人机交互功能的实现方式。通过对各功能模块电路原理的详细阐述和系统整体架构的分析,展现了硬件设计的合理性和完整性,为后续的软件设计和系统实现提供了可靠的硬件支撑。

  • 软件设计
  1. 主程序设计

主程序作为系统的核心调度中枢,负责协调各个功能模块有序运行。程序执行伊始,首先完成系统时钟、延时函数、串口通信、OLED显示屏、蜂鸣器和4G物联网模块的初始化工作,初始化成功后OLED屏幕显示网络连接状态提示。进入主循环后,程序周期性调用三个核心函数:beep_alarm_ctrl负责根据环境参数与阈值的对比结果控制蜂鸣器报警;report_system_state负责定期或响应指令更新时,将系统状态数据(包含土壤湿度阈值)打包并通过4G模块上报至OneNET云平台;oled_display负责将所有环境参数格式化后刷新到本地OLED屏幕上,提供实时现场信息。主程序通过一个100毫秒的延时控制循环执行频率,确保系统响应及时且功耗可控。主程序流程如图4-1所示。

图4-1 主程序流程图

  1. 传感器数据采集模块

本模块负责驱动各类传感器并读取原始数据,完成对环境参数的精确测量。DHT11温湿度传感器采用单总线协议,微控制器通过精确的时序在引脚上发送启动信号并读取返回的40位数字数据,直接解析出整数形式的温度和湿度值。BH1750光照传感器通过I2C总线通信,微控制器向其发送测量指令后读取16位数字结果,再通过线性转换计算得到百分比形式的光照强度。土壤湿度传感器通过ADC通道采集模拟电压,STM32内置的12位ADC将其转换为数字量,结合预设的电压-湿度映射关系计算出土壤湿度百分比。二氧化碳检测模块通过串口主动上报数据帧,程序在中断或轮询中接收并解析特定格式的数据包,提取出二氧化碳浓度值。本模块通过分时复用和状态机设计,高效、稳定地完成了多源异构传感器数据的采集。传感器数据采集流程如图4-2所示。

图4-2 传感器数据采集流程图

  1. LoRa无线通信模块

LoRa模块是实现传感器子节点与网关节点间低功耗、远距离局域网通信的关键。在子节点端,软件将采集到的多传感器数据封装成自定义帧格式,通过串口发送给E22-230T22D模块,由模块以LoRa调制方式无线发出。在网关节点端,LoRa模块接收来自多个子节点的数据包,并通过串口传递给STM32。STM32通过中断服务程序接收数据流,根据帧头帧尾完成数据包的拼接与校验,并调用environment_data_analyze函数解析出各子节点的环境数据,更新到对应的全局变量中,为后续的数据汇聚与云上传做好准备。该模块实现了星型网络拓扑下的可靠自组网与数据传输。LoRa无线通信流程如图4-3所示。

图4-3 LoRa无线通信流程图

  1. G云平台通信模块

4G模块(ML307R)是连接本地网络与广域互联网、实现数据上云的核心。模块通过串口与STM32通信,软件通过发送AT指令集控制其完成网络注册、激活并与OneNET云平台建立MQTT连接。数据上报功能由report_system_state函数实现,该函数将环境数据与系统状态(如土壤湿度阈值)按照平台要求的JSON或字符串格式封装,通过AT指令发送给4G模块,由模块转发至云端。指令接收功能通过app_data_analyze函数实现,STM32持续监听4G模块串口返回的数据,当接收到云平台下发的指令时(如设置阈值),解析指令内容并执行相应操作(如更新soil_hum_thre变量),同时置位标志位触发状态上报。该模块确保了监控系统与远程管理端的双向实时交互。4G云平台通信流程如图4-4所示。

图4-4 4G云平台通信流程图

  1. OLED显示模块

OLED显示模块为人机交互提供本地可视化界面,实时展示所有关键环境参数。软件调用oled_display函数,该函数首先清空屏幕缓冲区,然后按照预设的布局分四行显示信息:第一行显示"二氧化碳浓度"及其数值(单位ppm);第二行显示"环境亮度"及其百分比;第三行显示"温湿度"及其具体数值(温度单位℃,湿度单位%);第四行显示"土壤湿度"及其百分比和当前报警阈值。数据显示部分调用了专门的汉字字库显示函数OLED_ShowChinese和字符串显示函数OLED_ShowString,将数字变量格式化为字符串后绘制到指定屏幕位置,最后通过OLED_Refresh函数将缓冲区内容刷新到物理屏幕上,实现信息的直观、清晰呈现。OLED显示流程如图4-5所示。

图4-5 OLED显示流程图

  1. 报警控制模块

报警控制模块是实现系统智能化预警的核心,根据预设逻辑自动触发本地声光报警。其功能由beep_alarm_ctrl函数实现,该函数在每个主循环周期中被调用。函数内部判断两个条件:一是温度值temp不为零(确保传感器已初始化并返回有效数据),二是当前土壤湿度值soil_hum低于用户通过APP远程设置的报警阈值soil_hum_thre。当且仅当两个条件同时满足时,函数将控制蜂鸣器的GPIO引脚置为高电平,驱动三极管导通使蜂鸣器鸣响;否则将该引脚置为低电平,关闭蜂鸣器。这种设计使得报警仅在有效数据存在且土壤异常干旱时触发,避免了误报,同时通过声音提醒现场人员及时干预。报警控制流程如图4-6所示。

图4-6 报警控制流程图

  1. 数据上报与云端解析模块

本模块负责系统数据的对外发送与云端指令的接收解析,是远程监控功能的软件实现。数据上报分为两个通道:report_environment_state函数周期性地将纯环境数据(CO₂、光照、温湿度、土壤湿度)打包,通过USART2发送给LoRa模块,用于子节点向网关传输。report_system_state函数则以更长的周期或在收到设置指令后,将包含土壤湿度阈值的完整系统状态数据打包,通过4G模块上报至OneNET云平台。云端解析主要通过app_data_analyze函数完成,该函数监听4G模块数据流,使用strstr和sscanf函数解析云平台下发的特定格式指令,若指令合法则更新本地的土壤湿度阈值,并置位set_flag触发一次状态上报,完成闭环控制。数据上报与解析流程如图4-7所示。

图4-7 数据上报与云端解析流程图

  1. 本章小结

本章详细阐述了基于LoRa的智慧农业环境监测系统的软件设计与实现。首先介绍了作为系统调度核心的主程序流程,明确了各功能模块的调用逻辑与执行时序。随后,依次深入分析了传感器数据采集、LoRa无线通信、4G云平台通信、OLED本地显示、蜂鸣器报警控制以及数据上报与云端解析六个关键子模块的软件设计。每个模块均从功能需求出发,结合具体的函数实现、通信协议和数据流,描述了其工作原理、处理流程以及与硬件接口的协同方式,并辅以清晰的流程图进行说明。整体软件架构采用前后台系统设计,主循环负责周期性任务调度,中断服务程序处理异步通信事件,确保了系统能够实时、可靠地完成环境感知、数据处理、无线传输、人机交互和远程管控等全部既定功能,为系统的稳定运行提供了坚实的软件保障。

  • 测试结果与分析
  1. 硬件测试

硬件测试旨在验证系统各电路模块的电气性能与连接可靠性。通过搭建实验平台,对电源系统、主控模块、传感器模块、通信模块及人机交互模块进行功能性测试,确保各模块在正常工作电压范围内稳定运行,且相互间连接无误。测试过程中,使用示波器测量关键信号波形,使用万用表检测供电电压与电流,并使用逻辑分析仪辅助验证通信时序。

  1. 电源模块测试

电源模块是实现系统户外长期运行的基础,测试重点验证太阳能充电管理、锂电池供电及电压转换的稳定性。首先,将太阳能板置于标准光照条件下(约1000 Lux),测量其开路电压与短路电流。随后,连接Type-C充电器,测试充电管理模块能否在两种输入模式下无缝切换并为锂电池正常充电。最后,在系统满载运行(所有传感器与通信模块工作)和轻载休眠两种状态下,测量AMS1117-3.3稳压器的输入电压(V_BAT)、输出电压(V_3.3V)及纹波。测试结果表明,太阳能板与Type-C接口均能有效为锂电池充电,AMS1117-3.3在不同负载下均能输出稳定的3.3V电压,最大纹波小于50mV,满足系统供电需求。系统电源测试实物连接如图5-1所示,具体测试数据记录于表5-1。

图5-1 系统电源模块测试图

表5-1 电源模块性能测试数据表

|------------|----------|---------------------|-----------------------|------|
| 测试项目 | 测试条件 | 测试值 | 标准要求 | 结果判定 |
| 太阳能板输出 | 标准光照 | 电压: 6.2V, 电流: 180mA | 开路电压>5.5V | 合格 |
| Type-C充电输入 | 5V/2A适配器 | 充电电流: 450mA | 正常充电 | 合格 |
| 锂电池电压 | 充满电状态 | 4.18V | 4.20V±0.05V | 合格 |
| 3.3V稳压输出 | 满载运行 | 3.30V, 纹波: 42mV | 3.3V±0.05V, 纹波<100mV | 合格 |
| 系统工作电流 | 休眠模式 | 15.2mA | <20mA | 合格 |
| 系统工作电流 | 满载运行 | 285mA | <300mA | 合格 |

  1. 传感器模块功能测试

为验证各环境传感器的数据采集功能,搭建了独立的传感器测试平台。DHT11温湿度传感器采用恒温恒湿箱作为标准环境源;BH1750光照传感器使用标准照度计进行对比;土壤湿度传感器分别在干燥土壤、湿润土壤及水浸状态下进行测试;二氧化碳传感器使用已知浓度的CO2标准气体进行标定;烟雾传感器则使用烟雾发生器模拟异常环境。每个传感器模块通过杜邦线连接至STM32开发板,运行专门的测试程序,通过串口打印原始采集数据,并与标准仪器的测量值进行对比。测试结果显示,所有传感器均能正常响应并输出与环境变化趋势相符的数据,初步验证了硬件接口的正确性。图5-2展示了各传感器模块的集中测试场景。

图5-2 环境传感器模块功能测试图

  1. 软件测试

软件测试聚焦于验证各功能函数的逻辑正确性、数据处理的准确性以及系统整体的稳定性。测试分为单元测试和系统联调两部分。单元测试基于Keil MDK的调试环境,通过设置断点、观察变量、单步执行等方式,对关键函数进行白盒测试。系统联调则将完整程序下载至硬件,通过串口助手、逻辑分析仪等工具监控内部数据流与外部行为。

  1. 数据采集与处理函数测试

测试针对light_get、hum_get、co2_get等核心数据采集函数进行。通过模拟输入(如使用可调电阻模拟土壤湿度传感器电压)或注入测试数据(如通过串口模拟CO2模块数据帧),验证函数能否正确解析原始信号并计算出准确的环境参数值。同时,测试了数据滤波算法(如土壤湿度的滑动平均滤波)的有效性。oled_display函数的测试则通过观察OLED屏幕的实际显示内容,检查其格式、单位及数据刷新是否正确。测试表明,各函数均能按预期工作,数据处理结果可靠。图5-3展示了软件调试环境下对变量进行监视的场景。

图5-3 Keil MDK环境下软件调试与变量监视

  1. 通信协议与状态机测试

重点测试report_system_state、report_environment_state、environment_data_analyze和app_data_analyze函数。使用串口调试助手模拟LoRa模块和4G模块,向STM32发送预设格式的数据包,验证数据上报的周期、数据包格式的正确性以及云端指令解析的准确性。特别测试了app_data_analyze函数对复杂JSON字符串(模拟OneNET平台下行消息)的解析鲁棒性,确保其在收到错误格式数据时不会崩溃。此外,测试了set_flag标志位在不同触发条件下(定时上报、阈值更新后)的置位与清零逻辑。所有通信协议相关函数均通过了测试。

  1. 报警控制逻辑测试

对beep_alarm_ctrl函数进行全面的逻辑覆盖测试。通过编程方式或物理改变传感器状态,设置不同的temp和soil_hum组合,观察蜂鸣器(或控制引脚PB13)的输出状态。测试涵盖了正常状态(温度有效且湿度高于阈值)、报警状态(温度有效且湿度低于阈值)以及边界条件(温度为零、湿度等于阈值)等多种情况。测试结果表明,报警逻辑符合设计要求,仅在满足temp != 0 & soil_hum < soil_hum_thre条件时触发报警,有效避免了误报。报警逻辑测试示意如图5-4所示。

图5-4 蜂鸣器报警控制逻辑测试示意图

  1. 系统集成与功能测试

集成测试将经过验证的硬件与软件结合,在实际应用场景中验证系统的整体功能、性能及可靠性。测试在一个模拟的小型农业大棚环境中进行,包含一个网关节点和两个传感子节点。

5.3.1数据采集与本地显示功能测试

为传感子节点和网关节点上电,观察OLED屏幕的启动显示及后续的数据刷新。手动改变各传感器周围环境(如用手电筒照射BH1750、向CO2传感器吹气、将土壤湿度传感器插入水杯等),观察OLED屏幕上对应参数的实时变化。测试确认,两个节点均能稳定采集并显示所有环境参数,数据显示准确、刷新流畅,无乱码或卡顿现象。子节点本地数据显示效果如图5-5所示,网关节点显示效果类似但数据来源于子节点汇总。

图5-5 传感子节点OLED屏幕实时数据显示效果

5.3.2LoRa无线组网与数据传输测试

将传感子节点与网关节点分别放置于距离10米、50米、100米(视距)的位置,测试LoRa通信的可靠性。通过网关节点的调试串口,打印其通过LoRa接收到的来自子节点的原始数据包。测试在不同距离和有无障碍物的情况下,数据包的接收成功率、误码率及通信延迟。同时,测试了多子节点同时发送数据时,网关的数据处理能力。测试结果显示,在100米视距范围内,LoRa通信稳定可靠,数据包接收成功率高于99%,完全满足农田覆盖需求。LoRa通信测试场景如图5-6所示。

图5-6 LoRa无线通信距离与稳定性测试场景

5.3.34G云端数据同步与远程监控测试

确认网关节点的4G模块成功注册网络并连接至OneNET云平台。在PC端和手机APP端登录OneNET平台,访问对应的设备界面。观察平台数据看板上的环境参数是否与网关OLED显示的数据一致,并检查数据刷新是否及时(约10秒周期)。通过平台或APP修改土壤湿度报警阈值(如从20%改为60%),观察网关节点是否在下一个上报周期后更新本地阈值,并在土壤湿度不满足条件时触发报警。同时,验证了平台历史数据曲线的查看功能。测试证实,云端数据同步准确、及时,远程指令下发与报警阈值设置功能完全实现。OneNET云平台实时数据监控界面如图5-7所示。

图5-7 OneNET云平台设备实时数据监控界面

5.3.4智能报警与系统功耗测试

综合测试系统的智能预警功能。设置土壤湿度阈值为一个中间值(如40%)。当土壤实际湿度高于此值时,系统保持安静。当人为使土壤变干(湿度低于阈值)且温度传感器有效时,系统立即触发蜂鸣器持续报警。通过APP将阈值调高至高于当前湿度,报警再次触发;将阈值调低,报警停止。整个过程中,云平台同步产生报警记录。此外,在系统仅由锂电池供电、关闭所有通信模块仅保留传感器采集与显示的最低功耗模式下,测试了系统的持续工作时间,评估了太阳能充电对续航能力的提升效果。智能报警触发实物如图5-8所示。

图5-8 土壤湿度低于阈值触发本地蜂鸣器报警实物图

  1. 测试结果分析

本章通过硬件测试、软件测试和系统集成测试三个层次,对基于LoRa的智慧农业环境监测系统进行了全面验证。硬件测试结果表明,各电路模块设计合理,供电稳定,传感器与主控接口连接正确,为系统可靠运行奠定了物理基础。软件测试验证了所有核心功能函数的逻辑正确性与鲁棒性,数据处理准确,通信协议解析可靠。系统集成测试在实际场景中成功验证了系统设计的全部12项功能需求:实现了多参数环境数据的准确采集与本地显示;构建了基于LoRa的低功耗、远距离监测子网;完成了通过4G网络将数据可靠上传至OneNET云平台;支持通过云平台或APP进行远程实时监控、历史数据查询及报警阈值设置;实现了基于阈值的本地声光与云端双重智能报警。

测试过程中发现,在极端恶劣天气(如强电磁干扰)下,LoRa通信偶尔会出现短暂中断,但系统具备重传机制,能在干扰消失后快速恢复。系统整体运行稳定,功能完整,功耗符合预期,太阳能供电系统有效延长了设备续航,满足了对农业环境进行长期、无人化、智能化监控的设计目标。所有测试结果均表明,本系统达到了预期的设计指标,具备良好的实用性和推广价值。

  • 结论与展望
  1. 总结

本文针对传统农业生产环境监控方式存在的部署困难、数据孤立、管理滞后等问题,设计并实现了一套基于STM32与LoRa技术的分布式智慧农业环境监测系统。系统以低功耗、易部署、智能化为核心设计目标,采用了传感子节点与网关节点相结合的硬件架构。传感子节点以STM32F103C8T6微控制器为核心,集成了DHT11温湿度传感器、BH1750光照传感器、二氧化碳检测模块、土壤湿度传感器及烟雾检测模块,构建了全方位的环境参数感知单元;通过E22-230T22D LoRa模块构建了低功耗、远距离的无线监测局域网。网关节点则承担了数据汇聚与协议转换的核心任务,利用ML307R 4G Cat1模块作为广域网桥梁,将现场数据可靠传输至OneNET物联网云平台,实现了从边缘到云端的无缝连接。

在软件层面,系统实现了多传感器数据的周期性采集、滤波处理与本地OLED屏幕的实时显示。通过精心设计的通信协议与状态机,系统稳定地完成了传感子节点与网关之间的LoRa自组网通信,以及网关与云平台之间的数据同步与指令交互。用户可通过云平台或移动APP远程实时查看环境数据、设置土壤湿度报警阈值,并接收异常状态下的本地蜂鸣器与平台消息双重报警。经过全面的硬件调试、软件单元测试及系统集成测试,结果表明该系统各项功能运行稳定,数据采集准确,通信链路可靠,太阳能供电系统有效,成功实现了对农业环境"感、传、知、控"的智能化、远程化闭环管理,达到了预期的设计目标。

  1. 展望

尽管本系统已实现了预定的基本功能并在测试中表现良好,但仍存在一些值得进一步研究和优化的空间。首先,在通信可靠性方面,可以进一步优化LoRa网络的自适应数据速率机制与抗干扰算法,以应对更复杂的户外电磁环境,提升在恶劣天气下的通信成功率与网络健壮性。其次,在系统功耗方面,可深入研究并应用更加精细的低功耗调度策略,例如根据环境变化动态调整传感器采样频率与通信周期,并结合STM32的多种休眠模式,进一步延长电池续航时间,减少对太阳能补给的依赖。

此外,系统的智能化程度仍有提升空间。未来可以扩展更多的监控维度,如土壤EC值、氮磷钾含量等,并引入简单的边缘计算能力,在节点端实现初步的数据分析与异常诊断。报警功能也可从单一的土壤湿度阈值报警,扩展为基于多参数融合的复合型预警模型,例如结合温度、湿度和光照预测病虫害风险。最后,从工程应用角度,可以考虑设计更加防水、防尘、耐候的外壳,并开发具备多网关管理、大数据分析及可视化决策支持功能的专业化云平台,使系统从一个毕业设计原型向一个可部署、易运维的成熟农业物联网产品迈进。

参考文献

  1. 邱岽.基于LoRaWAN的低功耗农田环境监测系统研究D.安徽建筑大学,2023.
  2. 杨昊弋,冯锋。基于LoRa技术的枸杞种植园环境监测系统J/OL。物联网技术,1-42025-10-09.
  3. 覃健庭,唐鹏,谭舒文,等。基于LoRa的低功耗桑园环境监测系统设计J/OL。物联网技术,1-62025-10-10.
  4. 郑鹏.基于LoRa的温室大棚环境监控系统研究D.天津理工大学,2023.
  5. 任壮.基于LoRa网络的农业大棚环境检测与控制系统设计D.安徽工程大学,2023.
  6. 韩洁琼,陈丽敏,彭奋英.基于STM32智慧农业大棚环境监测系统设计与实现J.工业控制计算机,2024,37(12):142-144.
  7. 石新龙,丁永辉.基于LoRa无线通信的农业环境监测系统设计J.精密制造与自动化,2021,(03):44-46+56.
  8. 李文豪,陈仲生,方乡.面向环境监测的LoRa自组网网关设计J.电工电气,2023,(04):53-59.
  9. 李颖.基于LoRa技术与云技术的智慧农业系统设计与实现J.网络安全技术与应用,2022,(01):123-124.
  10. 张鹏.基于LoRa的智慧农业环境监测系统设计J.物联网技术,2024,14(12):7-10+14.
  11. 韩红蕾,张家豪.基于LoRa的智慧农业监测系统的设计与实现J.互联网周刊,2025,(17):25-27.
  12. 张志娟,张德凤.智慧农业监测系统设计J.农业与技术,2022,42(20):48-51.
  13. 熊永昌.基于LoRa的农田气象监测系统研究D.牡丹江师范学院,2022.
  14. 丁苏生.基于物联网的智慧农业监控系统D.浙江理工大学,2022.
  15. Suji Prasad S J, Thangatamilan M, Suresh M, et al. An efficient LoRa-based smart agriculture management and monitoring system using wireless sensor networksJ. International Journal of Ambient Energy, 2022, 43(1): 5447-5450.
  16. Singh D K, Sobti R, Jain A, et al. LoRa based intelligent soil and weather condition monitoring with internet of things for precision agriculture in smart citiesJ. IET communications, 2022, 16(5): 604-618.
相关推荐
云泽8081 小时前
深入浅出 STM32(八):GPIO 寄存器底层原理与 CubeMX 点亮 LED 实战
stm32·单片机·嵌入式硬件
matlabgoodboy15 小时前
计算机毕设代做|Java Python Matlab APP 全套开发设计
java·python·课程设计
单片机杂货铺16 小时前
基于单片机的智能粮仓控制系统设计与实现
stm32·单片机·嵌入式硬件·物联网·计算机外设·51单片机·课程设计
指尖的爷16 小时前
RKNN转化环境搭建(rknn_toolkit2新版本)
嵌入式硬件·深度学习·物联网·目标检测
梁朝辉16 小时前
滴泪的曲线(Curved)还是直线(Line)什么区别,都应用于什么场景!
嵌入式硬件·硬件工程
clear sky .18 小时前
stm32H7进入HardFault_Handler机制
stm32·单片机·嵌入式硬件
小僧景贤18 小时前
STM32 GPIO 详解(含寄存器、HAL 库、电气特性、低功耗深度剖析)
stm32·单片机·嵌入式硬件
远翔调光芯片^1382879887220 小时前
从参数到应用:FP7208如何以0.2V精密反馈提升LED驱动性能
科技·单片机·嵌入式硬件·智能家居·能源
碧海银沙音频科技研究院21 小时前
4 BES2710编译环境搭建方法
嵌入式硬件·算法