李莉莉,孙丽娟,陈大跃,黄震宇
(1.上海交通大学 电子信息与电气工程学院,上海 200240,2.中国农业科学院作物科学研究所,北京 100081)
21世纪是设施农业高速发展的时期。各国纷纷采取措施,加大投资,大力发展智能化设施农业[1-3],而温室生产综合运用了先进设施和先进技术,是目前实践智能化设施农业的主要方式,推动现代农业向低碳、高效、优质、智能的方向发展,提高了农业生产效益。
虽然实施温室种植蔬菜具有以上优点,但用设施温室特别是智能玻璃温室生产的蔬菜成本高,目前很难真正走进普通百姓的日常生活;其次,目前温室生产的一些蔬菜品质还达不到露地生产品质。因而,研究在成本较低的连栋塑料温室内实现符合农作物生产规律的低成本、高可靠性的环境智能监控系统具有重要意义。
本项目在总结以往国内进行的温室智能控制研究工作的基础上,针对国内尤其是上海地区使用最为广泛的连栋塑料温室,研发一种依据上海自有蔬菜品种和露地蔬菜生产农艺,基于人机交换界面输入蔬菜全生长周期的环境、施肥要求的在线检测、智能决策、自动控制的低成本温室智能控制系统。
目前,在国内外应用研究的温室环境控制系统模式主要包括以下几种[4]:(1)基于单片机的温室环境因子控制;(2)分布式智能型温室计算机控制系统[5];(3)基于单总线技术的温室控制系统;(4)多目标日光温室计算机生产管理系统;(5)以局域网为工作环境的温室控制系统;(6)基于PLC的温室控制系统。
考虑到系统的扩展性和兼容性,系统设计中提出将服务器远程监控与现场测控相结合的组网方案,系统框图见图1。控制系统由远程服务器、现场测控系统组成,一台服务器通过局域网和多个现场测控系统实现主从式通讯,同时对多个温室进行监控和管理。
图1 系统总体框图
1.2.1 远程服务器
远程服务器部署在PC机上,对整个系统的用户参数进行配置,对现场测控站的运行参数进行设定,并通过分布在温室现场的测控系统获取当前温室的环境数据和设备运行状态,并实现存储、显示和产生告警信息等,另外可根据客户需求完成历史数据展示及报表打印等功能。
1.2.2 现场测控系统
现场测控系统由三部分组成,包括现场测控站(ARM11核心处理器),执行控制部分和数据采集部分组成,部署在温室现场。每个现场测控系统负责控制一个温室,并可以独立于远程服务器单独工作。每个现场测控系统都有液晶显示和键盘输入设备,可以独立于服务器控制和调整系统的运行参数。液晶屏实时显示当前温室环境参数、设备运行状态和执行器状态等信息;通过操作键盘可以调整所有配置参数,并可以手动同步温室各被控设备的状态。
现场测控站作为各个温室的主控中心,对温室环境因子(如:室内外温度、空气湿度、土壤湿度、辐照度、风向、降雨量等)实时监控,并根据专家决策系统发出控制指令,实现对温室环境的调节。温室中,测控站不直接对单个执行设备或传感器进行控制,而是将各执行设备通过执行器控制板,挂载到RS-485总线上。测控站通过向总线发送寻址执行指令来控制各设备动作;传感器之间通过RS-485总线连接,提高了系统的扩展性。现场测控站和现场执行器以及传感器之间的组织关系如图2所示。
图2 现场测控系统框图
系统软件主要包括服务器监控软件和温室现场测控系统软件,其中服务器软件采用Visual Studio 2008编写,现场测控系统软件采用Qt编写,作为嵌入式操作系统的一个服务进程,开机即自动运行。
服务器软件主要实现温室的远程监控和管理,为使操作人员能够直观地了解各项环境指标,人机接口全部采用友好图形界面,操作简单。按功能可分为数据处理模块和数据库模块,其中数据处理模块主要完成局域网多机通讯、温室环境数据的显示、报表打印及输出等功能;而数据库模块主要实现温室环境数据和设备状态数据的存储,多种约束条件的查询、删除和统计等功能,统计数据可以按不同方式进行显示,如表格、动态曲线、直方图等。
嵌入式控制器采用基于Linux的嵌入式系统。软件平台采用Linux系统,优点[5]在于1)支持多任务:在温室系统中,有时需要同时处理键盘输入,数据采集以及执行器控制等多个任务,因而支持多任务的操作系统平台为编程提供了极大便利;2)丰富的网络支持:由于温室节点分散给调试和管理带来不便,Linux内涵支持TCP/IP、IPX/PX等多种协议,便于实施高层网络应用;3)Linux系统类似于图形化窗口,操作非常简便;4)Linux所有源码对外开源,使得整个系统开发和维护费用降低。
现场测控系统图形用户界面窗口用Qt/Embedded为平台进行开 发,通过调用Qt/Embedded提供的类库可以根据需要方便地进行设计界面[6]。由于采用了Qt/Embedded作为GUI,可扩展性和可移植性都非常好。为了使多个任务之间互不干涉,并发执行,系统采用多线程模块化设计,主要包括GUI主线程、数据采集处理模块、执行器控制输出模块、键盘扫描模块、Socket通讯模块、定时器模块,其主程序结构框图如图3所示。采用模块化编程便于程序功能的编写和调试,当测控系统需要增加新功能时,只需添加或扩充相应的模块即可。
图3 主程序结构框图
数据库是通过事务来实行调度和并发控制,可方便地进行数据存取,查询等操作,且数据库具有安全性和完整性检查的措施,可确保系统具有较好的整体性能[7]。目前,市场上典型的嵌入式数据库有 SQlite、Berkeley、DB和 MySQL。其中,SQLite属于轻量级的数据库,使用的时候非常方便,不需要进行复杂的配置和安装,其处理速度相对其他几款数据库管理软件来说要快很多。因此,本系统采用SQLite作为温室现场数据库引擎。
现场测控系统以数据库为核心运作,数据库为系统其它功能模块提供数据接口。系统涉及到的数据主要包括专家数据、实时环境数据、历史环境数据、温室事件。为了提高系统存取效率,减少系统开销,最新的实时环境数据通过各监测点采集采集到以后直接存放在系统内存中,以供应用程序直接使用。针对系统需求,将系统数据库分为专家数据库、历史数据库和统计及事件信息数据库三个子库。(1)专家数据库:主要存放作物各生长阶段环境因子需求参数、温室基本生产信息(如种植日期、种植面积等)。系统根据作物不同的生长阶段定期更新内存中的规则参数表,从而为作物生长提供最适宜的生长环境。同时,这些参数也可以通过本地键盘或者上位机方便地进行修改和调整。(2)历史数据库:主要保存温室各测点过去一段时间内的数据信息;当测控站和远程服务器断开连接时,测控系统将自动保存所有未上传给服务器的数据,等到通讯恢复再一次性上传,环境历史数据最长保存期限为一个月。(3)温室事件数据库:主要用于记录系统所有操作信息和温室异常事件。操作人员可以通过本地显示器或者上位机访问该数据库,以便了解温室在无人值守情况下的运行状况。
系统中的RS-485总线采用9 600 bps速率进行通信,数据格式为“1bit起始位 +8bit数据位 +1bit停止位”,无奇偶校验。现场测控站每20秒钟按标识码从小到大的顺序发出数据采集命令或者设备执行命令,目标板收到符合自己地址规则的标识码后,即执行当前节点的环境数据结果返回给测控站或者进行继电器吸合关闭操作。数据命令帧格式为“地址+指令+[数据]+校验”,从左到右依次发送。其中,地址取值范围为0x00-0xFF;指令包括数据采集指令,状态查询指令,继电器单独控制指令,继电器批量控制指令,通讯测试指令等;数据是协议帧所携带的数据体;校验是从地址到最后一个数据字节的CRC校验结果,两字节低位先发。为了进一步提高系统可靠性,测控站与分布在温室现场的采集板之间建立了超时和错误重发机制,其最大重发次数定义为5次,图4为实时运行画面。
图4 为实时运行画面
本文在总结以往国内进行的温室智能控制研究工作的基础上,针对我国蔬菜温室生产中使用量较大、未来愈将占生产主导地位的连栋塑料温室,提出了基于远程服务器和分布式智能测控系统相结合的架构方案,在PC和ARM平台上,构建一种低成本、智能化的全自动温室环境控制系统。将存储大量现场经验和知识的温室专家数据库应用于系统控制,保证了系统的实用性和针对性;采用轻量级数据库对温室多项数据进行存储和管理,保证系统可靠高效地运行。目前,该系统在上海某示范温室中稳定运行,实现了系统设计目标,为我国设施温室真正实现智能化和产业化探索了一条新途径。
[1]毛罕平.设施农业的现状与发展[J].农业装备技术,2007,33(5):6-11.
[2]申茂向,何革华,张平.荷兰设施农业的考察与中国工厂化农业建设的思考[J].农业工程学报,2000,16(5):1 -7.
[3]李善军,张衍林.温室环境自动控制技术研究应用现状及发展趋势[J].农业工程技术,2008,29(2):20 -21.
[4]齐文新.分布式智能型温室计算机控制系统的一种设计与实现[J].农业工程学报,2004,20(1):246 -247.
[5]杜尚丰,李迎霞.中国温室环境控制硬件系统研究进展[J].农业工程学报,2004,20(1):8.
[6]张保立,王俊,张发明,等.基于Qt/Embedded和Qtopia的嵌入式温室无线测控系统 GUI设计[J].电子技术,2008,46(6):2.
[7]孙磊.基于ARM Linux的嵌入式数据库 SQLite的移植开发[D].云南:昆明理工大学,2008.