基于物联网的微型植物工厂智能监控系统设计

2019-05-27 08:56左志宇毛罕平卓敏敏胡胜尧唐学平张文忠
农机化研究 2019年11期
关键词:组件界面工厂

左志宇,谭 洁,毛罕平,卓敏敏,胡胜尧,唐学平,张文忠,赵 常

(1.江苏大学 现代农业装备与技术教育部重点实验室,江苏 镇江 212013;2.江苏白雪电器股份有限公司,江苏 苏州 215500)

0 引言

近年来,由于我国可耕地面积减少、自然灾害频发的现状,使得传统农业已经不符合我国农业发展需求,需要向现代化农业转型,设施农业是我国现代农业发展的一个趋势[1]。

植物工厂作为设施农业发展最高阶段的产物,具有受自然条件影响小、无污染、自动化程度高及作物生长周期可调控等优点,指引着未来世界农业的发展方向[2-4]。密闭的植物工厂使用人工合成光替代自然日光,同时可以通过对其内部环境的合理精确控制,为作物提供理想的生长环境[5-7]。随着人们生活品质的不断提高,绿色、便捷的家庭用微型植物工厂应运而生。微型植物工厂与大型植物工厂相比,缩小了空间,简化了结构,便于家庭使用,具有微型化、智能化的特点。

本文将物联网技术同互联网、移动终端和智能控制结合起来[8-12],基于Android和J2EE平台,设计了一种基于物联网的微型植物工厂智能监控系统,实现用户不在家时依然可以通过手机、电脑,或将其托管给服务器,远程管理微型植物工厂,很大程度上缓解了城市居民缺乏时间或经验管理微型植物工厂的问题。

1 整体方案设计

基于物联网的微型植物工厂智能监控系统总体架构分为感知层、传输层和网络层等3层,如图1所示。工作原理:感知层实现对本地微型植物工厂的信息获取,主要通过相应的传感器采集微型植物工厂内的环境参数信息及作物生长信息;获取到的数据经由网络层(Internet)传输至云服务器平台集中处理,基于应用层的具体功能设计各类终端应用软件,便于用户、专家、系统管理员等不同身份的使用者远程管理微型植物工厂。

图1 系统整体方案示意图Fig.1 System overall scheme diagram

系统整体设计分为数据采集模块、执行机构模块、主控制器、云服务器、Web端智能监控管理系统(以下简称Web端应用软件)和Android端应用软件等6个部分,如图2所示。数据采集模块包括温湿度传感器、液位传感器和图像传感器。温湿度传感器选用AM2302数字温湿度传感器,液位传感器采用侧装式浮球开关,图像传感器采用OV2640芯片对微型植物工厂内部的植株生长情况进行记录;执行机构模块包括降温设备、加热设备、内空气循环设备、营养液循环设备以及补光设备等;主控制器选用STM32F407VGT6单片机;服务器选用可以弹性配置的阿里云服务器;Web智能监控管理系统基于J2EE平台开发,主要完成同服务器间的数据交互,提供友好的界面供专家和用户进行相应操作,以及便于系统操作员管理系统内的所有微型植物工厂和不同角色使用者之间的信息共享;手机端应用软件基于Android系统开发,完成同服务器之间的数据交互。

图2 系统总体设计图Fig.2 Functional design diagram of the system

2 Android客户端应用软件设计

2.1 软件架构

Android是Google开发的基于Linux平台的开源手机操作系统,包括操作系统、用户界面和应用程序,在Eclipse集成开发环境下进行应用软件的开发。Android应用软件分为实时监控、参数设置、历史数据查看、服务器托管和专家托管5个模块。采用Android Java开发,利用自身数据库SQLite实现数据存储,并结合SOCKET通信方式完成网络通信,最终编译运行生成APK文件,在使用Android操作系统的手机上直接安装运行。

2.2 软件开发环境

Android手机客户端开发系统采用Android SDK+JAVA JDK6 + Eclipse搭建,云服务器可同时与多个手机移动端通信,并为每个移动端配置通信参数,包括1个IP地址和端口号,用户登录系统后通过获取当前微型植物工厂的通信参数,并连接至云服务器。

2.3 界面设计

