Skip to content
42419Public

About

鸿蒙智慧农业项目

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🌾 禾寻 - 智慧农业管理系统

HarmonyOS ArkTS CloudDB ZhipuAI License

基于 HarmonyOS Next 与华为云的智能农业全栈管理平台

集成华为云 AGConnect CloudDB、IoTDA 物联网平台和智谱 AI 大语言模型

📖 项目简介 • 🏗️ 系统架构 • 💻 技术栈 • 📱 功能模块 • 🗄️ 数据库设计 • 🚀 快速开始


📖 项目简介

禾寻是一款面向现代农业的全栈智慧管理系统,基于华为鸿蒙操作系统(HarmonyOS Next)开发,深度集成华为云 AGConnect CloudDB 云数据库、IoTDA 物联网平台和智谱 AI 大语言模型。系统通过实时环境监测、智能设备控制、作物全生命周期管理和 AI 智能对话,为农业生产提供科学化、智能化的数字解决方案。

🎯 核心价值

  • 🌡️ 实时监控:24/7 环境参数监测(温度、湿度、光照、土壤湿度)
  • 🤖 智能控制:基于作物生长阈值的自动化设备控制系统
  • 📊 数据驱动:云端数据存储与分析,历史数据可视化展示
  • 🌱 全程管理:从播种到收获的作物全生命周期跟踪
  • 🤖 AI 智能助手:集成智谱 AI GLM-4 大语言模型,支持智能对话
  • 📱 多端适配:支持手机、平板、2合1设备

🏆 应用场景

  • 智慧温室:精准控制温室环境,优化作物生长条件
  • 设施农业:自动化设施管理,降低人工成本
  • 农场监控:远程实时监控,及时响应异常情况
  • 农业科研:数据采集与分析,支持科研实验

🏗️ 系统架构

整体架构图

graph TB
    subgraph Client[客户端层 HarmonyOS]
        UI[ArkUI 界面层]
        Business[业务逻辑层]
        Network[网络通信层]
    end
    
    subgraph Cloud[华为云服务层]
        CloudDB[AGConnect CloudDB]
        IoTDA[IoTDA 设备管理]
        IAM[IAM 身份认证]
    end
    
    subgraph AIService[AI服务层]
        ZhipuAI[智谱AI GLM-4]
    end
    
    subgraph Device[物联网设备层]
        Sensor[传感器]
        Actuator[执行器]
    end
    
    UI --> Business --> Network
    Network --> CloudDB
    Network --> IoTDA
    Network --> IAM
    Business --> ZhipuAI
    IoTDA --> Device
    
    style Client fill:#e3f2fd
    style Cloud fill:#f3e5f5
    style AIService fill:#e1bee7
    style Device fill:#fff3e0
Loading

技术架构分层

  • 表示层:ArkUI 声明式编程,响应式数据绑定
  • 业务逻辑层:自动控制管理、数据处理、业务规则
  • 数据访问层:CloudDB 云端存储、本地缓存
  • 云服务层:设备管理、数据存储、身份认证、AI 服务
  • 设备接入层:传感器网络、执行器控制

💻 技术栈

核心技术

技术类别 技术名称 版本 说明
操作系统 HarmonyOS Next 6.0.0+ 华为鸿蒙操作系统
开发语言 ArkTS 5.0+ 类型安全的声明式编程语言
UI 框架 ArkUI 3.0+ 声明式 UI 开发框架
构建工具 Hvigor 4.0+ HarmonyOS 项目构建工具
云数据库 AGConnect CloudDB - 华为云分布式数据库
物联网 IoTDA - 华为云物联网平台
AI 服务 智谱 AI (GLM-4) 4.0 大语言模型/智能对话
图表库 @mcui/mccharts 2.8.9 数据可视化组件

云服务配置

// 华为云 AGConnect CloudDB 配置
{
  zoneName: "smartFarm",
  routePolicy: AGCRoutePolicy.CHINA,
  objectTypes: ["sensor_data", "crop"]
}

