Spring Boot 3 + Vue 3 + MySQL 智能灌溉系统源码 前后端分离 实战项目
·
一、项目简介
本系统是一个基于 Spring Boot 3 + Vue 3 + MySQL 前后端分离架构的智能灌溉管理系统,旨在通过物联网传感器数据采集、自动灌溉决策、设备远程控制以及报警监控,实现农业灌溉的智能化管理。系统整体采用前后端分离架构,后端提供 RESTful API,前端通过 Vue 3 构建单页应用。系统包含管理员和区域运维人员两种角色,支持手动与自动两种灌溉模式,覆盖从数据采集、策略配置到灌溉执行与统计的完整闭环。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3 |
| ORM | MyBatis-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
更多推荐

所有评论(0)