摘要 农业是国民经济的基础,在国家经济发展中有着不可替代的重要作用。随着物联网技术的快速发展,智慧农业已成为了现代农业发展的新方向。基于此,本文设计并实现了一套基于物联网的智慧农业监测系统,系统采用ESP32作为主控板,并搭载多种传感器,实时采集与农作物生长环境相关的温湿度、光照强度、土壤湿度、二氧化碳浓度等环境参数,然后通过MQTT协议将采集的数据上传到巴法云物联网平台,最后通过Web端和微信小程序端实现对农业的远程监测和自动预警处理。该系统的实现促进了农业精细化、高效化管理,为现代智慧农业提供一种可行的解决方案。
系统整体设计 基于物联网的智慧农业监测系统需要实现实时数据采集、数据可视化展示、远程设备控制和自动预警等功能。系统首先以ESP32为系统数据采集终端来连接温湿度、光照强度、土壤湿度和二氧化碳等传感器来实现对作物生长环境参数进行实时数据采集,然后将采集的数据通过MQTT协议上传至巴法云物联网平台,通过Web端和微信小程序实现对数据的可视化展示、设备远程控制和自动预警处理。可视化展示就是将农业区的环境参数以及预警事件信息以图表或折线图的形式展现在用户面前,让用户可以更加快速、直观的获取数据信息。用户可以根据预警事件在Web端或小程序端来进行相应的操作,远程控制设备调整环境参数,让作物处于最适宜生长的环境中。整个系统流程图如图所示。
文章图片
整个系统开发所用到的开发语言和工具如下:
(1)开发语言
硬件端:Arduino C语言
【前端|基于物联网的智慧农业监测系统(前端界面有web端和微信小程序端)】服务器端:Node.js 、数据库语言
Web端和微信小程序端:HTML、CSS、JavaScript、Vue.js框架
(2)开发工具
编译器:Visual Studio Code、Arduino IDE、微信开发者工具
数据库:MySQL数据库
挂载环境:阿里云服务器、unbutu系统、巴法云物联网平台
硬件:ESP32主控板、DHT11温湿度传感器、光敏电阻传感器、土壤湿度传感器、红外二氧化碳传感器、风扇、蜂鸣器和水泵等
软件系统基本框架 本文所设计的基于物联网的智慧农业监测系统的软件框架包括了硬件模块、巴法云物联网平台、PC端和微信小程序端,其中硬件模块主要是ESP32模块、传感器模块和设备控制模块。具体的工作流程是通过ESP32数据采集终端来连接温湿度、光照强度、土壤湿度和二氧化碳等传感器来实现对作物生长环境参数的数据采集,然后将采集的数据传送到巴法云物联网平台,最后通过Web端和微信小程序实现对农业的远程监测、可视化展示和自动预警处理。基于物联网的智慧农业监测系统的软件设计框架如图所示。
文章图片
云平台开发流程 本系统使用的数据云平台是巴法云物联网平台,下图为巴法云物联网平台开发工作流程图,在此平台进行产品开发时,需要经过以上的准备工作流程。
文章图片
1. 登陆注册:可以使用邮箱进行注册,也可使用微信扫码进行一键登陆,注册完成以后,云端后台会把开发者与其创建的产品相关联。
2. 获取密钥:登陆完成后,在控制台可以获取到自己的私钥UID,私钥UID是用户上传数据至巴法云平台的标识符,如下图所示。
文章图片
3. 在控制台创建主题:在巴法云控制台创建主题,如下图所示。
文章图片
4. ESP32通过MQTT连接上巴法云平台后可以与平台上的主题进行通信,每个设备有相对应的主题,两者之间的通信不会出现错误。如下图所示。
文章图片
5. 查看消息:可使用控制台查看消息,如果Web端或微信小程序订阅了这个主题,就可以实时接收到推送来的消息。
Web端页面设计 Web端的功能有天气信息查询,数据监测,远程设备控制,用户管理,角色管理和设备管理。具体的界面设计如下:
Web端系统登录界面
文章图片
Web端系统首页
文章图片
Web端数据监测界面
文章图片
Web端设备控制界面
文章图片
Web端用户管理界面
文章图片
Web端权限管理界面
文章图片
Web端角色管理界面
文章图片
Web端设备管理界面
文章图片
微信小程序端页面设计 小程序端登录界面
文章图片
小程序端系统首页界面
文章图片
小程序端数据监测界面
文章图片
小程序端设备控制界面
文章图片
小程序端用户列表界面
文章图片
小程序端用户详情界面
文章图片
小程序端个人中心界面
文章图片
小程序端个人详情界面
文章图片
系统测试和验证 测试环境
(1)环境监测终端:Web端、微信小程序端
(2)数据采集端:ESP32
(3)数据库服务器端:MySQL数据库
(4)数据云平台:巴法云物联网平台
系统的ESP32与各个传感器和风扇、水泵设备的连接图如下图所示。
文章图片
系统整体实物图如图所示。
文章图片
总结 随着互联网和物联网的快速发展,智慧农业已成为我国农业现代化建设的必然趋势。本文设计并实现了基于物联网的智慧农业监测系统,打破了传统的人工、低效率的农业管理形式,系统运用了新兴的物联网技术,符合智能化、数字化、智慧化农业管理的要求。该系统的实现促进了农业精细化、高效化管理,为现代智慧农业提供一种可行的解决方案。本系统实现的功能如下:
(1)以ESP32为数据采集终端连接温湿度、光照强度、土壤湿度和二氧化碳等传感器采集作物生长环境参数和连接风扇、水泵和蜂鸣器等设备,构建了一套智慧农业监测系统。
(2)将智慧农业监测系统采集到的环境参数数据上传到巴法云物联网平台中,然后使用node.js来搭建好数据API接口,用于Web端和微信小程序端前端页面可视化展示的数据调用。
(3)用vue.js前端框架搭建了Web端和微信小程序端系统界面,通过API接口将收集到的传感器数据可视化展示在Web端和微信小程序端。
(4)通过温湿度和土壤湿度传感器监测的数据结合不同作物的需水规律和需水量实现精准灌溉功能,智能控制灌溉设备适时适量地浇水。
(5)在Web端和微信小程序端系统中实现了自动预警和设备远程控制功能。保障农业区各项环境参数趋于一个理想水平,使作物生长具有良好的生长环境,提高农业生长效率。
基于物联网的智慧农业监测系统的整体代码链接如下:
基于物联网的智慧农业监测系统的arduino硬件代码下载链接
基于物联网的智慧农业监测系统的web端代码下载链接
基于物联网的智慧农业监测系统的微信小程序端代码下载链接
推荐阅读
- Java毕业设计项目实战篇|java mysql物联网土壤智能监控web前端+java后台+数据接程序
- 2022秋招前端面试题(四)(附答案)
- python|Python快速入门—如何选择使用包管理工具()
- 面试|Spring Cloud Gateway整合OAuth2思路分享
- web前端|面试必问JavaScript基础面试题(附答案详解)
- 面试题|牛客网前端刷题(一)
- JavaScript高级语法|ES6——class类实现继承
- 解决跨域问题
- vue2|vue2安装vue-router,less ,vuex的版本