基于LabVIEW的智能农业信息采集处理

2024-01-30 03:10徐磊陈德胜
农业与技术 2024年2期
关键词:温湿度串口报警

徐磊 陈德胜

(武汉轻工大学人文与传媒学院,湖北 武汉 430000)

随着科技的飞速发展,智慧农业已成为现代农业领域的一个重要趋势,不仅提高了农业生产效益,还有助于实现农村振兴和建设农业强国的目标[1]。智慧农业借助先进的信息技术和传感器设备,实现了农业生产过程的自动化、精细化和智能化,为农民提供了更多的生产手段和管理工具,也有助于保护环境和资源的可持续利用[2]。

在智慧农业中,传感器技术是关键的基础。传感器可以实时监测土壤温度、湿度、光照强度、气温等环境参数,以及作物的生长状态,将这些数据传输到农场管理系统中[3]。这些数据不仅帮助农民更好地了解农田的状况,还可以通过智能算法进行分析,提供决策支持,如何更好地管理灌溉、施肥、病虫害防治等[4],智慧农业还可以通过机器视觉技术来检测作物的生长情况和质量,进一步提高农产品的质量和产量[5]。

LabVIEW软件是一个非常有用的工具,其基于数据流和并行运行的原理,提供了丰富的VISA(Virtual Instrument Software Architecture)和数据处理工具,非常适合用于智慧农业中的数据采集、处理和分析[6,7]。LabVIEW的波形图显示功能使用户能够直观地查看采集到的数据,帮助农民和农场管理人员更好地理解农田的状况[8]。

总的来说,智慧农业是未来农业发展的重要方向,通过优化和改善数据采集、处理和分析的过程,可以更好地实现农业现代化和提高生产效益,为农村振兴和农业强国的目标作出更大的贡献。本文针对我国现代化农业发展现状,结合大量的参考资料和相关领域研究成果,设计了一套基于LabVIEW的智能农业信息采集处理系统,用户可以通过该系统实时地监测到农作物的相关信息。

1 总体方案设计

本课题是要实现基于LabVIEW的智能农业信息采集处理,利用LabVIEW对温湿度传感器进行实时数据收集,实现对农田、大棚、温室等农业环境和植物生态的智能监控,目的是实现对温湿度、光照等数据信息进行实时的显示。

本文主要着手于建立结构简单、功耗低、易操作、功能稳定的智能农业监控系统,该下系统的设计分为数据采集和数据处理2个部分,其中数据采集部分包括蜂鸣器模块、LED指示灯模块、单片机模块、串口模块和供电电池等[9];数据处理部分是由上位机LabVIEW组成,主要提供数据接受、显示界面、人机交互的平台。整个系统是由单片机负责对当前环境进行数据采集,之后在上位机进行后续的数据分析以及处理。

1.1 温湿度传感器选择

温湿度传感器的选择对监测温度数据至关重要。传感器的种类不同会对测量对象的温度产生一定的影响,从而产生误差,因此经过调查研究,加上条件限制,本文决定选取AM2302作为数据采集的传感器,其采用STM8S处理器,传感器工作电压为5V,湿度最大量程是99.9%RH,湿度分辨率为0.1%RH 16bits,而温度最低量程是-40℃,最高温度是80℃,温度分辨率为0.1℃ 16bits[10,11]。

1.2 单片机选择

本次实验使用的是STM8S单片机,其通过A/D转换口将模拟信号转换为数字信号,具有电路结构简单、降低实验成本、低电健壮性等优点,温湿度传感器的STM8S单片机功能主要可分为以下几个部分:频率采集部分、电压采集部分、PWM输出部分、串口通信部分[12]。频率采集部分是用来采集温湿度采集电路所采集的方波频率;电压采集部分是用来获取温湿度传感器输出的电压信号;PWM输出部分是将单片机处理的数据再进行处理;串口通信部分是将单片机处理好的数据通过串口发送给上位机。

1.3 数据处理技术的选择

美国NI公司自行研发的LabVIEW是NI设计平台的核心,其是一种与C和BASIC相似的开发环境[13]。其是一种易上手、简洁的图形化编程语言,可以将复杂的文本语言转换成用图标表示的语言,用户在使用时不必编写代码,只需添加控件以及连线即可,可以直观的显示所收集的数据[14]。

