基于物联网的大承包地土壤数据实时分析监测系统

作者: 张志颖 李虬 何雅彤 卞璐 王琪

基于物联网的大承包地土壤数据实时分析监测系统0

关键词:STM32;土壤数据;物联网

中图分类号:TN29 文献标识码:A

文章编号:1009-3044(2024)26-0086-05 开放科学(资源服务)标识码(OSID) :

0 引言

随着全球农业的不断发展和城市化进程的加速,土壤的健康和质量监测显得日益重要。土壤营养元素对农作物生长质量产生直接影响。由于土地利用过度、施肥过度等问题,不同土层中的氮磷钾含量呈现出较大差异[1]。因此,土壤数据的实时监测和分析对于提高农业生产效率、实现土地可持续管理以及环境保护至关重要。规模化农业种植地区通常面临土壤养分不均匀性、养分失衡和水分管理等挑战。为了解决这些问题,我们设计了一款基于STM32高性能32位处理器的大承包地土壤数据实时分析监测系统。该系统旨在为规模化的农业种植地区提供先进的土壤监测和管理解决方案,以提高土壤质量、推动农业生产效率和土地可持续性。这对于粮食安全和环境保护至关重要,也是农业现代化的重要推动力。

1 大承包地土壤数据实时分析监测系统的总体结构设计

本项目终端设备采用了STM32高性能32位处理器设计,云平台采用OneNet云平台设计,打造了一款用于规模化大承包地土壤数据实时监测分析的系统。该系统通过土壤数据传感器采集多点土壤氮磷钾以及pH值,利用RS485通信协议将数据传输至单片机。RS485通信协议具有出色的抗干扰性,适用于工业环境。单片机使用RS485通信协议读取土壤数据,经过相应处理后,将结果上传至OneNet云平台服务器。通过OneNet云平台实时监测数据并进行实时显示,当数据异常时,在地图上标示GPS位置并发出警报。同时,通过App获取数据,数据异常时,地图将会实时显示,方便实地考察人员查看,极大地减小了对实地考察人员设备的要求。系统总体结构如图1所示。

2 主控硬件电路设计

如图2所示是基于物联网的大承包地土壤数据实时分析监测系统硬件连接图。

2.1 STM32单片机介绍

STM32单片机是一种较为领先的嵌入式ARM处理器,以其低功耗、高性能和经济成本而闻名。它在各种设备控制应用中广泛应用,是不可或缺的组件。STM32的核心处理器是Cortex-M3,它具有32位CPU、嵌套中断向量控制单元、调试系统、高效的并行总线结构以及标准的存储映射。该单片机的工作频率可达72MHz,拥有512KB 的Flash 存储器和6~64KB 的SRAM存储器,为高速数据处理提供了强大支持。此外,STM32还提供4个16位定时器,每个定时器可以用作4个ICOCPWM或脉冲计时器,以满足各种定时和计时需求。供电电压范围为2.0~3.6V,在本设计中,供电电压被设置为3.3V[2]。

2.2 五插针土壤多参数传感器介绍

五插针土壤多参数传感器具有性能稳定、灵敏度高、响应迅速、输出稳定的特点,适用于各种土质。它是观测和研究盐渍土的发生、演变、改良以及水盐动态的重要工具。通过测量土壤的介电常数,能够直接、稳定地反映各种土壤的实际水分含量。该传感器可测量土壤水分的体积百分比,符合目前国际标准的土壤水分测量方法。此外,该传感器可以长期埋入土壤中,具有耐长期电解、耐腐蚀的特性,并经过抽真空灌封,完全防水。该传感器适用于土壤墒情监测、科学试验、节水灌溉、温室大棚、花卉蔬菜、草地牧场、土壤速测、植物培养、污水处理、精细农业等场合的温湿度、电导率、pH值测试。

2.3 北斗定位传感器介绍

获取定位信息采用的是ATGM336H-5N 模块,ATGM336H-5N 系列模块是小尺寸的高性能BDS/GNSS全星座定位导航模块系列的总称。该系列模块产品都是基于中科微第四代低功耗GNSS SOC单芯片-AT6558,支持多种卫星导航系统,包括中国的BDS (北斗卫星导航系统)、美国的GPS、俄罗斯的GLONASS、欧盟的GALILEO、日本的QZSS 以及卫星增强系统SBAS(WAAS,EGNOS GAGAN,MSAS)。AT6558 是一款真正意义的六合一多模卫星导航定位芯片,包含32个跟踪通道,可以同时接收六个卫星导航系统的GNSS 信号,并且实现联合定位导航与授时。