// 华为云 IoTDA 配置
{
  endpoint: "029617702d.st1.iotda-app.cn-north-4.myhuaweicloud.com",
  projectId: "e7a2801468bc49a4ae72c59e20a2e6bc",
  deviceId: "68f0b0a84609c465bf2cd91a_znjj",
  serviceId: "smartFarm"
}

// 智谱 AI 开放平台配置
{
  apiKey: "your_zhipu_api_key",
  model: "glm-4",
  endpoint: "https://open.bigmodel.cn/api/paas/v4/"
}

智谱 AI 集成

集成智谱 AI GLM-4 大语言模型,提供强大的 AI 能力:

核心能力:

  • 🤖 智能农业咨询:作物种植指导、病虫害诊断
  • 📊 数据分析辅助:环境数据分析和趋势预测
  • 📚 知识库问答:农业知识智能检索

技术特点:

  • 千亿级参数,强大的理解能力
  • 针对中文农业术语深度优化
  • 毫秒级响应,用户体验流畅
  • 支持流式对话和多轮对话

📱 功能模块

核心功能模块

graph LR
    A[实时监控] --> B[设备控制]
    A --> C[数据统计]
    B --> D[自动控制]
    E[作物管理] --> C
    F[AI助手] --> B
    F --> E
    
    style A fill:#e3f2fd
    style B fill:#f3e5f5
    style C fill:#fff3e0
    style D fill:#ffccbc
    style E fill:#e8f5e9
    style F fill:#e1bee7
Loading

1. 🏠 实时监控模块

核心功能:

  • ✅ 环境参数实时显示:温度、湿度、光照强度、土壤湿度
  • ✅ 设备状态展示:照明、通风、灌溉系统状态
  • ✅ WebSocket 实时数据推送
  • ✅ 土壤湿度自动计算(基于温湿度和光照的经验公式)

2. 🎛️ 智能控制模块

自动控制策略:

参数 阈值范围 控制动作
温度 < 12.5°C 关闭风扇(保温)
温度 > 28°C 开启风扇(降温)
湿度 < 65% 开启灌溉系统
湿度 > 82.5% 开启风扇(除湿)
光照 < 1500 Lux 开启照明系统
光照 > 1800 Lux 关闭照明系统

技术实现:

  • 5秒定时检查环境参数
  • 手动控制后5分钟保护期
  • 多参数协同控制策略

3. 📊 数据统计模块

  • 温度、湿度、光照历史数据图表
  • 基于 @mcui/mccharts 的交互式图表
  • 实时/历史数据模式切换
  • 云端数据查询和展示

4. 🌱 作物管理模块

支持的作物品种(9种): 黄瓜、西红柿、茄子、豆角、辣椒、西葫芦、丝瓜、菠菜、芹菜

管理功能:

  • 作物信息管理(种植日期、生长阶段、健康状态)
  • 生长监控(株高、叶片数、产量预测)
  • 筛选与排序(按健康状态、分类、生长阶段)
  • 环境数据关联分析

5. 🤖 AI 智能助手模块

智能对话示例:

用户:"黄瓜叶子发黄是什么原因?"
AI:  "黄瓜叶子发黄可能有以下原因:
      1. 缺氮:老叶先黄,建议施用尿素
      2. 缺铁:新叶发黄,可喷施硫酸亚铁
      3. 浇水过多:根系缺氧,需控水通风
      根据环境数据,建议检查土壤湿度。"

核心功能:

  • 智能对话(基于 GLM-4)
  • 智能设备控制
  • 农业知识问答
  • 任务规划生成

6. 其他功能模块

  • ⚠️ 预警系统:环境异常预警、设备故障提醒
  • 📝 农事管理:播种、施肥、浇水、病虫害防治记录
  • 🔧 设备管理:设备列表、状态监控、维护记录
  • 📚 知识库:种植技术指南、病虫害防治知识
  • 👤 个人中心:用户信息管理、系统设置

🗄️ 数据库设计

数据库架构

采用 华为 AGConnect CloudDB 作为云端数据库,支持离线优先、实时同步。

数据库 ER 图