1.4 串口通信技术的选择

LabVIEW可以与GPIB、VXI、RS-2302和RS-485等串口实现通信,并且可以代替数据采集卡的功能,而且提供了支持TCP/IP、ActiveX等软件标准的库函数,从而让用户能够使用各种通信协和标准库函数完成数据的采集处理等功能[15,16]。本系统是通过RS-485和LabVIEW提供的VISA节点实现数据传输的。

上位机可以利用该VISA库函数来控制传感器。在使用LabVIEW软件进行信息采集时,可以利用VISA配置串口接收数据报,再利用VISA读取串口读取出来。在LabVIEW2018中,共有8个VISA函数,分别用于串口配置、串口读写、串口字节数设置等方面。

1.5 上位机监控平台的选择

在每一个完整的LabVIEW中都有一个前面板和对应的程序框图,前面板是由一个个控件组成的,是直接与用户沟通的界面,程序框图是由各种函数组成的。LabVIEW目前较多应用于汽车、工业、航天、学校等领域,是一种数据采集和测量仪器的标准软件。

LabVIEW前面板中含有许多显示控件,如数值输出控件、布尔、数组等,用户可以直接使用。因此,LabVIEW大大缩短了软件的研发周期。LabVIEW可以和其它语言联合编程,如JAVA、C等,如可以将C语言放到LabVIEW程序,这样可以使LabVIEW实现一些其不曾拥有的功能。

1.6 系统总体方案的确定

综上所述,系统的总方案确定如下:传感器采集数据部分是由AM2302和单片机STM8S构成,采集当前环境中的温湿度值。通过RS-485和VISA节点将数据传输给上位机,通过设计的LabVIEW程序实时显示数据。

2 系统仿真设计

系统仿真设计部分是为了验证LabVIEW的实时数据采集功能,并为后续实际应用做好准备。本节将详细描述系统的框架图、界面以及各个功能模块的设计。

2.1 系统框架图及界面

系统的整体框架如图1所示。确保上位机与下位机的通信波特率一致,以确保通信的可靠性。上位机程序包括初始化工作,数据采集和显示、数据存储以及温湿度报警几个部分。

在初始化阶段,设置通信波特率为9600bit·s-1,确保上位机与下位机的通信参数一致。此外,要确保前面板已正确设置串口通信的COM口,以建立稳定的通信连接。在数据采集和显示部分,数据采集和显示模块使用自定义函数和条件结构,以实现温度数据的实时显示。采集到的数据会以直观的方式呈现在上位机界面上,为用户提供了即时的信息。

为了方便后续查询和分析,设计了数据存储功能,将采集到的数据信息存储在文本文件中。这有助于记录历史数据,进行长期趋势分析,以及满足数据备份需求。温度报警功能是系统的重要组成部分。如果采集到的温度数据超过预设的阈值,报警灯将亮起,提醒操作人员采取必要的措施。这一功能可以帮助及时发现温度异常情况,防止可能的损害或事故。

在设计模拟发送的正弦函数时,需要注意正弦信号的范围通常在-1~+1,因此需要进行适当的调节,以确保程序的正常运行。同时,设置温度报警功能是确保操作人员能够及时应对温度异常情况的重要一步。

总之,系统的设计应确保正确解读通信协议、准确采集和显示数据,以及实现必要的报警和数据存储功能,从而保证系统的可靠性和有效性。这一仿真设计为系统的实际应用奠定了坚实的基础。

图1 程序框图

2.2 数据流设计

仿真部分的界面可以分为2部分,数据发送部分,利用正弦函数生成模拟数据,通过VISA通信接口与下位机建立连接并循环发送数据,同时提供用户界面元素以便调整正弦函数参数(如振幅、频率或相位),并在前面板上实时显示数据,模拟实际传感器采集到的信息并支持连续数据采集。

数据接收以及显示处理部分,使用VISA通信接口接收来自下位机或设备的数据,将这些数据以可视化形式显示在波形图上,同时设置了上限报警机制,以确保数据安全性,当数据超过预设上限时会触发报警,如指示灯亮起。此外,还实现了延时显示功能,以降低数据显示的刷新率,提高界面的稳定性和可读性,并设计了保存数据到文件的功能,以便用户进行后续的数据分析或存档操作。

