基于OpenHarmony的智慧农业控制系统
基于OpenHarmony的智慧农业控制系统采用“端—边—云”协同架构,实现温室环境的远程监测与智能控制。硬件以小熊派BearPi-HM Nano为核心,集成温湿度、光照、CO₂等传感器及水泵、LED等执行器。软件基于ArkTS+ArkUI开发,采用MVVM架构,通过MQTT协议接入华为云IoT平台,实现6项环境参数实时采集、智能灌溉、PWM自动补光、阈值预警及扩展设备接入等功能。实测数据刷新延迟
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小时稳定运行,适用于家庭农场、农业科技园及教学实训。
更多推荐


所有评论(0)