王丹 姚竟发 崔秀艳等
关键詞:STM32;远程监测;智慧农业
0 引言
我国是农业大国,目前在我国传统农业生产方式依然普遍存在,缺乏高效的农业监测手段,对于农作物的生长环境不能准确及时掌握,同时无法为农作物提供最佳生长环境。种植方式过度依赖经验,比如过度使用化学肥料,除造成农作物产量偏低外,还会使生态环境受到破坏。与此同时,我国人口老龄化严重,农业种植劳动力大大减少,如何对土地资源进行高效利用、投入较少人力物力、降低农作物种植成本,同时实现质量优、产量高的可持续发展种植策略是目前农业种植中面临的巨大挑战。
针对以上问题,本文主要设计一种基于STM32 的智慧农业监测系统,系统由数据采集模块、通信模块、用户终端、外设4 个部分组成。通过空气温湿度、光照强度、土壤温湿度及氮磷钾含量、土壤PH 值传感器采集数据,并通过ZigBee 协议传输数据,用户可通过手机APP 或者PC 端直观查看环境的变化同时进行相应的外设调控。
1 系统主要功能
智慧农业监测系统主要功能如图1 所示,包括各类传感器、显示屏、控制器及系统软件等组成部分。系统综合利用嵌入式、物联网、人工智能、大数据等技术,通过显示屏显示基础环境数据,用户可通过手机APP或PC 端,实时观测农作物生长环境信息,并根据系统提供的最优生产环境,远程控制农业外设,持续为农作物生产提供最优生长条件,实现农业种植智能化管理,农作物高产、优质、高效、生态、安全产出。
2 开发环境
本系统开发环境硬件包括STM32F407,CC2530,Fibocom L610,BH1750 光照强度传感器,DHT11 温湿度传感器,土壤pH 传感器,土壤温湿度氮磷钾传感器。RT-Thread 版本:RT-Thread Nano 3.1.3。开发工具及版本:MDK 5.27STM32CubeMx RT-Thread 使用情况概述:内核部分包括调度器、信号量、线程。 调度器:创建多个线程来实现不同的工作。
线程:uart2_rx_thread_entry和led_thread_entry uart2_rx_thread_entry 线程接收到串口2 中断回调函数释放的信号量后,对数据进行整理并上传至阿里云;led_thread_entry 线程使LED 间隔1 秒闪烁,提示系统正在运行。
3 硬件系统设计
智慧农业环境监测系统硬件部分由终端节点、路由器节点、协调器节点、STM32F407 通讯网关、云服务器五部分组成。终端节点以CC2530 为核心通过传感器采集空气温湿度、光照强度、土壤温湿度、土壤氮磷钾含量以及土壤pH 值数据信息并通过ZigBee 协议传输数据到路由器,再经路由器转发至协调器[2],协调器接收到数据后通过串口把数据转发给STM32F407通讯网关,STM32F407 通讯网关完成数据汇总,解析,打包,在LCD 上显示采集到数据,并通过GPRS 上传数据至阿里云IOT 平台,阿里云IOT 平台将数据包通过AMQP服务端订阅转发到智慧农业系统,形成“采集—显示—控制”于一体的闭环控制模式[2]。
3.1 数据采集模块
数据采集主要包括传感器和电源模块。系统电源模块组成为锂电池组结合太阳能版,可以最大限度节约能源[3]。太阳能版可以为设备持续供电,供电支撑不足的情况,可通过对锂电池充电,确保整个系统稳定运行。对农作物种植环境的监测和数据采集主要通过各类传感器实现,采集不同农作物种植环境数据,对农作物生长环境实现实时监测[3]。本系统主要采集的环境数据包括空气温度、空气湿度、土壤氮磷钾、光照度、土壤湿度、土壤温度、土壤PH 值等。以下为本系统包含的传感器类型[10]。
3.1.1 空气温湿度传感器
空气温湿度传感器使用DHT11 型号,他的工作原理是把空气中的温湿度通过一定监测装置,测量到温湿度以后,按一定的规律变换成电信号或其他所需形式的信息输出。温湿度传感器的测量必须在允许频率范围内同时保持测量条件不失真,被测量的频率范围会受频率响应特性影响,传感器响应时间会有一定延迟,其频率响应越高,实际可测量的信号频率范围也就越宽。在系统的动态测量中,依据(稳态、瞬态、随机等)响应特性,避免产生误差。
3.1.2 光照传感器光照传感器
使用BH1750 型号,内部结构包括运算放大器、光敏二极管、晶振、ADC 采集等部分。电路工作原理:如图2 所示,光信号输入以后,经过PD 二极管产生光生伏特效应,最后转换成电信号,再经过运算放大电路进行放大,产生的电压被ADC 模块采集,再经过逻辑电路转成可直接在内部寄存机存储的十六位二进制[3]。电压和光强度是一一对应的关系,也就是说当进入光窗光强度越大时,光电流和电压也会越大,他们不成完全正比关系,但是我们可以通过电压的大小计算光照大小[3]。BH1750 引出时钟、数据线,STM32 与传感器通讯主要通过I2C 协议,从BH1750 寄存器中读取光照度数据[3]。
3.1.3 土壤温湿度及氮磷钾传感器
土壤湿度传感器采用型号MC-4IN1,该类型的传感器既可以监测土壤温湿度,也可以监测土壤中的电导率、盐分、氮、磷、钾等数据。工作原理是利用热敏及湿敏电阻来测量土壤温湿度[6]。进行温度测量时,热敏电阻值随土壤温度变化,通过测量电阻值进而测量土壤温度。湿度测量时,湿敏电阻值随土壤湿度变化,通过测量电阻值进而测量土壤湿度。由于其工作原理是基于电阻值变化,因此需使用专门电路处理,包括放大器、滤波器、数字转换器等,将采集到的土壤温湿度以数字量形式输出到单片机系统,经AD 转换进行显示,电路图如图3 所示[6]。
监测氮磷钾的工作原理是将测量的电导率值乘以相应系数得出氮、磷、钾含量值,传感器为探针式,使用方便,且防水、防腐蚀性能好,探针可长时间埋入土壤进行数据观测[6]。通过检监测壤中氮磷钾的含量来判断土壤肥沃程度,方便对土壤养分情况进行评估,电源接口为宽电压,电源输12~24 V 均可。
3.1.4 土壤pH值传感器
土壤pH 传感器采用型号OSA-60,它的工作原理是,硬件系统的核心是金属传感器,传感器的电极直接接触被测土壤,通过氧化还原化学反应产生电流,对电流值进行分析分段,驱动电流表显示对应pH 值数据。通过主机转换,以数值的形式进行结果显示。土壤pH传感器的测量区域一般为:以两探针中央为中心,直径为125 px,与探针等高的圆柱体内。测量范围一般为:pH=3~8。常用测试方法有2 种,一是速测法,选定需要测量的地块,挖开到需测量的深度,避开坚硬物体,将钢针直插入土壤中,在被测土地的不同位置进行多次测量取平均值。二是埋地测量法,挖1 个直径>20 cm的深坑,将钢针水平插入坑壁,填埋稳定一段时间后,即可对土壤pH 值进行长时间的测量。
3.2 ZigBee无线通信模块
数据采集完成以后,通过ZigBee 协议进行数据传输。ZigBee 基于IEEE802.15.4 进行通信,是一種无线网络通信协议,适和应用到距离短、速率低、功耗低的场所,工作频段可分为:868 MHz、915 MHz、2.4 GHz,网络传输举例最短10 m 最长100 m,最高数据速率为250 kbit/s[1]。ZigBee 网络的3 类硬件支撑包括协调器、路由器和终端,协调器主要进行网络的建立和初始化,ZigBee 结构中使用唯一协调器节点接收外部设备数据信息[1]。新节点加入和已有节点退出必须经过路由器关卡允许,协调器节点可以实现数据信息转发功能,有时也可作为过渡节点使用[1]。终端节点在ZigBee 网络中主要负责数据采集,同级终端之间不允许直接通信,但是可以借助路由器或者协调器进行通信[1]。
星型、网型、树型是常见的3 种ZigBee 网络拓扑结构[1]。星形结构特点是协调器节点位于整个网络的中心[1],外围分布若干个终端节点,这种网络拓扑结构通行链路单一,协调器出现问题可能导致整个网络系统故障。树形网络拓扑中包含过渡节点-- 路由器节点、其他路由器节点、终端节点,复杂度低便于维护[1]。MESH 网络拓扑结构中路由器间可直连通信[1],这种结构灵活性高,部分传输链路出现故障时,其他路径自动进行数据传送通信[1],保障网络畅通。
本系统选用的是 MESH 网络拓扑结构,如图4 所示,这种结构实现终端节点、协调器节点、路由节点的分层互通,结构搭建容易且便于维护,同时最大程度扩大监测面积[1]。依据IEEE802.15.4 标准,ZigBee 通信网络中的设备具有唯一地址,包含64 位物理地址及16 位网络地址两种设备地址[1]。本系统选用CC2530 单片机的物理地址,可通过数据手册进行查看。熟知每个设备的网络地址,若单设备出现异常[1],可通过网络地址快速锁定出现故障节点,方便无线传感网络的运行及维护[1]。
4 软件系统设计
整个软件系统由协调器软件设计、终端节点软件设计、PC 监测管理3 个部分组成,具体功能如下。
4.1 协调器软件设计
协调器软件是整个数据传送网络重要部分,在整个系统中扮演网关的角色,使用ZigBee 无线通信,与CC2530 数据处理器芯片组合。硬件端采集到所有环境数据后,按照协议将所有数据封装成包。并将这些数据包上传到阿里云IOT 平台。上传到服务器时采用的协议是MQTT 协议;阿里云IOT 平台将数据包通过AMQP服务端订阅转发到智慧农业系统的后端服务器;智慧农业系统的后端服务器按照规则完成数据包的解析,并将解析出的环境数据存入MySql 数据库中;后端将数据从数据库中取出发送到前端显示所有环境数据。
4.2 终端节点软件设计
本系统终端是用户远程控制系统,包括手机APP和PC 端程序,主要作用是实现农业种植户远程实时观测农作物生长环境。通过应用程序,种植户接收 ZigBee网络传送过来的数据,综合农作物生长监测环境与最优生长环境,远程控制喷淋、农药等农业外设,为农作物生长提供最优环境。终端节点采集各项数据,经协调器进行初始化后加入数据处理网络,清除原有数据,判断节点合法性,确定合法后申请加入数据处理网络[2],加入网络后,控制温湿度、光照、土壤温湿度氮磷钾、PH 值等传感器采集数据,经终端节点传至协调器,保证安全、及时、准确传送数据[2]。
4.3 PC主机监测软件设计
本系统PC主机监测主要包括调节农作物光照时长、空气温湿度度、土壤温湿度氮磷钾养分等等。系统主要由用户管理、通信、信息管理和数据管理四部分组成,用户管理是用户登录入口,用户可以进行账户设置;通信部分功能是管理数据传输过程,包括数据传送、节点管理两部分;信息管理功能是存储农作物生长数据,包括设备管理、生长记录[2];数据管理作用是保障农作物生长环境保持最优状态,当单个环境值超过阈值通过通信系统对种植户做出预警,包括数据查询、参数阈值设定、数据存储及传送[9]。
5 系统测试与优化
将整个智慧农业监测系统布置在室外环境进行系统测试,启动系统硬件端的开关后,部署的各类传感器开始监测空气温湿度、光照度、土壤PH 值、土壤温湿度计氮磷钾、土壤PH 值等环境参数,并通过ZigBee 通信模块将环境监测数据上传至云平台。此时,打开 PC 端或手机APP 端能够查看环境监测参数信息,如图 5 和图 6 所示。
6 结束语
随着科技不断进步,我国农业智能化发展越来越高,本文设计的智慧农业监测系统[2],主要通过各类传感器进行数据采集,并通过ZigBee 协议传输数据到路由器,再经路由器转发至协调器,协调器接收到数据后通过串口把数据转发给通讯网关,通讯网关完成数据汇总,解析,打包,通过GPRS 上传数据至阿里云IOT 平台,再通过AMQP 服务端订阅转发到智慧农业系统,种植户通过手机APP 或PC 端实时监测农作物生长环境并对外设进行控制。为种植户增产增收提供有力的保障,对我国的农作物产量提升及传统农业现代化、数字化转型具有重要意义[10]。