玩嗨 OpenHarmony:基于 OpenHarmony 的智慧农业环境监控系统

玩嗨 OpenHarmony:基于 OpenHarmony 的智慧农业环境监控系统

原文引自电子发烧友论坛 HarmonyOS技术社区 《基于OpenHarmony的智慧农业环境监控系统》

1. 项目的背景

根据《2022年粮食及农业状况》报告显示,数字技术和人工智能机器人技术在农业生产系统中的应用给农业带来了变革。

智慧农业是农业生产的高级阶段,是集新兴的互联网、移动互联网、云计算和物联网技术为一体,依托部署在农业生产现场的各种传感节点和无线通信网络实现农业生产环境的智能感知、智能预警、智能决策、智能分析、专家在线指导,为农业生产提供精准化种植、可视化管理、智能化决策。

环境监控和自动化控制是智慧农业生产中不可或缺的环节,作物的生长环境监测(环境温湿度、土壤水分、二氧化碳、图像等)和控制直接决定了作物的产量和质量。将农业环境监测与云平台相结合,打造智慧农业云平台,可以使劳动力和生产率得到进一步的释放和提升,进一步促进农业的现代化发展。

2. 项目简介

2.1 项目描述

该项目基于OpenHarmony系统,以海思微处理器开发板为感知层核心,利用国产开源OpenHarmony操作系统开发环境参数检测、网络连接等应用。以云服务器为基础构建智慧农业系统服务平台,实现云平台与传感网络系统的通信连接管理等;构建远程信息管理和控制的 Web 应用平台。充分利用互联网和 Web 技术为用户提供实时监测、信息管理等功能,使得用户在一定程度上脱离时间和空间的限制,实现对现场的远程监控和管理。

2.2 功能说明
  • 下位机可以实时采集大棚中的环境信息,主要包括温度、湿度、光照强度、土壤湿度以及当前所处地区天气环境。
  • 下位机可以根据当前环境信息,自动实现补光、通风、灌溉、报警功能,来实现智慧农业。
  • 通过云服务器的数据传输在web端可视化界面上面实时显示当前大棚中的环境状态。
  • 在web端可以手动控制实现补光、通风、灌溉功能。
  • 在web端可以实时显示数据曲线,并且带有存储数据的功能,存储的数据包括四部分,分别是温度、湿度、光照强度和土壤湿度,数据保存到csv文件中,方便后续对数据分析处理。
2.3 系统功能模块划分

本系统设计如下图所示,采用四层物联网模型结构,即感知层、网络层、平台层和应用层。其中,系统的环境参数检测功能被划分到感知层,负责完成温湿度、光照强度、土壤湿度等环境信息采集任务;网络层包括网络接入功能以及信息传输功能。这里面,信息传输功能主要是将感知层获取的数据上传到云服务系统,同时将云服务器的信息或指令下发给感知层设备。网络层使用Wi-Fi通信方式接入网络,采用MQTT(编者注:Message Queuing Telemetry Transport 消息队列遥测传输协议的英文缩写)协议等推送数据信息到平台层和应用层。云服务主要支持平台层功能,负责设备管理、命令下发、信息存储等管理功能。应用层则利用云服务器提供的服务或手机等用户终端来实现数据的可视化及客户交互。

2.4 系统功能逻辑

本系统的功能逻辑如下图所示。设计方案以小熊派鸿蒙开发板为核心实现网络层和感知层的主要功能。该开发板使用海思微处理器,运行OpenHarmony 操作系统,实现包括系统外设初始化、网络接入、系统管理、数据采集、数据联网上报等功能。平台层和应用层功能则由云服务器和小熊派鸿蒙开发板协同实现。

2.5 项目展示

先看照片和视频:

3. 硬件方案

3.1 硬件总体框架
3.2 主控芯片

