*智慧柑橘项目技术文档
一、项目概述
智慧柑橘云平台 是一个面向全国柑橘种植农户的智能化农业服务平台,旨在通过人工智能、大数据分析和物联网技术,为农户提供精准的种植建议、市场行情分析和病虫害识别服务。系统采用前后端分离架构,后端基于 Spring Boot + MyBatis-Plus(Java)和 Python AI 服务(Flask/FastAPI),前端采用 Vue.js 构建,涵盖用户端和SCW-Backend-Yolov8管理端。
平台主要用户包括:
- 柑橘农户:获取天气、行情、AI识别等服务
- 农业专家:提供专业指导,审核农户问题
- 管理员:管理平台内容、用户、专家等
二、技术栈与依赖
项目采用 微服务架构,主要依赖如下:
1. 后端核心(Python AI 服务)
- Python 3.10.12(稳定兼容版本)
- Web框架:
- Flask 3.0.3(轻量级API服务)
- FastAPI 0.68.0(高性能AI接口)
- Django 4.2.1(可选,部分管理功能)
- AI/机器学习:
- OpenAI 1.64.0(智能问答)
- Transformers 4.39.3(NLP模型)
- PyTorch 2.4.1 + Torchvision 0.19.1(图像识别)
- TensorFlow 2.16.1(可选,部分模型训练)
- 数据处理:
- Pandas 2.0.3(数据分析)
- NumPy 1.24.4(数值计算)
- 可视化:
- Matplotlib 3.7.5 + Seaborn 0.12.2(数据图表)
- Scikit-learn 1.3.2(机器学习辅助)
2. 数据库 & 存储
- SQL 数据库:MySQL(SQLAlchemy 2.0.33 + Alembic 1.13.2 管理迁移)
- NoSQL:MongoDB(Pymongo 4.7.0,存储非结构化数据)
- 缓存:Redis(Redis-py 4.6.0,会话管理 & 高频数据缓存)
- 文件存储:阿里云OSS(Boto3 1.34.119)
3. 测试 & 开发工具
- 代码质量:
- Pylint 2.17.4(代码规范检查)
- Flake8 6.1.0(语法检查)
- Black 23.9.1(代码格式化)
- 测试工具:
- Pytest 7.4.2(单元测试)
- Coverage.py 7.2.7(测试覆盖率)
4. 其他关键依赖
- 爬虫:Scrapy 2.11.2(新闻采集)、BeautifulSoup 4.12.0(HTML解析)
- 任务队列:Celery 5.4.0(异步任务,如AI识别)
- 浏览器自动化:Selenium 4.14.1 / Playwright 1.45.0(数据抓取)
- 图像处理:Pillow 10.4.0(图片预处理)
三、系统功能详解
1. 用户端功能
- 智能问答:农户可输入柑橘种植问题,AI基于NLP模型提供解答。
- 图像识别:上传柑橘叶片/果实图片,AI识别病虫害并给出防治建议。
- 行情分析:整合全国柑橘市场价格,通过Echarts可视化展示趋势。
- 专家咨询:农户可联系认证专家,获取一对一指导。
- 数据大屏:展示种植数据、市场趋势、天气影响等综合分析。
2. 管理端功能
- 新闻管理:支持手动录入或爬虫自动抓取农业资讯。
- 价格监控:定时爬取电商平台价格,更新行情数据。
- 用户/专家审核:管理农户账号,审核专家入驻申请。
- 系统监控:日志分析、API调用统计、异常报警。
四、部署与运行指南
1. 环境准备
- 数据库:MySQL 5.7+,执行
db/sql
下的脚本初始化数据表。 - Redis:用于缓存和Celery任务队列。
- Python 虚拟环境:推荐使用
conda
或venv
隔离依赖。
2. 关键配置
- 图片存储:解压
images.zip
至D:\
,确保路径正确。 - ChromeDriver:放置于
D:\programmingNoDelete\chromedriver\chromedriver.exe
(爬虫依赖)。 - OSS 配置:修改
config/oss.py
,填写阿里云AccessKey。
3. 启动流程
- 启动Redis:
redis-server
- 启动Celery:
celery -A tasks worker --loglevel=info
- 启动API服务:
python api_service.py
(Flask/FastAPI) - 启动前端:
npm run dev
(Vue 项目)
五、注意事项 & 已知问题
- 用户管理功能不完善:
- 目前仅支持数据库直接添加管理员(默认账号
root/123456
)。 - 用户头像上传可能因OSS配置失败而无法显示。
- 目前仅支持数据库直接添加管理员(默认账号
- 未完成功能:
- 论坛模块(代码残留但未实现)。
- 敏感词过滤(预留接口但未开发)。
- 依赖版本冲突:
- TensorFlow 2.x 可能与部分旧版PyTorch不兼容,建议使用虚拟环境。
六、未来优化方向
- 增强AI识别能力:引入YOLOv8等模型,提升病虫害识别准确率。
- 移动端适配:开发微信小程序,方便农户随时查询。
- 物联网集成:对接土壤传感器,实现实时环境监测。
总结
智慧柑橘项目整合了 AI识别、大数据分析、爬虫自动化 等技术,为农户提供智能化种植解决方案。当前版本已实现核心功能,但仍需优化用户体验和扩展高级功能。完整运行需严格按照部署指南配置环境,并确保依赖版本匹配。