树莓派智能花卉浇灌系统设计与实现

2023-08-26 03:42张俊李银张紫瑞李学孺
电脑知识与技术 2023年19期
关键词:物联网传感器

张俊 李银 张紫瑞 李学孺

关键词:树莓派3B+;传感器;物联网;springboot;uniapp

0 引言

在当今快速发展的社会,人们的生活节奏越来越快,工作压力和生活压力日益增加,很多人无法兼顾工作和家庭。在这样的情况下,很多家庭中的花卉也受到了忽視和冷落。花卉是我们生活中不可或缺的一部分,花卉有着为家庭环境增添色彩和生气,吸收有害物质,如甲醛、苯等有害物质的作用。但由于忙碌的生活节奏,人们常常无法给予它们足够的关注和照顾。这也导致了许多花卉的生长状况不佳,很难长时间地保持良好的生长状态。

随着物联网技术的不断发展,智慧家庭的概念越来越受到人们的关注。智慧家庭是指通过智能化技术,将家庭内部的设备、设施、服务等联网,以达到安全、舒适、便利、高效的生活方式[1]。在智慧家庭中,智能花卉浇灌系统是一个非常实用的应用场景。智能花卉浇灌系统能够实现对花卉生长环境的监测和控制,可以根据土壤湿度情况自动给花卉浇水,避免了因疏忽和忙碌导致的浇水不足或过度浇水的问题,还可以远程监控花卉的生长状况,及时了解花卉的状态并做出调整,帮助花卉更加健康生长[2]。

本文将着重介绍智能花卉浇灌系统的设计与实现,以及使用树莓派3B+、物联网和传感器技术来实现该系统的过程。同时,本文还将介绍后端使用springboot框架,前端使用Uniapp框架开发的微信小程序的相关内容。

1 总体方案设计

本系统由硬件和软件两部分组成,硬件部分以树莓派3B+作为主控制器通过连接温湿度传感器(DHT11) 、土壤湿度传感器(YL-69) 、树莓派官方摄像头以及水泵实现对花卉的生长状况监测,如果土壤湿度超出阈值则开启水泵进行浇水,通过摄像头提供的画面可以实时监测花卉的生长状态。软件部分由spring boot、mybatis、uniapp 构成,实现了树莓派数据上传至服务器,对数据进行持久化存储,后端提供接口给微信小程序调用,展示当前花卉环境数据以及土壤湿度并可以对花卉进行实时监控[3]。如图1所示。

2 系统硬件设计

2.1 系统硬件的整体框图

本系统主要由树莓派主机板(3B+) 、温湿度传感器(DH11) 、土壤湿度传感器(YL-69) 以及树莓派官方摄像头构成。温湿度传感器、土壤湿度传感器通过杜邦线连接到树莓派的GPIO引脚,摄像头直接插入树莓派CSI接口。树莓派通过自带的Wi-Fi模块传输数据到后端[4]。如图2所示。

2.2 树莓派3B+

树莓派3B+是一款基于ARM架构的小型单板计算机,由英国树莓派基金会(Raspberry Pi Foundation) 设计和生产。它是树莓派系列中的一款产品,是树莓派2的升级版,于2018年3月发布。树莓派3B+采用了Broadcom BCM2837B0处理器,主频为1.4GHz,集成了1GB LPDDR2 SDRAM内存,可以运行各种Linux操作系统、Python等开发语言和应用软件[5]。

该款单板计算机拥有4个USB 2.0接口、一个千兆以太网接口、一个HDMI视频输出接口、3.5毫米音频接口和GPIO引脚等多个接口,方便用户进行各种扩展和连接。这样的配置完全满足本系统中操作系统文件和数据存储以及相关程序的运行[6]

2.3 传感器

本系统需要监测花卉周围环境温湿度,采用了DHT11传感器,帮助判断花卉生长环境是否适宜,还需要实时监测土壤湿度,采用了YL-69传感器,当土壤湿度低于一定阈值时自动开启浇水功能。还需要通过摄像头实时监控,直观地看到花卉的生长状况。

