立项背景和目标 :随着现代农业向精细化、智能化发展,传统大棚种植缺乏对环境数据的实时监测和科学管理。本项目旨在通过物联网技术,实现对农业大棚内温度、湿度的实时采集、展示和智能分析,帮助种植者科学管理大棚环境,提高作物产量和品质。
软件功能、核心功能模块介绍 :系统包含五大核心功能模块:1) 仪表盘实时监控 - 展示当前温度湿度数据,配合阈值进度条直观显示环境状态;2) 历史数据趋势 - 按设备分别展示温度湿度变化曲线和数据表格,支持导出CSV;3) 设备管理 - 支持多设备管理,自动判断设备在线状态(5分钟内无数据判定为离线);4) 作物管理 - 可配置不同作物、不同生长阶段的温湿度阈值;5) AI智能建议 - 集成DeepSeek大模型,根据当前环境数据和作物类型给出专业管理建议。
业务流程、功能路径描述 :用户首先访问系统仪表盘,可通过设备选择器切换查看不同大棚的实时数据;当需要分析历史趋势时,切换到历史数据页面,选择设备查看对应图表和记录;在设备管理页面可添加/编辑设备信息,绑定对应作物和生长阶段;作物管理页面支持自定义作物阈值;系统会根据实时数据和配置自动触发AI建议,协助用户进行灌溉、通风等决策。
整体架构和设计思路,不同模块使用的技术栈 :系统采用前后端分离架构,后端基于Spring Boot框架,提供RESTful API接口,使用Spring Data JPA进行数据持久化,支持H2内存数据库和MySQL等生产级数据库。前端使用原生JavaScript开发,配合Chart.js实现数据可视化,通过localStorage实现本地历史数据存储。后端划分为Sensor(传感器)、Device(设备)、Crop(作物)、AI Service四个核心模块,通过依赖注入实现模块解耦。
"我"的负责模块和结果 :我负责全栈开发,完成了整个系统从设计到实现。具体包括:1) 设计并实现设备自动注册机制,支持ESP8266等真实硬件设备和手机移动端同时接入;2) 开发按设备分离的历史数据存储和展示功能,确保不同设备的数据独立管理,提升了数据分析的准确性;3) 集成DeepSeek大模型实现智能建议功能,通过友好的错误处理保证AI服务不可用时系统仍能正常运行;4) 实现响应式前端界面,在桌面和移动端都能良好显示。
"我"遇到的难点、坑,和解决方案 :在开发过程中遇到了几个典型问题:1) AI服务调用时,当设备未配置作物或数据库查询失败会导致500错误,通过在SensorService中添加多层try-catch和参数校验,确保即使AI服务异常也能返回友好提示;2) 历史数据从单设备格式迁移到多设备格式时出现兼容性问题,通过在页面加载时检测数据格式,自动将旧格式数据迁移到新结构解决;3) 多设备切换时图表和表格更新不及时,通过在设备选择器点击事件中同时更新所有相关组件的状态,确保数据一致性。