Android客户端应用软件采用xml语言完成界面设计,本系统主要包含登录界面,主功能界面,参数设置界面以及微型植物工厂的主控制界面等。1号微型植物工厂的Android客户端应用软件界面如图3所示。该控制界面通过与服务器连接将微信植物工厂的实时工作状态显示在该界面上,如显示实时温度、湿度、生长灯亮灭情况、当前批次的种植蔬菜名称,以及微型植物工厂的托管状态等信息。

图3 Android客户端应用软件界面Fig.3 Interface of Android client software

Android客户端应用软件主要包含6个Activity,不同Activity之间通过Intent中间件进行通信以及变量的数据传递。界面属性以及界面上控件的属性、权限在配置文件manifest.xml中定义。

3 Web端智能监控管理系统设计

考虑到B/S架构用户体验良好且适用于广域网的特点,本系统采用B/S架构将服务端与客户端分离,客户端仅需借助浏览器,便可以通过网络直接访问数据。

3.1 系统架构

根据微型植物工厂Web端应用软件的实际需求,采用3层架构,架构的各部分组成如图4所示。第1层:人机接口层,作为用户、专家、管理员及不同角色人员进入软件的功能接口,接收系统访问者的输入输出请求,在网站前端显示Web服务器的执行结果。第2层:各功能部件内部接口层,是连接数据访问层和表示层的桥梁,将软件组件化实现不同的业务。第3层:数据库访问层,为人机接口层和各功能部件内部接口层提供数据服务,主要实现对后台数据库的管理功能。

图4 智能监控管理系统功能图Fig.4 Functional diagram of the intelligent micro plant factory system

3.1.1 人机接口层界面设计

人机接口层为3层架构中的第1层,提供人机交互界面。Web端界面使用HTML5+CSS3+JavaScript开发,使用Node.js作为JavaScript运行环境。微型植物工厂智能化监控与管理系统主要包括以下几个重要界面:用户注册与登录、设备查看、手动控制、参数设置、历史数据查看及托管服务器等。由于本系统功能界面多且各功能界面中的表单子元素较多,采用Vue.js渐进式框架的自顶向上增量开发的设计,通过简单的API实现响应的数据绑定和组合,并采用其组件功能来制作各功能界面的表单,扩展HTML元素,封装可重用的代码。

3.1.2 功能部件接口层设计

接口层的设计需要结合微型植物工厂Web端应用软件各部分的主要功能,从而建立不同业务逻辑对应的组件,主要包括用户管理组件、设备管理组件、批次管理组件、实时监控组件、参数设置组件、手动控制组件、托管服务器内嵌组件,以及历史数据查询组件等。

3.1.3 数据库中关键数据表设计

本文采用关系型数据库MySQL建立服务器端数据库,并选择可视化软件MySQL-Front管理数据库。微型植物工厂Web端智能监控管理系统具有数据量多、类型丰富、数据相互之间关系复杂的特点,因此设计合理的数据库是本系统开发的关键。根据对系统实际应用的需求分析,创建名为weifactory的数据库,共含有57张数据表。其中,涉及主要功能实现的数据表包括t-user表、t-device表、t-hand-control表、t-param-set表、t-batch表和s-param-set表。

在t-user表中存放用户的基本信息,如用户名、密码、手机号及微信账号等;在t-device表中存放所有在线的微型植物工厂的基本信息,如序列号、用户及型号等;在t-hand-control表中存储手动操作指令的相关信息,如换新风、施营养液、开营养液消毒灯管、开空气消毒灯管、排营养液及开生长灯等;在t-param-set表中存放自动运行模式下的参数设置信息,如白天开始时间、白天结束时间、晚上开始时间、晚上结束时间、白天光照时长、白天光照间隔、白天温度及晚上温度等;在t-batch表中存储具体某一台微型植物工厂的种植批次信息,如作物类型、批次生成时间、温度、湿度及生长灯亮灭情况等;在s-param-set表中存储微型植物工厂在托管给服务器管理状态下的默认参数设置信息,数据表中的具体字段同t-param-set表。

3.2 通信协议制定

Web端应用软件实现对系统内微型植物工厂环境参数的远程采集及控制功能。为了确保数据传输功能的有效实现,通过标记的方式对传输信息加以区分。数据通信协议采用如下格式:ZWGC#数据长长度#功能标识码#指令编号#数据#时间戳$,数据协议中通过“#”对不同字段进行分隔,没有数据的字段补0,并且协议以“$”结尾。功能模块和指令码对应关系如表1所示。如ZWGC#00000001#0001#101#1#20170315080856$的含义为对目标微型植物工厂执行手动控制功能,并打开其第1层的空气循环开关,服务器执行当前操作的时间为2017年3月15日8点8分56秒。

