李颖 吴琦 王宏坡 赵新海
摘 要:本文基于Qt平台开发了食用菌栽培环境数据采集控制系统,系统实时获取食用菌设施栽培菇房内的温度、CO2、湿度和光照度等参数,利用字符设备驱动程序,控制现场继电器设备,进而控制菇房内的执行设备,为食用菌的生长创造适宜的生长环境,实验测试结果表明系统运行性能稳定,操作方便,具有一定的应用前景。
关键词:Qt;环境数据;设施栽培
DOI:10.16640/j.cnki.37-1222/t.2019.02.115
食用菌是一类有机、营养、保健的绿色食品,食用菌产业已成为中国种植业中的一项重要产业。同时,作为我国大力倡导的“三色”农业中的白色农业,食用菌种植规模空前扩大,前景广阔,发展空间巨大[1]。食用菌生产的智能化与自动化对于提高单位面积的食用菌产量与质量,提高食用菌生产的经济效益,提升我国生产的食用菌的竞争力是非常重要的[2]。本文基于Qt平台设计了食用菌栽培环境数据采集控制系统,对影响食用菌生长的温度、湿度、CO2浓度、光照强度等环境因子进行采集与控制,实现食用菌栽培环境数据的实时采集与最佳生长环境条件的智能控制。
1 开发环境与系统架构
图形用户界面(Graphical User Interface,GUI)),又称图形用户接口,是指采用图形方式显示的计算机操作用户界面[3]。目前,人机GUI界面大多都是应用微软基础类库(Microsoft Foundation Classes,MFC)进行制作,但大量的Windows API和消息机制使得其较难理解,而且模板设定了固定的结构,不方便进行编程和维护[4]。Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架,Qt最大的不同就在语法结构简单清晰,面向对象的特性体现的比MFC明显[5]。Qt模块之间相互独立,并为用户提供了良好的封装库,特别是使用信号/槽机制来取代回調函数,使用起来非常方便[6]。因此,本系统基于Qt技术开发,系统的软件架构如图1所示。
食用菌栽培环境数据采集控制系统主要有以下7个功能模块:
(1)系统登录界面:使用系统之前需对用户的合法性进行验证,以此保障系统的安全性。
(2)环境采集间隔时间设定:系统的使用者可以通过此功能模块设置采集环境数据的间隔时间,以此控制采集环境数据的频率。
(3)食用菌设施栽培环境数据采集:此模块将按照系统的采集间隔时间定期采集食用菌设施栽培环境数据,并显示在系统的界面上。
(4)食用菌设施栽培条件设置:此模块可以设置食用菌设施栽培条件,包括最低温度、最高温度、最低湿度、最高湿度、开灯时长等信息。
(5)食用菌设施栽培设备控制:系统运行模式为手动的情况下,系统使用者可以通过此模块手动控制食用菌菇房内的执行设备。
(6)系统运行模式设置:系统有手动和自动两种运行模式,当系统运行模式为自动的时候,每次采集完环境数据后都会与系统运行参数比对,不符合要求的情况下会启动相应的设备自动调控食用菌菇房内的环境参数。
(7)IP地址设置:此模块主要用来设定系统通信设备的IP地址,它是一个IPV4的地址。
2 系统设计
基于Qt的食用菌栽培环境数据采集控制系统是在友善之臂6410开发板的基础上进行的二次开发。该开发板支持Modbus协议查询,Socket网络传输以及底层继电器的开关控制,与上海搜博公司生产的传感器配套使用。采用232转485转换器实现与支持Modbus协议传感器的串口通信,网线直接连接到交换机。
除了以上这部分之外,模块还要与现场设备进行连接,系统采用的是I/O驱动的方式,通过6个I/O引脚控制升温、风机、降温、加湿器、循环风和LED灯。6个I/O口的分布图如图2所示。其中,采用的I/O引脚是CMOS摄像头连接的接口,只用到了11~16共6个引脚,具体对应的设备如下:11→循环风控制,12→降温控制,13→LED灯控制,14→加湿器控制,15→风机控制,16→升温控制。开启设备时,对应引脚为高电平(电压为3.3V),关断设备时,对应的引脚为低电平(电压为0V)。
3 系统实现
3.1 基于Qt 的串口通信程序设计
ARM11内核的S3C6410嵌入式电路板的“/dev”路径下存有各种设备驱动,其中ttySAC0用于输出开发板的启动配置信息,系统中的串口对应ttySAC3设备号。
完成串口对象及函数声明,定义私有槽函数并完成信号与槽的连接。初始化串口设置(波特率、数据位等),采用Polling(轮询方式)读取串口,轮询机制的读写函数是同步执行的,可以通过创建定时器,实时读取串口的事件内容。
3.2 GPIO字符设备驱动设计
GPIO驱动程序中,dev_operations_fops结构是字符设备驱动的核心,应用程序操作设备将调用该结构中的对应函数,实现对底层硬件设备(风机、加湿器、LED灯、空调等执行设备)的操作。
3.3 系统主界面
图3是系统主界面,通过此界面可以设置环境数据采集间隔时间、食用菌栽培条件、系统运行模式、通信设备IP地址,显示食用菌设施栽培菇房内的实时环境数据(温度、湿度、CO2浓度、光照强度),手动控制菇房内的执行设备(风机、加湿器、LED灯、空调等)。
4 结论
经过测试,食用菌栽培环境数据采集控制系统实现了对食用菌设施栽培菇房内温度、湿度、CO2浓度、光照强度的采集与控制,且方便维护,运行稳定、可靠。当然,在实际应用中也发现了一些不足之处,例如栽培条件需要每天修改,可以利用数据库技术,将食用菌栽培过程中每天的栽培条件存储在数据库中,另外采集到的环境数据也可以存储在数据库中,便于对食用菌菇房内的环境运转情况进行分析并相应地做出改进。
参考文献:
[1]郭海玲,刘园园,何涛等.基于智能预测算法的食用菌大棚温湿度控制研究[J].农业与技术,2017,37(16):61.
[2]王明友,宋卫东,肖宏儒等.我国食用菌工厂化生产监控技术现状与发展趋势[J].农机化研究,2012(08):223-226.
[3]喻晓,夏澎.基于Qt的便携式心电监护仪GUI应用软件设计[J].计算机系统应用,2017,26(05):221-226.
[4]李丽,蒋洪睿,刘亚军.基于 MFC 封装的Windows通信API的研究[J].计算机系统应用,1999,8(10):27-29.
[5]黎邦腾,梁薇,马平.基于Qt平台的OPC服务器的开发及仿真应用[J].计算机测量与控制,2017,25(11):154-158.
[6]王吕梁,郭唐永,李世鹏等.基于QT的机载三维激光扫描仪软件系统设计[J].计算机系统应用,2017,26(04):61-66.