
智慧农田远程数据采集及管理系统设计
简介
智慧农田远程数据采集及管理系统设计。实现农田(大棚)环境的Web界面实时监控,如监测环境的温度、湿度光照等农作物必需的环境信息,附加工作模式执行自动浇灌、调节温度和光照(大棚)等指令。
简介:智慧农田远程数据采集及管理系统设计。实现农田(大棚)环境的Web界面实时监控,如监测环境的温度、湿度光照等农作物必需的环境信息,附加工作模式执行自动浇灌、调节温度和光照(大棚)等指令。开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
Version:2024年4月1日起,2024年5月17日晚写完这个稿子
2024年5月20日更新相关的开源源码和文档:STM32_MAKE是执行器部分、STM32-G是数据采集部分。
具体实物演习【智慧农业-自动农田(大棚)远程数据采集及管理系统】 https://www.bilibili.com/video/BV1qf421m769/?share_source=copy_web&vd_source=d3c8fab68214f4bb12e2aa4ac6c162e3
第一章:项目说明
1.1选题的过程
2024年1月3日,选题目。
在会上提出可以自己选择题目,算法和硬件都可。
先前有了解过一个方向:利用逆设计法设计光学集成器件,最后还是选择做硬件方面,在开源平台上看到相似的项目,因此有了这个选题。
2024年1月11日修改后确定项目的要求
1.2项目相关功能
直入主题,介绍项目设计的要求。
设计主要针对温室的大棚种植环境,结合物联网等关键技术设计并实现智慧农田远程数据采集系统,可以更快、更准确地掌握农作物的生长环境,并根据采集到的数据实施相应的无人管理,完成农田自动浇灌、大棚保温等功能。系统由硬件搭建和软件设计两部分构成,硬件搭建可采集农田环境数据单元和控制单元,软件设计实时监控、控制灌溉系统的启动和工作模式调整。
(1)农田环境监测和控制功能
系统由硬件和软件两部分组成,硬件设计上,核心控制器通过传感器实施监测设备的工作状态,采集农田环境中的土壤温湿度、空气温湿度、二氧化碳浓度等环境参数。同时拥有灌溉电路,用于控制出水系统,针对农作物需水量进行供水调节。
(2)系统的远程监测范围
通过无线方式将农田环境数据上传至云服务器,实现硬件设备与终端软件之间数据传输,实现远程监测与控制。
(3)终端软件Web 界面开发
通过Web 界面终端进行远程实时监测,同时可以远程控制设备的启停和工作模式调整等操作。
(4)应急系统的设计
在系统中设计极端情况下的应急处置系统,农田灾害预警,实时监控各种事件的发生,并能够根据预设的规则进行报警,以便及时采取相应的应急措施。避免农作物的损失。
(5)太阳能充电
系统拥有太阳能充电电路,无需外部电源,可实现硬件设备电源自给。针对偏远或者大面积农田。
第二章:项目进度
2024年4月1日
农田(大棚)环境的需求调研,确定系统功能。
数据采集部分:用传感器来采集农田(大棚)气候数据,实时将农田(大棚)内农作物必需的环境信息空气温度、空气湿度、土壤湿度、光照强度、二氧化碳浓度等数据信息采集到数据采集部分的终端内。
执行器处理部分:根据农田(大棚)环境参数的变化,自动控制灌溉、通风,制热和补光等功能。
物联网云平台:对设备状态和采集到的数据进行接收、存储,用户可通过手机端App或Web界面实现远程实时监控、控制执行器系统的启动和工作模式调整等操作。
太阳能充电及供电模块:无需外部电源,无需外部传输线缆,可实现硬件设备电源自给,针对偏远或者大面积农田。
2024年4月8日
开始找相关的可以参考的项目,学习硬件开发知识,搭建硬件电路。
太阳能充电电路、电源模块电路在这里参考了_Aknice前辈的【RA】农田环境数据无线采集灌溉自律系统(基于瑞萨MCU),在这里感谢前辈的开源。同时附上项目地址:【RA】农田环境数据无线采集灌溉自律系统(基于瑞萨MCU) - 嘉立创EDA开源硬件平台 (oshwhub.com)。
2024年4月15日
在等硬件模块来的时候,学习esp8266-01s模块知识和阿里云物联网平台的开发。意在解决远距离无线传输,将检测到的农田环境数据上传到阿里云物联网平台上。
2024年4月17日
硬件模块到了,开始系统设计。实现功能如下
数据采集部分:实现功能如图2-1土壤相对湿度Soil:5.34%,光照相对强度41.87%,空气温湿度t:24,h:64%,二氧化碳浓度CO2:400ppm,挥发性有机物TVOC:0ppb
图2-1:数据采集部分初步实现显示
执行器处理部分,实现功能如下:
按键独立控制,进行灌溉、空气洒水、模拟补光、加热、通风、报警功能模块的开启和关闭,
2024年4月16日
阿里云物联网平台的设置和硬件连接上物联网平台。
建立一个产品:智慧农业测试,在产品下建立设备:mqtt-stm32,建立如图2-2的物模型,使用增值服务建立Web界面。
图2-2:mqtt-stm32物模型
2024年4月17日
太阳能充电电路初次设计,电压能达到21.1V,大致验证方案是完成可行性。注意设计的PCB电池盒尺寸,验证方案的时候没注意,所以电池盒安置不上PCB。
图2-4:太阳能充电电路初次设计
2024年4月18日
设计原理图,并制作PCB验证。
初步实物:
图2-5:太阳能充电和控制执行器部分
图2-6:数据采集部分实物
2024年4月27日-5月5日
外出三天,开始完善项目和写报告。效果目前如下:
2024年5月10日
项目已经进入收尾。
第三章:设计原理
3.1系统的总体设计架构
根据智慧农田远程数据采集及管理系统的功能需求,本系统设计环境数据采集系统的方案,在感知层部署空气温湿度、土壤湿度、光照、二氧化碳等各类传感器,将采集到的数据通过网络层的无线WIFI技术和MQTT协议传输模块上传给应用层,应用层是在计算机阿里云物联网云平台的Web界面,将检测到的农田环境数据和控制系统执行器设备的状态显示出来,并生成历史数据趋势图,便于观察和参考。
3.2系统硬件框架
3.3原理图
(1)核心板
STM32F103C8T6单片机最小系统的设计,根据自己心意画一个最小系统。
实物,焊接了两块,这一块焊接不好,有虚焊部分,不服输,焊三次也要焊好用上它。
(2)数据采集部分硬件原理图
数据采集部分主要有微处理模块、各个传感器模块、WIFI无线通信模块、USRT串口通信模块和供电模块等五大模块组成。数据采集部分原理图如下图所示。
在数据采集部分的设计中,STM32单片机作为核心部分,负责对农田(大棚)远程数据采集及管理系统中各个传感器设备的数据分析和收集,并通过WIFI模块上传到云平台和UART串口通信模块与WIFI模块和执行器处理部分通信。各个传感器模块根据需要采集的环境数据做出选择,同时也要考虑微处理模块读取数据的方式。WIFI模块是与云平台通信的桥梁,其完成环境数据的上传。UART串口通信是将数据信息通过串口发送给执行器处理部分和WIFI模块进行通信。
(3)执行器处理部分和电源部分硬件原理图
执行器处理部分主要包括微处理器模块、各个执行器设备模块、UART串口通信模块、WIFI无线通信模块和供电模块五大模块组成。执行器处理部分原理下图所示。
在执行器处理部分的设计中,STM323单片机作为核心部分,负责检测各个控制模块的工作状态和电池电量情况并通过WIFI无线通信模块上传至云平台,接收来自数据采集部分通过UART串口通信发送的信息并进行处理。各个执行器模块负责执行单片机的指令,比如浇水、补光、通风、加热等功能。UART串口通信是接收来自数据采集部分的数据信息。WIFI无线通信是与云平台的桥梁,上传控制器设备的状态到云平台以及接收云平台相关的控制指令。
电源部分,常见锂电池电压为3.7v,考虑到系统设计的需求,电源部分主要由三部分组成,分别是光伏太阳能板BUCK降压电路、继电器等5V设备的BOOST升压电路、单片机等3.3V设备的LDO降压电路。如下图所示。
注意:
(1)画PCB的时候,核心板是自己画的,如果直接买STM32最小系统成品,记得换主控微处理器的PCB。
(2)风扇的供电是12V,还需要增加一个升压模块在结合继电器给风扇供电。
组装成品
第四章:终端云平台系统设计
在阿里云物联网平台定义产品的基本信息,产品名称:智慧农田远程采集与管理系统,并在该产品的目录下建立两个节点设备,分别为用于传输数据的STM32_WIFI_1设备和用于操作执行器设备的STM32_WIFI_2设备。
下一步在产品中定义物模型,数据采集和执行器的物模型分别涉及空气温度(temp)、空气湿度(humi)、相对光照强度(LightLux)、土壤相对湿度(soilHumidity)、二氧化碳(co2)、挥发有机物浓度(HCHO)、浇水(sgp30)、加热板状态开关(hot)、风扇状态开关(fan)、模拟补光灯状态(led1)、空气洒水状态灯2(led2)、工作灯转态(led)。具体类型看下图的表。
Web界面设计成这样
Web界面从左上边开始,依次是设备工作状态,红色表示工作异常、绿色表示工作正常;电池实时;报警功能,蓝色表示正常、红色表示报警;电压三幅实时曲线图用于显示最新三个小时内的环境数据变化情况;六个仪表板用于显示实时数据;系统工作模式和五大执行器功能开与关的设定;执行器设备的工作状态,蓝色表示关、黄色表示开;附加设备定位地图和设备管理功能。
第五章:核心代码说明
系统开发利用STM32CubeMX开发软件的hal库,结合KEIL5对系统代码进行的编写与编译,代码烧录使用ST-Link作为烧录工具,再结合串口Ai-Thinker助手软件进行实物调试。
该系统设计的软件系统设计部分主要包括硬件模块的软件系统设计和终端软件Web界面的设计,贯穿整个系统的采集、传输、监控和操作过程。其设计的流程如图5-1所示。
图5-1硬件部分的软件系统设计框图
下面我主要介绍硬件模块的软件系统设计。通过STM32单片机内部运行的程序来控制智慧农田远程数据采集及管理系统的硬件部分工作,STM32单片机1获取得到各个传感器采集到的信息并进行处理,将农田环境数据上传至云平台和检测环境数据是否开启功能并发送给STM32单片机2,单片机2执行各个执行器,同时也将各个执行器设备的转态上传至云平台。智慧农田远程数据采集及管理系统的软件设计流程,如图5-2所示:
图5-2:硬件模块的软件系统设计流程图
该系统硬件模块软件系统的具体设计包括对定时器轮询的配置,两个单片机之间使用的串口1通信配置,WIFI无线传输使用的串口2通信配置,DMA多通道ADC读取土壤湿度和光照强度配置,ADC检测太阳能充电电压、电池电压配置,IIC读取SGP30传感器中的二氧化碳和挥发有机物浓度配置,GPIO读取DHT11传感器中空气的温湿度配置,IIC通信方式OLED显示执行器的状态,GPIO控制LED补光灯、继电器实现加热和通风、空中洒水、SGP30浇水和蜂鸣器报警控制逻辑配置。
系统的微处理使用STM32单片机决定了使用什么开发工具对软件部分进行设计。系统在硬件部分的软件系统开发利用STM32CubeMX开发软件的hal库,结合KEIL5对系统代码进行的编写与编译,代码烧录使用ST-Link作为烧录工具,再结合串口Ai-Thinker助手软件进行实物调试。
该系统的无线传输部分,使用轻量级的发布/订阅消息MQTT传输协议技术,MCU初始化先将上传数据的ESP8266-01s无线传输模块与物联网平台进行发布和订阅消息,再将每次得到的农田环境数据每5S通过MQTT协议传输给物联网云平台。
第六章:软硬件调试
系统在硬件和软件都设计完成后,进行对系统整体的测试,测试分为硬件设施测试和Web终端界面测试。
硬件设施部分分别为农田(大棚)环境数据采集是否正常、两个STM32之前的串口通信是否正常,执行器设备的控制和状态识别是否正常,WIFI无线传输模块上传数据到计算机终端阿里云物联网云平台的MQTT协议通信是否正常,电源的光伏太阳能电池BUCK降压电路、5V设备的BOOST升压电路、3.3V设备的LDO降压电路是否正常而且能保持自给和稳定工作。
阿里云物联网平台的Web终端界面调试分别为mqtt.fx模拟MQTT客户端发布和订阅消息,无线传输模块ESP8266-01s通过AT指令向物联网平台的产品发布和订阅消息,最后验证ESP8266-01s无线传输使用MQTT协议上传农田数据能否成功且实时更新,历史趋势图能否正常生成,执行器设备能否显示工作状态且能在Web界面控制。
·第七章:系统实物测试结果
7.1 系统远程环境监测和执行器功能实现
7.1.1数据采集功能实现
参与环境检测功能的模块有空气温湿度传感器、土壤湿度传感器、光照强度传感器和SGP30气体传感器。各个模块正常的工作,在云平台上显示环境参数,说明环境监测功能的正常运行。下面是具体的测试过程:
(1)将各个模块的数据采集部分的硬件组装完成和电源部分相连接。
(2)打开局域网无线网络,启动供电,通过数据采集部分的显示模块查看各个模块的初始化。
(3)打开阿里云物联网平台,在产品内查看设备连接情况,进入设备查看物模型数据,可以查看到物模型的实时数据,或者点击各个物模型数据查看历史数据。
(4)进入Web界面,在界面内能直观查看实时数据和历史数据。
Web界面显示的结果如下图7-1所示,系统对现场环境采集的几种环境参数实时上传,图中左侧是六个环境参数最新三个小时内的数据变化情况,右侧是六个环境参数实时数据。
图7-1系统实物测试远程环境数据采集Web界面
每一种环境参数还可以在云平台上统一查看近期的数据曲线图,可以从参数曲线图的变化来研究农作物合适的生长环境参数。如下图7-2到7-7所示。
通过对系统的测试,系统的数据采集功能可以正常的运行,可以通过设计的Web界面实现农田(大棚)环境的实时远程监控,获取环境的空气温度、空气湿度、光照强度,土壤湿度、二氧化碳浓度和挥发有机物等农作物必需的环境信息。
7.1.2执行器功能的实现
用户通过系统在Web实现对农田执行器功能模块的实现,本次用执行器舵机、继电器、和补光灯进行模拟。各个执行器在单片机控制下正常的工作,在云平台Web界面上显示设备工作状态,说明控制功能的正常运行。下面是具体的测试过程:
(1)将执行器处理部分的硬件组装完成和电源部分相连接。
(2)打开局域网无线网络,启动供电,通过执行器处理部分的显示模块查看执行器的工作情况。
(3)打开阿里云物联网平台,在产品内查看设备连接情况,进入设备查看物模型数据,可以查看到物模型的实时状态,或者点击各个物模型数据查看历史状态。
(4)进入Web界面,在设计好界面内能直观查看执行器设备的工作状态,电池的电压情况。
系统执行器功能的控制和状态实物测试显示界面如下图7-8所示,蓝色表示关闭,黄色表示开启。
图7-8执行器功能的控制和状态实物测试
电池电压和执行器部分整体设备工作状态如图7-9所示。设备红色表示工作异常,绿色表示工作正常,当前处于工作正常状态。电池电压3.7V正常供电。在环境极端变化时,系统的报警功能也将开启,红色表示报警开启,蓝色表示报警关闭。
图7-9电池电压和执行器部分整体设备工作状态
系统可以通过Web界面设置执行器的控制数据流,单片机根据接收到的数据,进行解码,然后控制各个执行器的开关量,在执行器完成相应操作后,执行器的状态会上传到Web界面上显示出来。
在Web界面执行控制指令时,存在网络传输等问题,执行器整个功能实现下来,会存在1s-5s的时间延时,不过该延时不会影响执行器的正常操作。
7.1.3系统自动浇灌、调节温度光照等功能的实现
数据采集和执行之间通过UART串口通信,实现自动浇灌、调节温度光照等功能的实现。系统测试Web界面实物如图7-10所示,在工作模式开启手动控制,工作模式等亮黄色表示收到模式已经开启,在Web界面打开空气洒水,补光转态灯变黄不自动关闭(Web界面不变蓝,硬件补光灯开启)。在工作模式开启自动控制,将灯光照向光照传感器,补光转态灯变自动变蓝,硬件补光灯关闭。
图7-10系统测试Web界面
功能实物看视频效果
第八章:总结与展望
下面对存在的以下明显问题进行总结:
视频监控设备的加入,想加摄像头无线视频信号监控设计无线的视频信号监控的部署能达到监控农作物实体的生长情况。已经买了一个摄像头模块,不过目前该系统涉及的通信协议还无法对视频信号进行传输,学习的东西还没办法做到加入摄像头。后面如果有机会加入摄像头,届时再议。
其次在这里感谢平台的支持。感谢!!!
最后的最后,这属于第一代版本,很多东西都是第一次接触,其中设计时还有许多考虑不周的地方,比如需要12V电压给风扇供电,杜邦线线路比较乱,传感器位置分布不合理等问题。为此我也想了许多的方案,比如一些模块可以集成到板子上,比如继电器和、2V升压、核心板、WiFi模块等等,也可以做成一块板子。虽然这个项目不是很完美也不是很优秀,但也成为了我验证自身能力的标志,也许未来的某一天回来看到这个项目,以那时的实力会做出改进,将它设计得更好。
在这我说未来可期,还有,先生,我太想进步了。
2024年5月17日终。
设计图

BOM


评论