Spring Boot 3 + Vue 3 + MySQL 智能灌溉系统源码 前后端分离 实战项目

Spring Boot 3 + Vue 3 + MySQL 智能灌溉系统源码 前后端分离 实战项目

一、项目简介

本系统是一个基于 Spring Boot 3 + Vue 3 + MySQL 前后端分离架构的智能灌溉管理系统,旨在通过物联网传感器数据采集、自动灌溉决策、设备远程控制以及报警监控,实现农业灌溉的智能化管理。系统整体采用前后端分离架构,后端提供 RESTful API,前端通过 Vue 3 构建单页应用。系统包含管理员和区域运维人员两种角色,支持手动与自动两种灌溉模式,覆盖从数据采集、策略配置到灌溉执行与统计的完整闭环。

二、技术栈

技术说明
后端框架Spring Boot 3
ORMMyBatis-Plus
权限JWT Token 认证
前端框架Vue 3 (Composition API)
状态管理Pinia
构建工具Vite
数据库MySQL
实时通信WebSocket

三、功能模块

管理员端

  • 用户登录认证:通过用户名+密码登录,返回 JWT Token 及用户基本信息(ID、昵称、角色、头像)。
  • 区域管理:添加/编辑/删除农田区域,支持设置区域名称、编码、面积、作物类型、地理位置(经纬度)。
  • 传感器设备管理:添加/编辑/删除传感器设备,绑定所属区域,记录设备编码、类型、安装时间。
  • 灌溉设备管理:添加/编辑/删除灌溉设备,绑定区域,记录设备类型、流量速率。
  • 灌溉策略管理:添加/编辑/删除灌溉策略,设置策略名称、关联区域、作物类型、土壤湿度上下限阈值。
  • 切换策略运行模式:指定策略 ID 和模式(auto/manual),更新策略的运行模式;启用/禁用策略。
  • 手动开始/停止灌溉:选择区域、设备,填写操作人,触发灌溉并创建灌溉记录,自动计算建议水量;停止灌溉时自动更新结束时间、时长,关闭设备。
  • 系统配置管理:查看/设置采集周期(1-60分钟),手动触发一次数据采集。
  • 数据统计与图表:Dashboard 概览统计(区域/传感器/设备/报警/灌溉次数);灌溉统计图表(按天统计灌溉次数、用水量、时长);传感器趋势图表(土壤湿度、温度、光照等时间序列)。

普通用户端

  • 用户登录认证:通过用户名+密码登录,返回 JWT Token 及用户基本信息。
  • 获取当前用户信息:根据 Token 解析用户 ID,返回用户详情(邮箱、手机号、角色)。
  • 修改密码:提交原密码与新密码,校验原密码正确后更新用户密码。
  • 查看区域列表与详情:分页查看区域列表,查看单个区域完整信息。
  • 查看传感器设备:分页查询传感器设备(带区域名称),查看指定区域传感器列表。
  • 查看灌溉设备:分页查询灌溉设备(带区域名称),查看指定区域灌溉设备列表。
  • 获取区域当前灌溉状态:按区域 ID 查询是否存在进行中的灌溉记录。
  • 检查是否需要灌溉:按区域 ID 判断当前土壤湿度是否低于策略下限阈值,返回是否需要灌溉及建议水量。
  • 查看灌溉记录:支持分页、按区域 ID 筛选、按开始日期范围筛选,附带区域名称和设备名称。
  • 查看报警记录:查看报警列表(支持按状态筛选),处理报警(填写处理人、处理备注),忽略报警。

教练端(此处指区域运维人员)

  • 用户登录认证:通过用户名+密码登录,返回 JWT Token 及用户基本信息。
  • 查看区域列表与详情:分页查看区域列表,查看单个区域完整信息。
  • 查看传感器设备:分页查询传感器设备(带区域名称),查看指定区域传感器列表。
  • 控制灌溉设备开关:发送设备 ID 和目标状态(0/1),更新设备运行状态并记录操作时间。
  • 查看灌溉策略:获取所有启用的灌溉策略(enabled=1 且未删除),按优先级降序排列,附带区域名称。
  • 切换策略运行模式:指定策略 ID 和模式(auto/manual),更新策略的运行模式。
  • 手动开始/停止灌溉:选择区域、设备,填写操作人,触发灌溉并创建灌溉记录;停止灌溉时自动更新记录。
  • 查看灌溉记录:支持分页、按区域 ID 筛选、按开始日期范围筛选,附带区域名称和设备名称。
  • 查看报警记录:查看报警列表(支持按状态筛选),处理报警(填写处理人、处理备注),忽略报警。
  • 获取未处理报警数量:查询 status=0 的报警记录总数。

四、项目总结

本系统的技术亮点在于:前后端分离架构下,通过 JWT 实现无状态认证;集成 WebSocket 实现传感器数据实时推送与报警通知;内置模拟数据生成器,支持日夜变化、异常数据、降雨等场景,便于测试自动灌溉决策逻辑;自动灌溉决策基于土壤湿度阈值与时间窗口,支持手动/自动模式切换。该系统适用于农业物联网教学、课程设计、毕业设计以及中小型智能灌溉项目的二次开发与学习。

界面展示

交付内容

本项目为完整交付,包含:

  • 完整后端源码
  • 完整前端源码
  • 数据库初始化脚本(SQL)
  • 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)

获取完整源码

完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K019