erDiagram
    sensor_data {
        int id PK
        double temperature
        double humidity
        double light_intensity
        string rec_time
    }
    
    crop {
        string cropName PK
        string plantDate
        string harvestDate
        double area
        int current
        int total
        string height
        string health
        string yield
    }
    
    sensor_data ||--o{ crop : "环境数据影响"
Loading

核心数据表

1. sensor_data 表(传感器数据)

字段名 类型 约束 说明
id IntAutoIncrement PK 主键,自增ID
temperature Double NOT NULL 温度(°C)
humidity Double NOT NULL 空气湿度(%)
light_intensity Double NOT NULL 光照强度(Lux)
rec_time String - 记录时间

索引:时间索引、温度索引

2. crop 表(作物信息)

字段名 类型 约束 说明
cropName String PK 作物名称(主键)
plantDate String NOT NULL 种植日期
harvestDate String NOT NULL 预计收获日期
area Double NOT NULL 种植面积(亩)
current Integer NOT NULL 当前生长天数
total Integer NOT NULL 总生长周期
height String NOT NULL 株高(cm)
health String NOT NULL 健康状态
yield String NOT NULL 预计产量(kg)

CloudDB 服务封装

export class CloudDBService {
  // 初始化云数据库
  public static async init(context: any): Promise<boolean>
  
  // 查询传感器数据
  public static async queryCrop(rec_time?: string): Promise<Array<sensor_data>>
  
  // 插入单条数据
  public static async insertCrop(cropData: sensor_data): Promise<boolean>
  
  // 批量插入数据
  public static async batchInsertCrop(cropList: Array<sensor_data>): Promise<boolean>
}

📂 项目结构

smartFarm_db/
├── AppScope/                      # 应用全局配置
│   ├── app.json5                  # 应用基本信息
│   └── resources/                 # 全局资源
│
├── entry/                         # 主模块
│   ├── src/main/
│   │   ├── ets/
│   │   │   ├── common/            # 公共模块
│   │   │   │   ├── AutoControlManager.ets     # 自动控制管理器
│   │   │   │   └── CommonConstants.ets        # 全局常量
│   │   │   ├── components/        # UI 组件
│   │   │   │   ├── ControlPanel.ets           # 设备控制面板
│   │   │   │   └── ChartDrawer.ets            # 图表组件
│   │   │   ├── model/             # 数据模型
│   │   │   │   ├── SmartFarm.ets              # 环境数据模型
│   │   │   │   ├── CropData.ets               # 作物数据模型
│   │   │   │   ├── app-schema.json            # CloudDB 模式
│   │   │   │   ├── crop.js                    # 作物实体
│   │   │   │   └── sensor_data.js             # 传感器实体
│   │   │   ├── service/           # 业务服务
│   │   │   │   └── CloudDBService.ts          # 云数据库服务
│   │   │   ├── modelView/         # 视图模型层
│   │   │   │   ├── HomePage.ets               # 首页视图
│   │   │   │   ├── TotalPage.ets              # 数据统计视图
│   │   │   │   ├── ListPage.ets               # 作物列表视图
│   │   │   │   ├── MyPage.ets                 # 个人中心视图
│   │   │   │   └── AispeakPage.ets            # AI 对话视图
│   │   │   ├── pages/             # 页面路由
│   │   │   │   ├── Index.ets                  # 登录页
│   │   │   │   ├── MainPage.ets               # 主页框架
│   │   │   │   └── ...                        # 其他页面
│   │   │   └── entryability/      # 应用能力
│   │   └── resources/             # 资源文件
│   └── oh-package.json5           # 模块依赖
│
├── oh-package.json5               # 项目依赖
├── build-profile.json5            # 构建配置
└── README.md                      # 项目文档

🚀 快速开始

环境要求

工具 版本要求
DevEco Studio 4.0+
HarmonyOS SDK 6.0.0+ (API 20+)
Node.js 16.0+
ohpm 最新版

安装步骤

1. 克隆项目

git clone https://github.com/yourusername/smartFarm_db.git
cd smartFarm_db

2. 安装依赖

ohpm install

3. 配置华为云服务

编辑 entry/src/main/ets/common/CommonConstants.ets:

export class CommonConstants {
  static readonly IAM_DOMAIN = 'your_domain';
  static readonly IAM_USER = 'your_user';
  static readonly IAM_PASSWORD = 'your_password';
  static readonly REGION = "cn-north-4";
  static readonly ENDPOINT = "your_endpoint";
  static readonly project_id = "your_project_id";
  static readonly device_id = "your_device_id";
}

4. 配置智谱 AI

在对应的服务文件中添加智谱 AI API Key:

const ZHIPU_AI_CONFIG = {
  apiKey: "your_zhipu_api_key",
  model: "glm-4",
  endpoint: "https://open.bigmodel.cn/api/paas/v4/"
};

5. 构建运行

# 构建 HAP 包
hvigor assembleHap --mode module -p module=entry@default

# 或在 DevEco Studio 中直接运行
# 点击运行按钮或按 Shift+F10

配置说明

  • WebSocket 服务器:编辑 MainPage.ets 中的 WS_URL
  • 应用签名:在 DevEco Studio 中配置自动签名或手动签名
  • 权限配置:已在 module.json5 中配置 ohos.permission.INTERNET

🎯 核心功能实现原理

自动控制系统

flowchart TD
    Start([环境数据更新]) --> Check{自动控制启用?}
    Check -->|否| End1([结束])
    Check -->|是| GetData[获取环境参数]
    GetData --> TempCheck{温度检查}
    TempCheck -->|异常| Control1[温度控制]
    TempCheck -->|正常| HumCheck{湿度检查}
    HumCheck -->|异常| Control2[湿度控制]
    HumCheck -->|正常| LightCheck{光照检查}
    LightCheck -->|异常| Control3[光照控制]
    Control1 --> Execute[执行控制]
    Control2 --> Execute
    Control3 --> Execute
    Execute --> End2([完成])
Loading

工作流程:

  1. WebSocket 接收实时环境数据
  2. 触发自动控制检查(5秒间隔)
  3. 根据阈值判断是否需要控制
  4. 通过 IoTDA API 下发控制指令
  5. 更新设备状态并反馈

云数据同步

graph LR
    A[本地数据] <-->|双向同步| B[CloudDB]
    A --> C[离线优先]
    C --> D[后台同步]
    D --> E[冲突解决]
    
    style A fill:#e3f2fd
    style B fill:#f3e5f5
    style C fill:#fff3e0
Loading

同步策略:

  • 离线优先:本地数据优先展示
  • 后台同步:定期同步云端数据
  • 冲突解决:时间戳比对,最后写入优先

📝 开发规范

Git 提交规范

feat(module): 添加新功能
fix(module): 修复bug
docs: 更新文档
style: 代码格式调整
refactor: 代码重构
test: 添加测试
chore: 构建配置更新

分支管理

graph LR
    A[main] --> B[develop]
    B --> C[feature/xxx]
    B --> D[bugfix/xxx]
    C -->|合并| B
    D -->|合并| B
    B -->|发布| A
    A --> E[hotfix/xxx]
    E -->|修复| A
    
    style A fill:#ff6b6b
    style B fill:#4ecdc4
    style C fill:#95e1d3
    style E fill:#ffa07a
Loading

🗺️ 未来规划

阶段 时间 核心功能 状态
第一阶段 2024.01-02 基础功能(监控/控制/作物管理) ✅ 已完成
第二阶段 2024.03-04 智能化(自动控制/AI对话/预警) 🚀 进行中
第三阶段 2024.05-06 数据分析(可视化增强/预测模型) 📅 计划中
第四阶段 2024.07-09 生态扩展(供应链/社区/国际化) 📅 计划中

🙏 致谢

感谢以下开源项目和服务的支持:

  • HarmonyOS:华为鸿蒙操作系统
  • 华为云 AGConnect:云服务套件
  • 华为云 IoTDA:物联网设备接入服务
  • 智谱 AI:GLM 大语言模型服务
  • @mcui/mccharts:数据可视化图表库

📄 开源许可

本项目采用 MIT License 开源许可证。


📧 联系我们


🌾 让科技赋能农业,让智慧照亮丰收 🌾

如果这个项目对你有帮助,请给我们一个 ⭐ Star!

Made with ❤️ by smartFarm Team

About

鸿蒙智慧农业项目

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages