# qiuyue **Repository Path**: NebulaCoding1029/qiuyue ## Basic Information - **Project Name**: qiuyue - **Description**: 阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-26 - **Last Updated**: 2025-10-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 秋月梨种植环境监测与生产溯源管理系统 ## 项目简介 这是一个基于PyQt6开发的综合管理系统,用于秋月梨种植过程中的环境监测、生产溯源和设备控制。系统提供直观的图形界面,帮助农民或农业管理人员更好地监控种植环境、记录生产信息以及控制相关设备。 该系统专为智慧农业终端设计,支持通过GPIO按钮进行页面切换,适用于无鼠标键盘的大屏监控场景,可在全志H618等Linux开发板上运行。 ## 功能特性 ### 1. 主仪表盘 - 实时显示关键环境指标概览 - 状态指示器显示各项指标是否正常 - 进度条直观显示当前数值位置 - 实时时钟显示 ### 2. 环境监测系统 - 实时监测温度、湿度、光照强度和土壤湿度四项关键指标 - 数据可视化图表展示: - 折线图:用于查看历史数据变化趋势 - 柱状图:用于查看当前最新状态 - 直观的数据面板显示当前数值 - 历史数据表格查看功能 - 所有数据保存在SQLite数据库中 ### 3. 报警监控系统 - 实时监控环境异常并生成报警 - 区分当前活动报警和历史报警记录 - 支持报警确认和历史清除功能 - 报警信息详细记录时间戳 ### 4. 天气预报系统 - 显示当前天气状况 - 提供未来几天天气预报 - 包含温度、湿度、风力等详细信息 ### 5. 农事操作指导 - 根据种植阶段提供农事操作建议 - 显示当前种植阶段特点和注意事项 - 列出每日重要农事任务 - 支持任务状态标记 ### 6. 统计分析系统 - 果树产量统计图表 - 果品质量等级分布 - 环境数据平均值展示 - 数据可视化呈现 ### 7. 生产溯源管理 - 通过二维码录入和查询产品信息 - 记录批次号、种植日期、出厂日期、水果分级等必要信息 - 完整的产品生命周期追踪 - 数据持久化存储在SQLite数据库中 ### 8. 设备控制系统 - 舵机开关控制 - 设备运行状态实时显示 - 简洁明了的操作界面 ### 9. GPIO硬件控制 - 支持通过GPIO按钮进行页面切换 - LED指示灯显示当前页面状态 - 按钮消抖处理确保稳定操作 - 适用于无鼠标键盘的大屏监控场景 - 兼容全志H618等Linux开发板 ## 环境配置 系统支持两种运行环境: ### 开发环境 (development) - 默认环境,用于开发和测试 - 使用模拟数据而非真实传感器 - GPIO功能停用,可使用鼠标键盘操作 - 便于在普通PC上进行开发和调试 ### 生产环境 (production) - 用于实际部署 - 通过UART读取真实传感器数据 - 启用GPIO功能,支持按钮操作 - 适用于嵌入式设备部署 ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 硬件连接说明 ### GPIO按钮连接 (适用于全志H618平台) - PG12: 上一个页面按钮 - PG13: 下一个页面按钮 ### LED指示灯连接 - PG16: 第1页指示灯 - PG17: 第2页指示灯 - PG18: 第3页指示灯 - PG19: 第4页指示灯 ### UART传感器连接 - 根据实际硬件连接确定串口设备(默认/dev/ttyS0) - 波特率默认为9600 注意:实际引脚编号可能因开发板而异,请参考您的开发板引脚定义。 ## 运行程序 ### 开发环境运行 ```bash python main.py ``` 或 ```bash python main.py --dev ``` ### 生产环境运行 ```bash python main.py --prod ``` 或设置环境变量: ```bash export APP_ENV=production python main.py ``` ## 系统架构 ``` ├── main.py # 程序入口 ├── config.py # 系统配置 ├── requirements.txt # 依赖包列表 ├── README.md # 项目说明文档 ├── database/ # 数据库管理 │ └── db_manager.py # SQLite数据库管理器 ├── models/ # 数据模型 │ ├── environment_model.py # 环境数据模型 │ └── production_model.py # 生产数据模型 ├── controllers/ # 控制器 │ └── sensor_controller.py # 传感器和设备控制器 ├── hardware/ # 硬件控制 │ ├── gpio_controller.py # GPIO控制器 │ └── uart_sensor.py # UART传感器控制器 ├── ui/ # 用户界面 │ ├── main_window.py # 主窗口 │ ├── dashboard_widget.py # 主仪表盘界面 │ ├── monitor_widget.py # 环境监测界面 │ ├── chart_widget.py # 折线图组件(历史变化) │ ├── bar_chart_widget.py # 柱状图组件(当前状态) │ ├── alarm_widget.py # 报警监控界面 │ ├── weather_widget.py # 天气预报界面 │ ├── farming_widget.py # 农事指导界面 │ ├── statistics_widget.py # 统计分析界面 │ ├── production_widget.py # 生产溯源界面 │ └── control_widget.py # 控制界面 └── resources/ # 资源文件(图标等) ``` ## 使用说明 ### 系统页面 1. **主仪表盘**:显示关键环境指标概览和状态指示 2. **环境监测**:详细环境数据和历史趋势分析 3. **报警监控**:实时报警信息和历史记录 4. **天气预报**:当前和未来天气信息 5. **农事指导**:种植阶段相关的农事操作建议 6. **统计分析**:产量和质量统计数据 7. **生产溯源**:产品信息录入和查询 8. **设备控制**:舵机等设备控制 ### GPIO操作(生产环境) - 短按PG12按钮:切换到上一个页面 - 短按PG13按钮:切换到下一个页面 - LED指示灯显示当前页面位置 ### 鼠标键盘操作(开发环境) - 鼠标点击标签页切换页面 - 支持常规窗口操作 ### 环境监测界面 1. 系统会自动采集传感器数据,默认每3秒更新一次 2. 四个关键指标以数字形式清晰展示在界面顶部 3. 图表区域提供两个标签页: - 历史变化趋势(折线图):显示各项指标的历史变化 - 当前状态(柱状图):以柱状图形式展示最新数据 4. 历史数据表格显示详细的历史记录 5. 系统每30秒自动刷新历史数据,也可通过按钮手动刷新 ### 生产溯源界面 1. 在输入区域填写产品的二维码、批次号等相关信息 2. 点击"保存记录"将信息存入系统数据库 3. 输入二维码点击"查询记录"可检索已有信息 4. 可通过"删除记录"移除不需要的数据 5. 表格区域展示所有已录入的生产记录 ### 设备控制界面 1. 点击"启动舵机"按钮切换舵机开关状态 2. 界面会实时显示舵机当前状态(运行中/已关闭) 3. 进度条显示设备运行进度情况 ## 技术特点 - 使用PyQt6构建现代化图形界面 - 面向对象设计,模块化程度高 - 实时数据可视化展示(支持多种图表类型) - SQLite数据库持久化存储所有数据 - 支持开发和生产环境切换 - GPIO硬件控制支持无鼠标键盘操作 - UART传感器数据采集 - 兼容全志H618等Linux开发板 - 易于扩展和维护 ## 扩展建议 在实际部署中,可以进行以下扩展: 1. 连接真实传感器硬件获取准确数据 2. 增加网络通信功能实现远程监控 3. 添加用户权限管理系统 4. 增加短信或邮件报警功能 5. 添加数据导出功能 ## 开发者信息 本系统为秋月梨智慧农业解决方案的一部分,致力于提高农业生产效率和产品质量追溯能力。