表1 功能模块和指令码对应关系Table1 Functional module and command code correspondence

3.3 软件整体开发与部署

3.3.1 软件开发环境

Web端应用软件是运用Eclipse使用Java语言开发的,在完成软件开发以后,需要将网站发送到Tomcat服务器。网站的发布过程:

1)下载Tomcat到服务器硬盘的某具体路径下,再在Eclipse中配置好Server运行环境,添加Tomcat服务器的本地安装路径;

2)在Eclipse中启动Tomcat服务器,并运行Web端应用软件的系统程序;

3)用户使用浏览器访问微型植物工厂Web端智能监控管理系统运行发布的网页链接,直接访问系统。

3.3.2 软件部署环境

采用阿里云端服务器实现Web端智能监控管理系统软件的部署。根据系统访问量需求,CPU选择2核4GB内存配置,操作系统为64位CentOS V6.8,系统盘为40GB,通过付费方式购买弹性的云端服务器配置。

3.3.3 软件部署流程

软件部分部署在CentOS V6.8 Linux服务器上。在操作系统上同时运行Web服务、反向代理服务和数据库服务,分别使用Tomcat服务器和MySQL数据库服务器。在完成基础通信组件的部署后,再依次完成Web前端组件的部署和图片传输功能组件的部署,最后完成核心Web项目的部署。

4 系统应用试验

4.1 试验目的

为了验证基于物联网的微型植物工厂智能监控系统的功能,在江苏大学和江苏白雪电器股份有限公司联合研制的微型植物工厂中进行生菜种植试验。

4.2 试验设计

试验于2018年3-5月进行,种植作物为生菜,生菜种子经低温催芽后在育苗室中育苗。待生菜苗长至4叶1心时,移入微型植物工厂栽培架上。营养液采用霍格兰改进配方,调整pH值在6.0±0.5范围内,循环方式采取定时供应营养液。试验中温度设置为白天25℃、夜间18℃;每栽培层光照条件相同,均为红蓝光配比为5∶1的LED生长灯,光周期设置为12h。试验中的微型植物工厂如图5所示。

4.3 Web端应用软件实现效果

基于物联网的微型植物工厂智能监控系统Web端实现了登录与注册、实时数据显示、历史数据查看、远程及时干预控制、自动运行参数设置、在线付费,以及将微型植物工厂托管给云服务器管理等功能。

试验结果表明:用户成功登录系统以后,可以远程查看对应的微型植物工厂的运行情况(见图6),用户还可以实现对微型植物工厂进行及时干预控制的功能(见图7),系统还可以实现用户查看具体某一台微型植物工厂的历史数据的功能,对某段时间历史温度数据查看,如图8所示。

图5 试验中的微型植物工厂Fig.5 The micro plant factory in experiment

图6 实时状态查看界面Fig.6 Real time state view interface for equipment

图7 手动控制界面Fig.7 Manual control interface

图8 历史温度查看界面Fig.8 Historical temperature view interface

5 结论

基于物联网技术,将本地传感器信息采集、无线传输网络、手机端应用软件和Web端应用软件相结合,开发出了一套应用于微型植物工厂的远程智能监控系统。通过该系统用户可以远程实时查看微型植物工厂状态信息,即时干预控制;查看微型植物工厂的历史环境信息,分析作物的长势与环境信息的关系,为下一批次作物种植的环境优化调控提供参考;用户缺乏时间或经验管理微型植物工厂时,可以将其托管给专家或服务器代为管理。试验结果表明:在应用试验中各功能模块工作正常,作物长势良好,系统运行稳定,操作简单方便,便于家庭使用。

猜你喜欢
组件界面工厂
无人机智能巡检在光伏电站组件诊断中的应用
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
微重力下两相控温型储液器内气液界面仿真分析
国企党委前置研究的“四个界面”
一种嵌入式软件组件更新方法的研究与实现
一种可用于潮湿界面碳纤维加固配套用底胶的研究
扁平化设计在手机界面中的发展趋势
为什么工厂的烟囱都很高?
奶酪工厂
组件软件工程的开发研究