2.4 OLED屏幕介绍

本次终端显示设计使用的是0.96的OLED。采用的是SSD1306的驱动器,SSD1306是一款单片CMOSOLED/PLED驱动器,具有有机聚合物发光控制器二极管点阵图形显示系统。它由128个段和64个公共部分组成。这个IC是为普通阴极型OLED面板设计。SSD1306内置对比度控制、显示RAM和振荡器,减少了外部组件和功耗。它有256级亮度控制。数据命令是从通用单片机通过硬件可选的6800/8000系列兼容并行接口发送,I2C接口或串行外围接口。它适用于许多紧凑型便携式应用终端,例如手机副显示屏、MP3播放器、计算器等。本次屏幕的选择也是因为它的这些特点,并且采用IIC的方式可以大大减小单片机引脚的使用数量,功耗相对于液晶显示器更低,符合本次低功耗的设计。

2.5 通信模块介绍

无线数据通信模块采用了SIM800C这一款通信模块,体积较小,价格较低,通信方式简单。在本次设计中,不需要实时数据传输,只需要在1秒之内将数据传入云平台服务器即可,加之以成本问题,该模块非常适合本次设计。该模块自带MQTT/TCP协议,并且只需要使用AT指令即可控制该模块,大大减小了在单片机上程序的编写时间,提高了开发速度。

2.6 土壤数据传感器数据传输电路设计

在本项目中,我们采用了五插针土壤多参数传感器作为外部信号采集处理传感器。在众多土壤数据传感器中,这款传感器是一个出色的选择,其主要优势在于采用了RS485通信,RS485是一种工业控制环境中常用的通信协议,支持多节点:一般最大支持 32 个节点;传输距离远:最远通信距离可达1200米;抗干扰能力强:差分信号传输;连接简单:只需要两根信号线(A+和B-) 就可以进行正常的通信,确保了数据传输信号的稳定性、挂入节点的数量性以及通信的距离足够远。不仅如此,五插针土壤多参数传感器也不容易受到酸碱盐的腐蚀而导致数据误差。因此在设备的一侧,我们只需要设计一个RS485通信电路,本次设计根据单片机IO口耐受电压从而采用SP3485芯片,将RS485的差分信号转换为TTL串口信号。通过单片机的串口和传感器的数据读取协议,我们能够轻松地获取传感器数据。由上文可知,我们的项目核心处理器选用了STM32F103VET6,它拥有5个串口,并内置专门的串口中断寄存器,在硬件上我们选择串口2 当作与土壤传感器通信的接口,将串口2的接口接入SP3485通信芯片的TTL侧接口,从而与土壤数据传感器进行RS485通信。

2.7 北斗定位传感器电路设计

在北斗定位模块的设计当中,采用的是串口通信,并且ATGM336H-5N定位模块的工作机制是每一秒钟自动向外发送一次JSON格式数据,无须单片机发送给相应指令进行读取,因此,连接方式简单,整个模块仅需要四根线,分别为电源、地、TXD、RXD四根线,其中与单片机连接的为TXD、RXD两根线,输出电平也为3.3V,与单片机的串口直连即可,其余两根电源线采用的是3.3V供电,可以与单片机使用一个电源,减小了对电源电路的设计。

2.8 云平台数据传输电路设计

这一部分电路的主要任务是将终端处理器(MCU) 所采集并处理的土壤数据、位置数据上传至云平台。这个电路部分相对来说比较简单,主要涉及SIM800C通信模块与MCU之间的连接(下面称为通信模块)。在我们的设计中,我们采用了通信模块作为无线传输模块,并使用了该模块提供的AT指令集。

因此,我们利用了无线模块的串口功能,将MCU与通信模块连接起来。MCU通过发送特定的AT指令来控制通信模块进行网络连接,并最终通过串口将实际的数据值传输给通信模块,然后由通信模块将数据发送到云平台。这个电路模块的目标是通过无线通信模块将经过微控制器单元(MCU) 处理的土壤数据传送至云平台。该模块主要由通信模块和MCU之间的连接组成,通信模块通过AT指令进行通信,并与MCU 通过串口相连。MCU通过向通信模块发送特定的AT 指令来控制网络连接,最终,通过串口将准确的数据值传送至通信模块,由通信模块将数据传输至云平台服务器。

2.9 电源电路设计

