当前位置:首页>鸿蒙APP>基于海思芯片与鸿蒙操作系统的智慧灌溉系统设计

基于海思芯片与鸿蒙操作系统的智慧灌溉系统设计

  • 2026-10-30 04:59:43
基于海思芯片与鸿蒙操作系统的智慧灌溉系统设计
点击上方"蓝字"
关注我们吧!

2026.04.01

本文字数:3905

预计阅读时长:10分钟

摘要

针对目前花草树木等植被的灌溉方式不智能、效率低、成本高且开发方式相对单一、不能很好地满足新时代智慧城市需求的问题,本文设计的智慧灌溉系统创新性地采用了鸿蒙操作系统。使用华为海思的Hi3861V100作为主控芯片,集成了SHT30温湿度传感器、土壤湿度传感器、抽水泵电机等模块,通过华为云平台远程实时监测和控制,根据土壤湿度的变化实现抽水的自主灌溉。测试结果表明,本系统可以大幅度节约水资源、减少人力成本、改善灌溉效果,且系统工作稳定。

关键词

智慧灌溉;鸿蒙操作系统;Hi3861V100;物联网

作者:郭德财,彭石林

作者单位:长沙理工大学 物理与电子科学学院,长沙 410114

中图分类号:TP23;TP273;TP274

文献标识码:A

0 引言

近年来随着城市绿化面积不断攀升,每个人对生存环境、植被的保护意识不断增强。无论是城市观景园林、公园、花卉广场还是自己悉心料养的盆栽(甚至菜地)都需要灌溉。与此同时,灌溉不理想、水资源利用不合理甚至没有空闲时间灌溉,并且传统的嵌入式开发的灌溉技术已经陈旧,开发周期长,所需电路模块数量繁多,传输时延大,很难满足智慧城市、万物互联等场景的需求。因此,本文采用海思芯片加鸿蒙操作系统在智慧灌溉领域中进行设备开发是一个有意义的尝试。

1 基于鸿蒙操作系统的设计框架

1.1

鸿蒙系统定位

2019年8月,华为公司正式推出了HarmonyOS(鸿蒙操作系统)。HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统,重要的是鸿蒙系统采用的微内核技术很好地解决了裁剪嵌入式系统时面临的问题。基于鸿蒙操作系统的设备开发是一次全新的嵌入式系统应用开发。

1.2

鸿蒙系统技术架构

HarmonyOS整体遵从分层设计,本系统将从内核层、硬件服务子系统、扩展应用/第三方应用三个层面出发进行运用。

1.3

智慧灌溉系统总体设计

整个智慧灌溉系统设计可以分为三大模块:感知层、网络传输层、应用层。感知层采用海思Hi3861V100作为主控芯片,集成SHT30温湿度传感器、SEN0114土壤湿度传感器、抽水泵电机等模块以采集温湿度数据。网络传输层采用TCP/IP协议将采集到的数据通过局域网WiFi(本设计采用手机热点)发送至应用层;应用层采用MQTT协议与华为云平台进行通信。云平台不仅可以实时监测显示土壤的湿度和空气温湿度,也可以发布命令对抽水泵电机工作状态进行控制,随后抽水泵电机可以根据土壤湿度的变化实现自动灌溉。用户也可以在上传数据的界面观测折线图,从而进行较为直观的分析。系统整体设计框架如图1所示。

图1 系统设计框架

2 系统设计实现

2.1

系统硬件实现

2.1.1 海思Hi3861V100主控芯片

本系统硬件设计创新之一就是脱离了基于C51、STM32、Arduino等传统平台进行开发,采用了搭载可以完美运行HarmonyOS的海思Hi3861V100作为主控芯片。Hi3861V100是一款2.4 GHz WiFi SoC芯片,不仅集成了IEEE 802.11b/g/n基带和RF电路,还集成了高性能32位微处理器、硬件安全引擎以及丰富的外设接口和多路ADC,同时支持高速SDIO2.0 Slave接口,最高时钟可达50MHz。

2.1.2 感知层传感器模块

由于花卉树木等植被长期生活在外界环境中,土壤周围空气的温湿度也会长期受极端环境影响,因此本系统设计硬件创新之二就是采用了SHT30温湿度传感器,并通过I2C总线指令进行空气温湿度的测量。SHT30能够提供极高的可靠性和出色的长期稳定性,具有功耗低、反应快、抗干扰能力强、精度高等优点。传感器在10%RH~90%RH(25℃时)误差仅为±2%RH,在0~65℃(典型值)误差仅为±0.2℃。SEN0114土壤湿度传感器为5V供电,测量湿度范围为0%~100%。

本系统缺省设定:土壤湿度低于8%为干旱状态,需要灌溉;土壤湿度大于80%为水涝状态,停止灌溉,直至再次为干旱状态时进行灌溉。此外,因为充分考虑到系统第一次打开时对抽水泵电机工作状态的影响,特将抽水泵电机第一次工作设置为由用户在云平台人为打开。硬件开发流程框图如图2所示。