这2部分的设计能够模拟实际的数据采集和处理过程。确保在实际实施时,数据的发送和接收之间的通信协议和参数设置是一致的,以确保仿真的准确性和可靠性。

2.3 仿真系统测试

为了验证系统的合理性,本部分使用模拟软件来测试所设计的系统的功能是非常重要的步骤。模拟软件可以模拟系统的运行和交互,以评估系统在不同情境下的性能和功能是否符合预期。

在开始测试之前,需要打开vspd软件,并点击“Add pair”来创建虚拟串口对,这对后续操作非常重要,因为其为程序的顺利运行提供了虚拟串口的支持。接下来,打开LabVIEW软件,并加载设计的VI程序。在程序中,选择将数据保存到以.txt结尾的记事本文件,并将数据保存格式设置为保留小数点后2位。

在LabVIEW程序的前面板中,需要配置VISA接收口为COM2,VISA发送口为COM1,并确保其波特率、数据比特和停止位等参数保持一致。一切准备就绪后,单击“运行”按钮。在本次设计中,使用正弦函数模拟发送温度数据,这些数据会实时显示在波形图上。此外,当温度超过60℃时,报警灯会点亮。测试过程中生成的数据会被保存在之前选择的记事本文件中。

通过这些步骤,能够验证系统的功能是否按照预期工作,并且能够在不同情境下模拟系统的性能。这对于确保系统的合理性和稳定性非常重要。

3 系统实现设计

为了进一步验证系统的可行性,本节通过LabVIEW设计了一个数据处理程序,主要用于采集AM2302温湿度传感器发送的数据,并对这些数据进行可视化处理。在整个程序中先设置好VISA函数,再设计数据解析部分,将接收到的串口数据包进行处理,然后得到所需要的温湿度值,再分别对温湿度值进行处理,之后显示到波形图上,并且对温湿度值进行阈值报警处理,最后将数据分别保存到文本文件中。

为了更便于监控,本文创建一个用户友好的界面,使用户能够轻松操作和监控数据采集和处理过程。这包括添加控件用于启动和停止数据采集、调整参数以及保存数据等功能。

3.1 数据流设计

实现部分的程序是在仿真程序的基础上进行加工,是接收处理AM2302温湿度传感器所采集的数据,该界面可以分为3大部分:数据解析、数据保存格式、数据波形显示。

数据解析部分,在进行设计前,需要先查询串口协议等信息,传感器所发送的串口数据包总共包含14个字节,其中前2个字节表示帧的开始(SOF),第3个字节表示传感器类型,第4个字节表示传感器ID,第5个字节表示命令ID,第6~13个字节表示湿度和温度数据,最后1个字节表示帧的结束位。

在AM2302传感器的数据包中,HH和HL分别表示湿度的高八位和低八位数据,TH和TL表示温度的高八位和低八位数据。根据《CBT模块通讯协议》文档的查询,湿度的值可以通过将HH的值转换为十进制并乘以256,然后加上HL的十进制值,最后除以10来得出,单位为百分比(%)。温度的值可以通过将TH的值转换为十进制并乘以256,然后加上TL的十进制值,最后除以10来得出,单位为摄氏度(℃)。

以1组数据“EE CC OA 01 01 00 00 02 61 00 F2 00 00 FF”为例来计算,HH=02,HL=61,TH=00,TL=F2,计算湿度为60.9%,温度为24.2℃。这个数据解析方法可以用来准确地从传感器发送的数据包中提取湿度和温度信息。

在前期工作完成后,可以着手设计LabVIEW数据解析部分,以将串口中发送的数据经过设计的数据解析程序读取出来。在设计数据解析模块时,需要明确定义串口指令,以确保可以准确地读取所需的数据。接下来,将读取到的十六进制数据转化为十进制。在这个流程中,数据包以“EECC 0A01 0100 00”开头,以“FF”结尾,而中间部分包含了所需的数据。

这个数据解析部分的设计将确保能够有效地从串口接收的数据中提取所需的信息,并进行进一步的处理和分析。

