1.项目描述

基于OpenHarmony操作系统,设计开发出一款智慧农业控制APP,实现远程监测农作物环境的温度、湿度、光照、二氧化碳,控制水阀、水泵、LED等。为农户带来更智能、更高效的农作物种植。

2.核心功能

1、智能控制中心开发:完成智能主机网关的功能适配,实现设备连接管理、指令转发、联动逻辑配置,确保APP与设备间通信稳定。

2、智能灌溉功能开发:实现土壤温湿度数据采集与APP展示、灌溉水量自动计算的算法开发、灌溉操作控制及状态实时反馈功能。

3、智能光照功能开发:完成光照强度数据采集与APP展示、LED补光设备亮度调节逻辑开发,确保光度调节精准可控。

4、智能环境监测功能开发:实现多参数实时采集、APP可视化展示、阈值预警规则配置与预警触发功能。

5、扩展功能开发:选定1类扩展设备,完成设备接入接口开发、APP监测与控制功能开发,验证扩展性可行性。

3.硬件部分

基于OpenHarmony的智慧农业控制系统-硬件部分【1】-CSDN博客

基于OpenHarmony的智慧农业控制系统-硬件部分【2】-CSDN博客

4.软件部分

可在本系列栏目里边找,后续会完善。

本系统的软件部分基于OpenHarmony操作系统开发,采用分层架构+MVVM设计模式,覆盖移动端APP、边缘网关固件与云平台协同。


一、整体技术架构

系统采用六层架构(自顶向下):

层级 职责
表示层 ArkUI声明式页面,负责UI渲染与用户交互
视图模型层 @State/@Link管理状态,协调业务逻辑与服务调用
业务逻辑层 设备控制中枢、灌溉算法引擎、阈值检测、预警管理、数据滤波
服务层 MQTT通信、持久化存储(Preferences)、事件总线、认证日志
数据层 EnvironmentData、DeviceStatus、ThresholdConfig等数据模型
平台层 OpenHarmony 4.0内核、分布式数据管理、通知服务

网关侧运行OpenHarmony LiteOS,采用C语言实现传感器采集、本地规则引擎与MQTT通信。


二、技术栈选型

类别 技术 版本/说明
开发语言 ArkTS(方舟TypeScript) 静态类型,编译优化
UI框架 ArkUI 声明式框架 跨设备自适应,数据驱动
状态管理 @State/@Link/@Observed 原生响应式编程
网络通信 MQTT.js QoS=1,弱网适配
云平台 华为云IoTDA 设备接入、规则引擎、时序存储
本地存储 Preferences + 分布式数据 阈值、灌溉记录持久化
日志 HiLog 系统级日志组件
构建工具 DevEco Studio 4.0+ 一站式IDE

三、核心功能模块

1. 智能环境监测模块

  • 通过MQTT订阅云端推送的6项环境数据(温度、湿度、光照、CO₂、土壤温湿度)

  • 采用滑动平均滤波(窗口5点)与中值滤波抑制噪声

  • 卡片式UI,正常/预警状态颜色区分(绿/红),3秒自动刷新

2. 智能设备控制模块

  • 控制水泵、水阀、LED补光灯(PWM调光)、风扇、舵机

  • 单设备控制与批量联动(如灌溉时水泵+水阀同时开启)

  • 指令超时重试(5秒未响应重试3次),状态同步回显

3. 智能灌溉模块

  • 内置水量计算算法:水量 = (目标湿度-当前湿度) × 系数 × 面积

  • 支持手动、定时、自动三种模式

  • 超时保护(单次灌溉≤30分钟)、灌溉记录存储与查询

4. 阈值预警模块

  • 用户可配置6个参数的上下限阈值(如温度15~35℃)

  • 数据越界时触发预警(5秒防抖),通过系统通知、界面高亮推送

  • 预警列表支持批量已读,历史留存

5. 通信服务模块(MqttService)

  • 封装MQTT连接、订阅、发布、断线重连(指数退避)

  • 心跳60秒,属性上报周期30秒

  • 支持TLS加密,设备一机一密认证

6. 扩展设备管理模块

  • 统一设备抽象接口,新增传感器/执行器只需实现回调

  • APP端根据云端JSON配置动态渲染控制卡片(开关、滑块等)


四、APP界面展示(部分)

页面 功能
登录/注册 账号密码认证,密码加密存储
首页(环境监测) 6参数卡片式展示,正常/预警颜色区分,实时刷新
设备控制页 水泵/水阀/风扇开关,LED亮度滑块(0~100%),舵机角度调节(0~180°)
智能灌溉页 显示土壤湿度曲线,手动灌溉按钮,自动规则配置
阈值配置页 为每个参数设置上下限,全局预警开关
个人中心 用户信息、操作日志、修改密码

详细页面截图见项目文档第67–73页。


五、数据流与交互

  • 数据采集:网关每10秒采集传感器 → 滤波 → MQTT上报云端 → APP订阅实时更新

  • 设备控制:APP点击按钮 → MQTT指令发布到云端 → 云端转发至网关 → 硬件执行 → 状态回传

  • 离线自治:联动规则同时存储在网关本地,断网时独立执行,恢复后补传数据


六、软件质量指标(实测)

指标 要求 实测
数据刷新延迟 ≤3秒 平均2.1秒
控制指令响应 ≤1秒 平均0.6秒
APP冷启动 ≤2秒 1.8秒
内存占用(常态) ≤80MB 72MB
消息送达率 ≥99.9% 99.95%
稳定性 7×24h无崩溃 连续48h无异常

七、小结

本软件部分实现了国产化全栈智慧农业控制,从端侧OpenHarmony固件到移动端ArkTS应用,再到华为云IoT平台,形成完整的闭环。模块化设计、边缘自治、动态扩展等特性,使其具备低成本、高可靠、易部署的优势,适用于家庭农场、科技园与教学实训等场景。

5.总结

基于OpenHarmony的智慧农业控制系统,采用“端—边—云”协同架构,实现温室环境的自动监测与智能控制。

核心功能:实时采集温湿度、光照、CO₂、土壤温湿度等6项参数,通过MQTT上传华为云IoT平台,支持APP远程查看与控制。内置智能灌溉水量算法、PWM自动补光闭环、阈值预警与联动规则,可在断网时边缘自治运行。

硬件:小熊派BearPi-HM Nano(OpenHarmony LiteOS)+ SHT30/BH1750/CO₂传感器 + LED/水泵/水阀/风扇/舵机执行器。

软件:ArkTS + ArkUI开发APP,MVVM架构,MQTT over TLS通信。

特色:全栈国产化(芯片→OS→云),低成本(<500元),模块化扩展,7×24小时稳定运行,适用于家庭农场、农业科技园及教学实训。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