图2 硬件开发流程图

2.2

系统软件实现

2.2.1 开发环境

基于WiFi IoT开发的HarmonyOS开发环境如图3所示。本系统采用Ubuntu20.04系统作为Linux编译服务器,并将获取到的鸿蒙系统源码映射到Windows平台上进行代码编辑。在Ubuntu上进行代码编译工作后生成可烧录的二进制文件,烧录至开发板即可。最后可用MobaXterm集成的串口工具打印输出日志。

图3 开发环境图

2.2.2 数据的采集实现

本系统的感知层传感器以SHT30采集温湿度为例,其核心代码如下:

uint8_t data[2]; //定义数组存放温湿度数据uint8_t SHT3X_Data_Buffer[2]; //定义接收数据的数组IotI2cData sht30_i2c_data={0}; //定义结构体变量uint8_tsend_data[2]={0xE0,0x00}; //定义发送数组并初始化sht30_i2c_data.sendBuf=send_data; //发送数据sht30_i2c_data.sendLen=2; //发送数据的长度sht30_i2c_data.receiveBuf=SHT3X_Date_Buffer; //接收数据sht30_i2c_data. receiveLen=2; //接收数据的长度IoTI2cWriteread(WIFI_IOT_I2C_IDX_1,(SHT30_Addr<<1)|0x00,&sht30_i2c_data); //向SHT30传感器发送数据data[0]=SHT3X_Data_Buffer[0]; //存放温度data[1]=SHT3X_Data_Buffer[1]; //存放湿度

data数组由2个8位无符号整型元素组成,温度临时存放在SHT3X_Data_Buffer缓冲区数组第一个元素中,第二个为湿度。将结构体变量sht30_i2c_data成员以此赋值,表示将传感器采集到的数据发送到指定缓冲区,最终将临时存放的温度、湿度数据分别存放到data数组中等待读取。

2.2.3 数据的传输实现

本系统设计是在华为物联网云平台创建接入产品,添加设备后生成对应的云平台IP、端口号以及Device_ID,和密钥进行配对。在设备中添加自定义模型后加入各个上传数据的属性名称、数据类型以及控制抽水泵电机的相关控制命令。上传的传感器数据将会实时显示在配置好的产品中。上传土壤湿度数据的核心程序如下:

voiddeal_report_msg(report_t * report){oc_mqtt_profile_service_t service; //定义结构体变量serviceoc_mqtt_profile_kv_t smo; //定义结构体变量smoif(g_app_cb.connected!=1){//判断连接状态return;}Service.service_id="AutoWater"; //与云台匹配的服务名称service.service_property=&smo; //与云台匹配的服务资产来源service.nxt=NULL; //下一个上传的服务smo.key="Soil_Moisture"; //与云台匹配的土壤湿度属性名smo.value=&report->smo; //土壤湿度数据smo.type=EN_OC_MQTT_PROFILE_VALUE_INT; //数据类型(int)smo.nxt=&temperature; //下一个上传的属性名oc_mqtt_profile_propertyreport(NULL,&service); //上传数据return;}

g_app_cb. connected是连接云平台的标志位,当与云平台连接成功时,就会将结构体变量service和smo作为参数来调用oc_mqtt_profile_propertyreport()函数实现数据的上传。

本设计是通过创建多任务并且分配不同的优先级来完成各项工作。共创建了4个任务,分别为:传感器采集任务,用于读取各传感器采集到的数据;LED任务,闪烁代表系统正在启动,常亮代表系统正常运行;电机任务,用于根据土壤湿度实现智能浇灌;端云互通任务,用于处理数据的上和命令的下发。以创建传感器任务为例,核心代码如下:

voidmain_entry(void){osThreadAttr_t attr; //定义结构体变量attr.attr_bits=0U; //初始化为0attr.cb_mem=NULL; //初始化为NULL attr.cb_size=0U; //初始化为0attr.stack_mem=NULL; //初始化为NULLattr.stack_size=2048; //指定栈空间大小printf("* * * welcome to irrigation systerm! * * *\r\n"); //日志输出attr.name="sensor_task_entry"; //任务名字attr.priority=24; //任务优先级//创建任务,失败则报错if(osThreadNew((osThreadFunc_t) sensor_task_entry,NULL,&attr)==NULL){printf("Falied to create sensor_task_entry! \n");}}

明确传感器采集任务函数名为sensor_task_entry且其优先级为24,开辟相应大小的栈空间用于存放进程数据。任务优先级的不同既确保了系统运行不紊乱,又保证了任务之间的合理中断关系。此外,只有保证设备、云端处在同一局域网内,才会有正确的上传动作,因此应先执行WiFi的连接判断。整个软件流程框图如图4所示。

图4 软件开发流程图

3 系统测试与分析

3.1

系统测试

本系统测试环境均在室内,首先将设备插入到有一定湿度(大约60%)的花盆中并将抽水泵电机放置在预先备好的装有水的瓶子里作为水源的供应,通过软管与抽水泵连接实现灌溉。然后打开MobaXterm串口工具观察系统工作时的打印日志,打开云平台观察上传的温湿度变化以及电机的状态,打开实时数据统计的折线图,观察系统运行期间整体数据的变化状态。测试结果如图5~图8所示。

图5 系统未上电,未灌溉

图6 系统上电,数据上传

图7 土壤湿度超过80%,停止灌溉

图8 土壤湿度低于8%,开启灌溉

3.2

数据分析

由以上组图可以看出,第一次由云平台下发灌溉开始的命令后,实现自主灌溉并且数据采集是相对稳定的;图7中停止灌溉后,数据仍然保持更新,土壤湿度开始缓慢下降;图8中拔出设备以模拟干旱状态,此时土壤湿度由76%骤降至9%,低至8%后抽水泵电机重新启动。为了更直观地监测数据变化,在云平台设计了数据实时更新折线图,如图9和图10所示。

图9 土壤湿度超过阈值

图10 土壤湿度低于阈值

黄色折线代表土壤湿度,绿色折线代表空气温度,蓝色折线代表空气湿度。共选取了两个点作为参考:图9选取的是在灌溉至水涝状态、灌溉停止后土壤湿度开始缓慢下降。图10选取的是在设备拔出土壤后,湿度骤降,由于离开土壤潮湿的环境,环境温度开始上升,湿度下降。

4 结语

本系统以鸿蒙操作系统为平台,以对花草树木等植被灌溉为背景,设计了一套全新的、高效率的智慧灌溉系统,并对系统进行了多次实地测试,取得了很好的测试效果。总结如下:

①针对传统浇灌方式既造成大量水资源的浪费、又耗费大量人力物力,成本偏高,且灌溉效果不理想的问题,本设计采用自主控制抽水泵的开关,既能较好地保障灌溉效果,又可以节省时间成本。另外,系统供电也可以采用4个1.5V干电池串联供电,实现低成本、低功耗。

②脱离传统的基于C51、STM32、Arduino等主流嵌入式开发平台,创新性地使用国产芯片海思Hi3861V100作为主控芯片,搭配全新一代的微内核操作系统鸿蒙操作系统作为新物联网时代的潮流,将科技的进步和解决生活问题放在同一个层面上。

③采用华为IoT云平台不仅可以实现远程实时监测植被等生长环境,并且可以通过远程控制进行有效地管理。

总而言之,该系统设计有效完成了对植被灌溉的智能化,对未来组建更大的基于鸿蒙操作系统平台的物联网生态是一种有益的尝试。

参考文献

[1]梁裕巧,李洪兵,罗洋,等.基于NB-IoT的花椒生长环境因子监测系统[J].中国农机化学报,2021,42(6):166-173.

[2]王晓冰,廉小亲,郝宝智,等.基于物联网的智能种植监测系统[J].测控技术,2017,36(8):102-106.

[3]李淑华,郝星耀,周清波,等.基于Web的自动灌溉控制系统数据实时推送设计与开发[J].农业工程学报,2015,31(15):133-139.

[4]王应海,刘勇兵.对智能灌溉的几点认识[J].节水灌溉,2017(7):123-129.

[5]石夏德.物联网时代的鸿蒙野心有多大[J].计算机与网络,2019,45(16):16-18.

[6]谢克强.鸿蒙操作系统打造生态的路径思考[J].单片机与嵌入式系统应用,2019,19(10):3-6.

[7]李艳,刘丹,田小东,等.HarmonyOS特点与应用前景分析[J].通信与信息技术,2019(5):85 -87.

[8]李德威.中国2050物联网应用的设想[J].中国科技信息,2020(19):104-105.

[9]江苏润和软件股份有限公司.HarmonyOS IoT设备开发实战[M].北京:电子工业出版社,2021:115-199.

[10]Darshna S,Sangavi T.Mohan S,et al. Smart irrigation system[J]. IOSR Journal of Electronics and Communication Engineering (IOSR-JECE),2015,10(3):32-36.

[11]Harishankar S,Kumar R S,Sudharsan K P. et al. Solarpowered smart irrigation system[J].Advance in electronic and electric engineering,2014,4(4):341-346.

[12] Rawal S. IOT based smart irrigation system[J].International Journal of Computer Applications,2017,159(8):7-11.

[13] Vaishali S. Suraj S.Vignesh G, et al. Mobile integrated smart irrigation management and monitoring system using IOT[C]//2017 international conference on communication and signal processing (ICCSP). IEEE,2017:2164-2167.

(本文由《单片机与嵌入式系统应用》杂志社授权发表,原文刊发在2022年第3期)

END

【点击上方👆🏻搜索词条可查看号内更多其他内容】
‍

关注我们,了解更多精彩内容

转发,点赞,在看,安排一下?

最新文章

随机文章