数据保存格式部分,该部分是设计温湿度数据保存程序,包括保存路径的选择和保存格式的定义。首先提醒工作人员选择保存路径,在退出程序时,用户将收到提示,要求选择保存温湿度数据的文件路径;设计保存格式,具体格式包括将数值转换为小数形式,并保存小数点后2位。此外,在文档中还需包括采集数据的时间戳。

这个部分的设计确保了温湿度数据能够以规范的格式和时间戳保存,以便后续的数据分析和记录。用户可以自主选择保存的路径,而数据则以易于阅读和分析的形式存储。

数据波形显示部分,在数据解析后,将这些数据分别可视化显示在波形图上。在波形图中,设计了温湿度阈值,当数据超过这些阈值时,会触发报警机制,导致报警灯点亮。如果报警灯保持红色,表明当前温湿度值不适合农作物的生长,此时需要工作人员采取相应的措施。

为了确保LabVIEW程序的可移植性和安全性,希望能够将其生成为可执行文件(exe)。通过这种方式,可以将LabVIEW程序打包成一个独立的可执行文件,用户可以在不需要额外安装LabVIEW环境的情况下直接在其他电脑上运行。此外,生成的可执行文件会自动包含所需的驱动组件,使用户无需手动配置相关环境,提高了程序的易用性和安全性。

这一步骤对于确保LabVIEW程序在不同计算机上的可用性和稳定性至关重要,特别是在需要分享程序或在没有LabVIEW开发环境的计算机上运行时。这种方式确保了程序的独立性,用户可以方便地安装和使用,同时保护了程序的完整性和安全性。

3.2 实验结果及分析

本次实验使用AM2302温湿度传感器进行数据采集,其中代码已编译完成,只需通过串口读取数据即可。首先保证前面板中的端口号与传感器的串口号一致;设置波特率为115200,数据位为8,停止位为1,将温度阈值设为30℃,湿度阈值设为70%;将所采集到的数据显示到控制面板中。完成准备工作后,开始运行程序,当湿度超过70%时,报警灯亮起。在程序退出时,系统会提示用户选择温度和湿度数据的保存路径。

最终所采集到的数据如图2所示,保存的数据格式如图3所示,在文本文档中包括了采集数据的时间戳,并将温湿度数据保留了小数点后2位。值得注意的是,在本次数据采集过程中,手指的触碰对传感器产生了影响,使得温湿度数据值发生了变化。

图2 前面板图

图3 温湿度数据图

这个实验结果展示了程序的功能,包括数据采集、报警功能、数据保存和时间戳记录。这些功能有助于监测温湿度变化,并保存数据以供后续分析和记录。

在本实验设计中,温湿度报警值是根据实验的需要随意选择的,但在实际应用中,可以根据具体农作物的生长需求来选择合适的温湿度报警值。这样的灵活性可以确保环境参数与农作物的要求相匹配,当数据长时间超过所设定的报警值时,工作人员可以采取相应的措施,以确保当前的环境恢复到适宜农作物生长的状态。

因此,在实际农业生产中,根据不同的农作物种类和生长阶段,可以调整温湿度报警值,以满足特定作物的生长需求。这种定制化的环境监测和报警系统有助于提高农作物的产量和质量,并最大程度地减少不利环境因素对农业生产的影响。

4 结束语

本文成功完成了基于LabVIEW的智能农业信息采集处理系统的设计,实现了数据的有效采集和处理。通过下位机上的传感器,系统可以实时采集农作物生长环境的相关数据。上位机对这些数据进行处理和判断,经过大量测试表明系统能够稳定地实时收集数据。这对于实现农作物生长环境的智能化测控管理具有积极的作用,具备广泛的推广应用价值。

猜你喜欢
温湿度串口报警
温湿度控制器在回收砂冷却系统中的应用
浅谈AB PLC串口跟RFID传感器的通讯应用
基于DSP的多路温湿度监测系统
基于温湿度控制的天气预测装置
LKD2-HS型列控中心驱采不一致报警处理
蒸发冷却温湿度独立控制空调系统的应用
2015款奔驰E180车安全气囊报警
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
死于密室的租住者