智能温室控制系统数据库的建立与研究
2024-05-18杨光马巍陈立兰范志华牛云鹏杨硕苗钱义
杨光马巍陈立兰范志华牛云鹏杨硕苗钱义
(1.吉林省农业机械研究院,吉林 长春 130022;2.吉林省天安消防安全检测有限公司,吉林 长春 130000;3.吉林工商学院,吉林 长春 130000)
引言
我国作为一个农业生产力雄厚的国家,正处于数字化农经快速发展阶段。通过采用传感技术、无线网络、云数据存储、物联网和人工智能等先进技术手段收集和分析数据,能够对种植领域包括粮食作物与经济作物在内的生长状态进行详尽的跟踪和搜集信息。监测生物和环境数据后以此作为参考,为农业生产的各个阶段提供科学的建议和指导。数据管理与分析在当前农业经济体系下异常关键,以提供坚实的信息支持。我国已经启动了相关战略和计划,旨在2023年进一步推动并加速实现农业产业的数字化改造。依照《面向2035年的农业智能化发展战略研究》的指引,我国将持续增强农业智能技术的研究及其实践应用力度,以期于2035年前基本达成农业全链条的数字化转型,并为构建智能化农业体系奠定坚实的技术基础。
中国农业数字化的软件及数据支撑结构主要有感知与执行层面以及运算层面,通过数据采集、软件分析、数据储存和处理等工具,形成数据平台服务,对自然环境、要素投入、市场流通等信息进行智能化的处理、分析以及应用。农业数据服务平台通过给商家提供解决方案,通过构建农业用户的种植数据,让商家为农户提供有针对性的科学种植方案和技术。在数据平台服务方面,目前我国已经形成多个规模化的为农业种植提供服务的配套技术和产品。形成了多家数字服务平台,但各大平台的运营成本比较高,数据虽然是共享,但由于农业经济受不同地域的环境影响很大,很多种植数据并没有针对性。本项目介绍了一种中小规模的温室联动大棚数据库的建立,通过在种植基地建立自己的数据库,实现了为本地种植企业独立建立数据库,通过数据内容及数据分析提供方案,同时也为企业的发展自身独特农业经济提供了可能性。
1 功能
数据库是某组数据的集合,数据库中有表,表由列组成。数据库有动态数据库和静态数据库,本文中的测控参数会变化,所以需要建立动态数据库。
1.1 数据库设置参数的存储
根据联动温室大棚种植种类和数量,对温室大棚的控制参数进行存储与设定,包括温室中作物种植种类,温室温湿度、光照参数、土壤温湿度等的控制范围,是否需要人工单独控制还是采用智能控制,摄像头的IP地址、数据采集时间间隔等信息。以上信息需要人工进行输入后并存储到数据库中保存。
1.2 数据库变量的更新
温室大棚内有许多控制元素,这些控制单元包括灌溉水泵、各个地块的灌溉阀门、湿帘水泵、遮光帘的电机正反转控制、保温被盖或不盖的控制、补光系统的控制,由于以上设备均有自己的工作状态,在数据库的运行中需要进行实时记录和更改,同时要能记录到最后一次动作的状态,这样才能为下一次系统动作提供有效的执行信息。这就要求数据库必须有以上各个执行机构的动态变量。
1.3 数据库测量数据的存储
实现对温室环境条件的记录和存储,参数包括:空气温湿度、光照、二氧化碳、大气压力、不同地块的土壤温湿度、室外的温湿度、室外的方向和风速。
1.4 数据库测量数据的查询
用户可以通过输入固定时间来查询不同地块作物的生长数据,包括1.3中涉及到的测量数据,监测、分析各区域的环境数据。
2 数据库的安装
在笔记本、台式机或者工控机中都可以安装数据库,其本质是将测量控制系统工作的电脑作为服务器使用。
2.1 安装MySQL
MySQL是一个应用比较广泛的小型关系数据库管理系统[2],其规模比较小,功能不复杂,速度快、成本低,但是已经能够满足多数用户的需求,其可以在Windows平台下进行安装包的安装,运行安装目录下的MySQL,如E:数据库MySQL驱动MySQL-版本号。安装10个左右程序,都要100%安装,如遇到最后2个安装到30%不动的情况,即为安装失败,需要卸载所有MySQL开头的文件,重新安装,安装时提示设定账户和密码。安装结束,检查电脑管理界面下的“服务”选项,若发现MySQL57服务已激活便无需担心;若服务尚未运行,需打开“运行”窗口,敲入“cmd”以调出命令提示界面,输入“net start mysql”即可启动服务。注意,如果在安装过程中对数据库的名称进行了修改,那么启动服务的命令中的“mysql”应替换为相应的数据库新名称。
2.2 安装MySQL数据库的ODBC驱动程序(ODBC数据源的建立)
应以管理员身份安装运行,如,The myodbc-installer executable is located within the bin directory at the following path:E:MySQLdriveMySQL-connector-odbc-win32MySQL-connector-odbc-noinstall-5.3.7-win32.exe。这里需要注意安装驱动程序的位数应该与Windows系统位数一致。
实现数据库连接需先设定DSN(DataSource Name数据源名称),操作流程:打开“开始”菜单,选择“设置”,进入“控制面板”,寻找“数据源”项。处于Windows系统的控制面板中,可找到ODBC数据源管理器,点击进入“ODBC数据源”,这里展示了3类DSN:用户DSN、系统DSN、文件DSN。本项目使用的是基于MySQL搭建的数据库,因此在“用户DSN”页面中点击“添加”按钮,会跳出一个“创建数据源”的窗口。在此步骤中,要选取已部署的MySQL ODBC 5.3 ANSI驱动。选择“MySQL ODBC 5.3.7 驱动程序”,在新弹出的界面中,请于登录分页键入数据源详情;在数据源名称一项中录入“Data Source Name”;若需要,可在说明栏位填写DiscrIPtion;数据源所在服务器的IP地址应记录在指定位置;而数据库登录用户名需填写在用户名一栏;相应用户的登录密码则输入密码字段;而数据库类型栏目则要明确选择要连接的数据库系统。设定完毕后,点击“测试”以验配置无误,如测试通过显示配置成功,点击“确定”按钮即可返回至用户DSN管理界面,如图1所示。
图1 数据库安装测试成功
2.3 安装Navicat for MySQL
Navicat是一款流行的多功能数据库管理工具软件。其支持多种数据库,包括MySQL、Oracle、PostgreSQL和SQLite等。Navicat可以执行许多不同的操作,如执行查询语句、设计和管理数据库表、导入和导出数据、执行备份和恢复等任务。该软件可以帮助用户更轻松地管理各种数据库。
安装后的设置,安装完成后点击“连接”,选择数据库的名字和IP地址、端口、用户名。输入初始密码,因为本项目需要本机作服务器,所以本机IP为localhost,如果想用外网IP,则可以输入公网IP,点击“连接测试”,查看是否成功。
在连接中新建数据库命名为jlau,在jlau上点击右键,字符集选utf8—UTF-8 Unicode,排序规则选utf8z-genersl-ci。在jlau表里点右键“运行SQL文件”,把之前建立好的数据库jlau.sql转储并导入进来。导入成功后的信息界面如图2所示。
图2 变量参数表
图3 数据库的调取程序
图4 数据库访问程序
图5 数据查询结果
表格globalpara是全局变量,该表格中保存了以下信息。设置参数信息:室温上下限、采集数据间隔、摄像头IP、数据采集卡的串口号、每个地块的作物名称。温室执行机构开关量工作状态信息:喷灌泵、滴灌泵、湿帘泵、风机、小遮阳1、小遮阳2、保温被。实时测量值:室外风速、室外风向、室内温度、室外温度、室内湿度、室外湿度、室内光照、室外光照、室内空气湿度、室外空气湿度、二氧化碳、大气压力。表格globarecord按照设定好的数据采集间隔定期保存了采集温室中实时测量值的保存数据。表格land和para中有代码和名字的对应关系,表格landpara中记录各个地块的实际设定值,表格landrecord记录各个地块的环境测量值。
3 用LabVIEW软件开发数据库
通过MySQL建立一个本机作为服务器的链接。实现以下功能:参数设置,根据温室大棚中种植作物的环境要求设置各项测量控制环境指标要求及参数;数据采集,可以实时采集数据信息;数据库建立;数据存储与分析,可以将数据进行存储,并进行调用;控制方式,计算机自动控制与人工控制2种方式自由选择。
3.1 功能介绍
多数先进的编程语言都支持执行数据库操作,并提供必要的辅助功能。这一能力主要源自操作系统中的数据库驱动程序,其克服了与数据库底层通信的复杂性。无论哪种高级编程语言,其实质是利用ODBC、DAO或ADO等技术,通过API接口来进行数据库操作的。以LabVIEW编程平台为例,其通过采用ADO技术并对其接口封装,以简化了数据库的访问过程。
ActiveX数据对象(ADO)是微软基于OLE DB技术打造的一套高级数据访问应用程序接口(API),旨在确保数据访问层能够兼顾伸展性。ADO作为一套程序编制架构,其内包涉及了多个构件,包含连接(Connection)、命令(Command)、参数(Parameter)、字段(Field)、记录集(Recordset)、异常(Error)、属性(Property)、活动(Event)以及集合(Collection)等。在众多构件中,以连接(Connection)、命令(Command)、记录集(Recordset)为3大主要组成部分,参数(Parameters)、字段(Fields)、异常(Errors)、属性(Properties)组建了4个主要的对象集。ADO的操作过程主要涉及建立数据源链接、设定访问模式、下达命令、结果保存到内存缓存及更新数据库资料多个环节。ADO的使用特点在于其简易性、高效率以及对内存和硬盘资源占用较少等利益。
在LabVIEW中操纵数据库需遵循流程:建立数据库联接,该流程起始于利用ADO Connection Create.vi创建Connection对象,继而透过ADO Connection Open.vi完成对数据库的接入,ADO Connection Open.vi里的ConnectionString参数指明目标数据库,此参数依赖于用户界面中文本框的输入而定;撰写及实施SQL查询,这涉及到用户界面的表格输入字段指定相关表,同时在姓名和年龄的输入框内填写相应的列信息,在程序的结构图区,利用Format Into String拼接SQL查询指令,并通过连线投递至ADO Connection Execute.vi执行,用户还能在界面的Command Text展示区查阅生成的查询语句;终止与数据库的连接,在这一阶段,需使用ADO Connection Close.vi关掉Connection对象,然后通过ADO Connection Destroy.vi彻底删除该对象。
3.2 实例讲解
3.2.1 建立全局变量
需要建立全局变量,这些全局变量需要在整个程序中被调用并进行赋值,数据的存储需要将全局变量组成1个新的数组,再将数组信息依次写入数据库。
3.2.2 数据的调取
程序每次启动运行时需要将数据库中设定好的参数调出并存入全局变量,这样才能得到温室大棚设备状态的信息,由于数据库中的信息是以字符串的形式体现,需要对提取的信息进行计算,将某些带有数字信息的字符串转换成数值类型。
3.2.3 数据库的访问
设置服务器的驱动,服务器的IP,Driver=MySQL ODBC 5.3 ANSI Driver;server=222.168.61.190;需要访问的表格名称DATABASE=jlau;访问的账号UID=jlau7234;密码PWD=qwer1234。具体操作内容为“当代码penguanbeng”启动时设置全局变量“globalpara”为“1”,(update globalpara set value=‘1’where code=‘penguanbeng’)这样就可以更改全局变量的值。
数据查询的前面板设计了输入控件,包括起始时间和停止时间,查询的地块对象,可实现数据的查询、保存和退出3个功能。查询的数据会在屏幕窗口进行显示,同时可以将查询的数据进行保存。
数据查询后台程序被打包成查询底层子VI。启动服务端的执行代码示例:“连接器=MySQL ODBC 5.3 ANSI 驱动程序;服务器=当前主机地址;数据库名=jlau;用户名=jlau7234;密码=Aa!‘123123’”。执行地块选择、参数和查询时间命令如下:“select time from landrecord where landcode=‘land1’and paracode=‘dishi1’and time>=‘起始时间’and time<=‘停止时间’”。执行地块选择和种植品种命令如下:“select value from landpara where paracode=‘pinzhong’and landcode=‘ land8’”。其他查询的指令都是通过数据串命令的集合形成。上述命令使用了select语句,对数据进行了检索,检索需要提供检索条件[3],从上述命令中可见相关条件的选择。
查询后数据形成1维数组,1维数组再组成2维数组显示在程序前面板。
4 LabVIEW数据库TDMS文件读写
4.1 相关概念
TDMS格式档案:由NI企业开发的TDMS格式为一种数据管理档案规范,该规范采用二进制形式记录信息,因体积轻巧、处理速度迅捷而能有效应对即时数据记录的需求。
生成TDMS文件同时,也会产生与之相匹配的tdms_index文件,通过此索引文件能够提高数据检索速率。如需节省内存空间,亦可选择不利用tdms_index文件。
4.2 LabVIEW中的TDMS模块
4.2.1 TDMS打开
打开用于读写操作的.tdms格式的文档,子级虚拟仪器同样适用于生成新档案或更新旧档案。使用TDMS关闭函数可关闭文件的引用。
4.2.2 TDMS载入
按照输入接口所需的数据类型格式,载入特定的.tdms文件并返回其数据内容。如数据包含缩放信息,VI可自动换算数据。汇总输入与位移参数作用于提取特定的数据片段。
4.2.3 TDMS关闭
关闭用TDMS打开函数打开的.tdms文件。
5 结束语
现在已经进入了AI的时代,而大数据已经成为了各行各业数字化发展的基石,在农业生产方面更是离不开数字化信息的支持,农业生产需要科学化,农业生产涉及到环境条件的限制,面临的不确定因素比工业化更多,更难控制,再加上农作物种植科学的要求,生物技术的要求,就更加复杂,种植数据的信息需要采集,统计才能被科学分析和利用。本项目仅在数据采集与存储调用方面进行了粗浅的研究,目的在于提供一种精准的可定制的数据采集系统,涉及到小型数据库服务器的设立及采集数据的存储和调用,在数据共享的时代,数据需要积累和分析。本文以温室种植为载体阐明了数据库的建立与操作,该方案也可以用于畜牧业、林业等多个行业生产的数据库建立。