采用了树莓派官方摄像头。

1) DHT11传感器是一种数字温湿度传感器,具有简单、经济实惠等特点。它可以测量环境的温度和湿度,精度较高,温度精度为±2℃,湿度精度为±5%RH。DHT11采用单总线通信,输出数字信号,方便与其他数字设备集成[7]。

2) YL-69是一种土壤湿度传感器,可以测量土壤中的水分含量。它采用电阻式测量原理,可以通过测量传感器电阻值来计算土壤湿度。YL-69的使用范围广泛,可以应用于花卉、植物、农作物等领域,帮助种植者及时了解土壤湿度情况,有助于提高作物产量和品质[8]。

3) 树莓派官方摄像头是一款专为树莓派设计的高清摄像头,由树莓派基金会推出,具有广泛的应用场景和极高的可扩展性。它支持五百万像素,1080p 的高清摄像和录像,同时具有高帧率和低延迟的特点,用户可以通过Python等编程语言控制摄像头进行拍照、录像等操作。同时,树莓派官方也提供了基于树莓派的操作系统Raspbian,以及开源的摄像头驱动程序和API接口,方便用户进行二次开发和扩展。

3 系统软件设计

本系统的软件设计主要包括树莓派端和管理端两部分,树莓派端和管理端是智能花卉浇灌系统的两个重要组成部分。树莓派端主要负责花卉浇水、温湿度监测、实时监测花卉等工作,而管理端主要负责查看花卉数据,保存数据等工作。

在软件设计中,使用Python编写树莓派端的传感器控制、摄像头控制以及网络通信脚本,能够充分利用Python的简洁、易学和功能丰富等特点,快速地开发和实现树莓派端的各项功能。

而在前端方面,采用UniApp编写微信小程序,能够使得系统具有良好的跨平台和兼容性,能够在各类移动设备上快速运行和响应。

在后端方面,使用Spring Boot框架开发,能够充分利用Spring Boot的简洁、高效和易用等优点,快速地开发和实现后端的各项功能,同时还能够实现系统的快速部署和运行。

综上所述,本系统的软件设计采用了Python、Uni?App和Spring Boot等技术,能够快速地开发和实现各项功能,提高系统的效率和可靠性,从而更好地满足用户的需求和期望。

3.1 树莓派端设计

树莓派端主要由Python语言编写的传感器控制、视频监控、网络通信脚本三个模块组成。Python有着拥有大量的开源库和丰富的文档资源,能够方便地进行开发和调试,可以轻松地实现对多种传感器和设备的控制,包括DHT11和YL-69传感器,以及树莓派摄像头等设备。

在Python众多库中GPIO库提供了树莓派对传感器数据的传输控制,Adafruit_DHT库提供了环境温湿度的监测API,motion库提供了视频监控功能,request 库提供了访问远程服务器的能力。本系统合理地使用这些库,完成了对环境数据获取,并进行数据处理再到数据传输到服务器的功能。实现了智能家庭花卉浇灌系统的核心功能。

3.2 后端设计

后端是智能花卉浇灌系统的重要组成部分,主要由数据处理和数据存储两个模块组成。

数据处理模块是对采集到的数据进行处理和分析,其中包括对花卉进行自动浇水的判断和对视频流进行编解码和传输等工作。自动浇水是智能花卉浇灌系统的重要功能之一,通过对温湿度等数据的监测和分析,能够判断花卉是否需要浇水,从而实现对花卉的自动化管理。

数据存储模块则负责将处理后的数据用Mybatis 持久化框架存储到数据库(MySQL) 中,并通过SpringBoot提供接口供前端调用。Mybatis是一款优秀的持久化框架,能够快速地将Java对象映射到数据库中,从而方便地进行数据存储和查询。同时,Spring Boot 是一款轻量级的开发框架,能够快速地构建和开发后端服务,并提供一系列的自动化配置和优化,从而提高系统的性能和稳定性。