本项目的主要目标是设计一个用于监测大承包地土壤数据的物联网系统,实现实时分析。为了确保系统的持续稳定运行和实时性,我们决定采用太阳能电池作为主要的电源供应方式。在电池选择方面,采用了可充电锂电池,锂电池体积小,能量密度高,与铅酸电池相比更适合本次系统设计。通过增加电池,确保系统具备持续供电能力。系统的能源来源主要依赖于小型太阳能板为锂电池充电,足以满足系统正常运行时的电能需求。太阳能板通过吸收太阳能为电池充电,电池成为系统的可靠电源。这一设计保证了系统在白天能够持续运行,而在夜间则通过锂电池提供稳定电力支持。通过这种方案,不仅满足了系统的电力需求,还避免了传统电线布线所需的费用和工程成本。总的来说,以太阳能和锂电池为基础的供电方式,为系统的实时性和稳定性提供了可靠的支持。

2.10 显示电路设计

显示电路的存在是为系统出现网络问题或者当下数据采集者需要实地考察数据时,不方便再通过上位机的方式进行数据查看时的一种查看方式。在这里采用的是OLED屏幕显示的方式,这种屏幕相对于其他屏幕对电的消耗是非常友好的,其他液晶类屏幕会有背光的存在,从而无法达到完全不显示,进而使得耗电相对较高。OLED屏幕不需要背光,在黑色情况下是完全黑色的。OLED屏幕在这里主要是减小这种消耗,从而提高对电池电量的保护,确保采集电路的准确性,并减少了因耗电高而导致电源系统成本的增加。该屏幕主要是使用的是3.3V即可供电,采用与单片机使用同一个电压即可。通信方式使用的是IIC 通信方式 ,除电源线外仅需两根线接入单片机的IO 口即可。

3 系统软件设计

如图3所示是基于物联网的大承包地土壤数据实时分析监测系统软件设计流程图。

3.1 网络传输驱动程序设计

本设计采用了端口初始定义的方式,以启动入网请求,以便判断是否成功入网。如果入网失败,系统将尝试重新发送入网请求,一直等待入网成功后再进行下一步操作。成功入网后,系统执行数据检测。如果没有检测到数据,系统将返回到先前的检测状态,再次进行检测。当检测到数据时,数据将被解析与分析后直接传送到OneNet云平台。这一过程需要编写RS485通信应用程序,以侦测传感器的土壤各数据,并使用相应的转换算法将其转化为土壤数据。最终,通过MQTT协议将数据传输至OneNet云平台服务器。MQTT协议作为一种轻量级的消息传输协议,MQTT(Message Queuing Telemetry Transport) 协议通常被用于物联网设备之间的通信。它是一种应用层协议,具有低带宽和网络开销小的特点,其工作方式是发布者(Publisher) 将消息发布到主题(Topic) ,而订阅者(Sub⁃scriber) 则可以通过订阅主题并接收相应的消息,这种模式使得设备之间的通信更加灵活、可靠和易于扩展。MQTT协议也被广泛应用于大规模物联网应用程序中,例如,智能家居、工业自动化、智能交通等,已成为物联网领域的标准协议之一[3]。云平台服务器获取数据后,在网页端实时显示,并绘制曲线,直观地看出数据变化;通过手机客户端实时查看并监测数据。在编程过程中,我们使用了Keil编程开发环境,以确保程序正常运行。在网络传输方面,我们主要关注模块与服务器的连接。通信模块通过AT指令方式与单片机进行通信,单片机通过AT指令控制通信模块与服务器通信。这减少了对通信模块的开发工作,只需通过串口将字符串传递给通信模块。通过AT指令的控制,模块会自动将字符串通过网络传送至OneNet云平台服务器,并等待服务器的应答。如果应答成功,模块将返回相应字符,单片机会继续发送下一步指令。如果没有得到相应字符,单片机会等待一段时间,然后重新发送相应字符串,以再次请求连接,直到成功为止。

3.2 土壤数据传感器驱动程序设计

随着微型传感器技术、信号处理技术和微处理器技术的迅猛发展,土壤数据检测技术已经从传感器检测单一信号演变为传感器与物联网相结合的发展趋势,如我们本次使用的RS485协议传感器。这种趋势使土壤数据的获取和分析能够实现更高的实时性。在我们的传感器中,我们选择了一种集成式传感器,将土壤的pH值、氮、磷、钾等数据统一采集,这种传感器的好处就是能够极大地简化传感器的数量,减小了物理实体的损坏率,使得设备更加稳定。土壤数据传感器的数据采集主要依赖于单片机通过串口直接读取传感器的数据。在图3中,我们展示了串口初始化函数的流程图,我们在这里使用串口2,通过单片机的串口2发送相应的指令以获取传感器数据,然后将数据显示在OLED屏上。

上一篇 点击页面呼出菜单 下一篇