主控芯片MCUv采用Bear Pi-HM Nano开发板,搭载海思Hi3861RNIV100微处理器。该处理器是一款32位微处理器,高度集成了SoC WiFi芯片。

  • 采用IoTCluB的E53接口标准,可接入所有的E53案例扩展板。
  • 主控为WiFi SOC Hi3861,160MHz主频,SRAM 352KB、ROM 288KB、2M Flash。
  • 板载NFC Forum Type 2 Tag芯片及天线,可实现HarmonyOS“碰一碰”功能。
  • 一根TypeC USB线,即可实现供电、下载、调试等多种功能。
3.3 温湿度传感器

温湿度传感器采用SHT30,支持2.4V供电,通信协议采用IIC。

3.4 光照传感器

光照传感器采用BH1750,支持2.4V供电,通信协议采用IIC。

3.5 土壤湿度传感器

土壤湿度传感器,表面采用镀镍处理,有加宽的感应面积,可以提高导电性能,通过比较放大器LM393输出,使用ADC进行数据的采集。

3.6 其他硬件

电源管理模块采用LDO(编者注:Low-Dropout Regulators 低压差线性稳压器的英文缩写),稳压电路分为两部分,分别是稳压5V电路和3.3V电路。

补光灯、水泵、风扇通过开发板IO口外界三极管驱动电流放大电路实现控制。

4. 软件方案

4.1 开发环境简介

软件开发在OpenHarmony内核抽象层之上进行。内核抽象层为用户提供进程管理、内存管理、文件系统、网络管理和外设管理等操作系统功能。鸿蒙的内核抽象层支持CMSIS(编者注:Cortex Microcontroller Software Interface Standard 微控制器软件接口标准的英文缩写)应用程序标准接口,本次开发采用轻量级系统中常用的CMSIS标准。

本项目开发环境布置在Window以及Linux操作系统上面。系统编译环境在Linux系统性建立,应用程序使用C语言编写,在VSCode上实现编程。需要安装配置Python及gcc编译器的支持,开发环境还需要安装npm和hpm等鸿蒙操作系统的组包和发行版管理工具。

4.2 环境参数检测

环境参数检测通过操作温湿度传感器、光照传感器、土壤湿度传感器实现。获取到的温湿度、光照强度以及土壤湿度等环境信息通过MQTT协议上传到云端,当光照强度过低或者温度、湿度超标时,会引起报警以及风扇转动、开启水泵等操作,流程如下图所示:

4.3 Wi-Fi通信

核心开发板通过所使用到的传感器监测数据后,需要通过WiFi联网将数据上报云端。海思Hi3861RNIV100微处理器SoC WiFi芯片连接WiFi流程图如下所示:

4.4 MQTT协议

消息队列遥测传输协议,是一种基于TCP/IP协议的即时通讯协议,采用发布、订阅模式为处于网络层上的传感器与平台层、应用层提供实时消息服务。MQTT协议开销低,带宽占用小,易于实现,在物联网工程中应用广泛。作为MQTT协议的客户端,开发板上需要布置相关业务代码,主要包括网络连接信息结构体定义、MQTT 客户端信息结构体、MQTT 客户端初始化、MQTT客户端连接代理服务器、订阅MQTT消息、发布MQTT消息等。这些业务代码,本文的设计采用鸿蒙系统项目下的第三方代码进行布置。

5. 项目总结和展望

本文设计的环境参数监测系统设计,硬件选用海思Hi3681处理器的轻量级终端,具有数据实时显示、自动控制、超限报警等功能。,软件选择在OpenHarmony操作系统上进行开发,采用物联网解决方案,网络通信业务代码选择OpenHarmony下的第三方代码。系统测试结果表明,该系统最终实现了环境参数数据采集、数据联网上报和指令下发等功能,验证了设计方案的正确性。系统虽然实现功能,但仍然存在不足之处,后续将加强应用层上的数据可视化及环境参数控制等相关业务逻辑设计方面的工作。

写在最后

我们最近正带着大家玩嗨OpenHarmony。如果你有好玩的东东,欢迎投稿,让我们一起嗨起来!有点子,有想法,有Demo,立刻联系我们:

合作邮箱:zzliang@atomsource.org