综上所述,后端是智能花卉浇灌系统的重要组成部分,其中数据处理模块和数据存储模块分别负责对采集到的数据进行处理和存储,能够提高系统的效率和可靠性,从而更好地实现对花卉的管理和自动化控制。

1) 后端采用了Spring Boot 框架,该框架是基于Java 语言开发,提供了大量的开箱即用的功能和插件,如内嵌的 Tomcat 服务器、Spring Security 等,开发者可以通过简单的配置和引入依赖,即可使用这些功能。数据存储模块使用了MySQL数据库进行数据存储,并使用了MyBatis框架进行数据访问。

2) MyBatis是一款轻量级的持久化框架,可以很容易地集成到Spring、Spring Boot等主流的Java开发框架中,同时MyBatis提供了很好的参数绑定功能,能够有效地防止SQL注入等安全漏洞,保障了系统的安全性,更好地满足系统的需求,并提高系统的可靠性和可用性[9]。

3.3 前端设计

1) 前端主要包括用户界面和与后端交互的接口。用户界面包括了监测页面、浇水页面和视频监控页面,用户可以在页面上实时查看环境温湿度、花卉土壤湿度、自动浇水状态和视频监控画面等信息。

2) 前端使用了UniApp框架进行开发,主要基于Vue.js语言开发。与后端的交互采用了RESTful API 接口进行通信,前端通过调用接口获取后端数据,并对数据进行处理和展示[10]。

综上,本系统的软件设计主要包括树莓派程序和管理端两个部分,后端采用了Spring Boot框架进行开发,Python语言编写传感器控制代码,前端采用了Uni?App框架进行开发,两者通过RESTful API接口进行通信。系统流程如图4所示。

4 系统运行截图及核心代码

4.1 系统运行截图

微信小程序主要有三个界面,进入页面、主页面,和视频监控页面。进入页面为系统名称加系统logo 构成,主页由banner和花卉环境,花卉状态,以及最后一次收集数据时间构成,视频监控页展示花卉实时状态。

4.2 系统核心代码

5 结束语

物联网技术可以在家庭中发挥重要的作用,带来诸多好处。以智能花卉浇灌为例,智能花卉浇灌系统可以通过传感器获取花卉生长环境的温湿度和土壤湿度等信息,然后通过物联网技术将这些数据传输到云端进行分析和处理。在这个过程中,智能花卉浇灌系统发挥了以下好处:

1) 实现自动化控制:智能花卉浇灌系统可以通过物联网技术实现远程控制,使花卉浇水的过程更加自动化。用户可以通过手机等终端设备远程监控花卉生长环境,并控制浇水系统的开关,实现自动化浇水。

2) 实时监控:通过物联网技术,智能花卉浇灌系统可以实时监测花卉生长环境的温湿度和土壤湿度等指标,并将这些数据传输到云端进行分析和处理。用户可以通过手机等终端设备随时了解花卉生长环境的状态,并及时采取措施[11]。

3) 节省能源:智能花卉浇灌系统可以根據花卉生长环境的需要智能控制浇水,避免水资源的浪费。同时,系统还可以通过物联网技术实现远程控制,避免了不必要的人工浇水[12]。

4) 提高花卉生长效果:通过物联网技术实时监测花卉生长环境,系统可以根据花卉的需求进行智能化控制,提高花卉的生长效果。同时,用户还可以通过远程控制系统,及时对花卉的生长环境进行调整,提高花卉生长效果。

综上所述,智能花卉浇灌系统发挥了重要作用,实现了花卉生长环境的智能监测和控制,节省了水资源,提高了花卉的生长效果,为用户带来了更加便捷、高效和智能化的生活体验。

猜你喜欢
物联网传感器
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
跟踪导练(三)2
光电传感器在自动检测和分拣中的应用
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者
基于扩展卡尔曼滤波的PMSM无位置传感器控制