王熠鑫 曾晓莉 严李强 郭龙银
摘 要:为了改善青藏高原缺氧、昼夜温差大等独特的气候环境带来的不利因素,根据生态屋的设计理念和模式,基于智能温室设计了高原生态屋,并通过将多种类传感器与管理系统相连设计了高原生态屋管理系统。该系统能根据实时监测高原生态屋内各生态因子的数值并将其控制在适合人类居住、适宜该种植物生长的最佳范围内,且可视化数据能更好地分析生态屋运转状况,同时为生态屋的大数据分析提供基础数据。
关键词:高原生态屋;生态因子;数据管理系统;物联网;数据可视化
中图分类号:TU17 文献标志码:A 文章编号:2095-2945(2019)06-0033-04
引言
为有效缓解由高原环境带来的不适,专门为生活在高原的人们及往来行人设立特殊的供给站即高原智能生态屋是非常有必要的。高原智能生态屋既可设立在进藏线路中的无人区,也可设立在长期有人居住的农牧区、户外旅游景点及军队驻扎区,为人们提供更为舒适的环境。
高原智能生态屋通常采用透明导电薄膜材料作为生态屋的外罩,为生态屋和过往人群提供电能,其内部有泡泡屋或民居为过往人群提供居住点,并同时设置生态因子控制模块、电能供给模块、供氧模块、自助售药模块、供水模块、智能化生态厕所模块等模块[1],为过往人群提供便利,改善因高原环境带来的胸闷、头晕等高原反应。
由于高原智能生态屋所处环境的特殊性,通常交通不便、信息闭塞,从而导致我们无法及时了解高原生态屋的具体信息,不能更好的管理高原生态屋,故此设计了高原生态屋生态因子数据管理系统,拟通过先进的信息化技术和手段实现高原生态屋的智能管理、数据的及时更新与远程监控。
我们利用多种传感器搭建数据传输网,并根据不同的模块和需求采取不同的数据信息获取方式,设计了生态因子数据管理系统,同时对数据进行了可视化处理,以便实现观察各生态因子之间的相互影响。另外,系统设计了不同环境因子之间的两两比较或多组比较功能,能够更容易地发现不同环境因子之间的直接影响和间接影响,为研究不同数据之间存在的关系提供便利。
1 需求分析
1.1 采集数据
高原生态屋数据采集部分包括生态因子模块、电能模块和物资补给模块。
1.1.1 生态因子模块
由于高原生态屋中最重要的是对植物生长环境的检测和植物的照料,故初步考虑两种形式内部环境的自循环功能:一是管理员定时人工检查维护,如补充养料和驱虫;二是系统自动检测植物生长的几大要素,例如环境温度、土壤湿度、光照强度、光照时长及CO2含量等。
因此,为了实现内部环境的自循环功能,首先通过多种传感器采集数据,然后利用MATLAB软件进行数据处理并寻找其规律,同时将采集的数据作为生态屋DNA算法的前期数据源进行算法更新,最后基于专业人士意见对系统和算法进行优化,最终实现高原生态屋的智能化管理[2]。
1.1.2 电能模块
高原生态屋的作用不仅可以作为旅客休息之所,也可以有效利用太阳能,其表面的透明导电薄膜可将接收到的太阳能部分转化为电能。将转化的电能收集存储起来,一部分用于生态屋自身使用,另一部分通过蓄电池蓄电后上传至电网,利用电表读取数据,设计采用串口MODBUS协议,得出转化的、使用的以及消耗的电能,进而得出生态屋的电能效率。
1.1.3 物资补给模块
高原生态屋除了产生电能和内构环境外,还能为旅客提供药品、食物和水等。这些物品通过自动售卖机进行交易,并将其物资贩卖记录利用售卖机内部程序系统把所有信息在后台记录,以便管理员调用,实时对物资管理补充。另外,对一些无法自动上传的物资信息,需管理员手工输入。
1.2 数据传送和存储
高原生态屋管理系统主要应用在两个方面,一是管理单一的生态屋[3],二是作为最底层传感器与上层服务器之间的数据中转站,这方面最需要的是处理传感器与服务器之间的连接功能。
在数据录入方面设置两个功能模块,首先,设置手动输入数据的功能;其次,组建传感器数据网络解决采集底层数据。
在通过传感器数据网络采集底层数据时,为尽量实现系统的最优化和最小代价,对于不同模块采用不同的数据传输方式。例如,生态因子模块通过各类传感器收集数据信息,并利用ZigBee组件对数据进行打包[4],再通过Jennet协议[5]利用IP地址和自组网实现对端点的访问和操作;而电能模块则根据MODBUS协议获取电表数据信息并得出生态屋的电能效率,同时电能存储部分通过检测电池储能情况获取电池数据信息;此外,物资补给模块则将自动贩卖机数据信息进行处理、存储并上传至上层服务器。
1.3 用户功能
高原生态屋生态因子数据管理系统的使用者有超级管理员也称开发者、总管理员、普通管理员三种。他们拥有不同的权限和安全性控制,所以在权限设置方面,各角色分别使用自己的成员名和密码进入自己能使用权限范围界面。超级管理员拥有对本系统进行维修、保護以及升级的职能;总管理员作为一个生态屋的一把手,是一个生态屋的支柱,其能修改、删除整个生态屋内生态因子的所有数据,同时,也关注普通管理员的日常记录,避免问题的发生;普通管理员是一个生态屋的管家,其使得生态屋的数据能正常有序的录入、查询。普通管理员能及时根据生态屋内生态因子数据对生态屋进行管理,其系统功能如表1所示。
1.4 可视化数据
高原生态屋是一个实时变化的自循环系统,为了能够准确而又及时的分析和为生态屋的下一步做决定,可视化是一个必要而又高效的途径[7]。而我们主要采用R语言实现数据可视化,利用统计学习算法和神经网络算法的工具进行统计计算和统计制图,从而对生态因子进行一些简单的统计分析,例如方差分析、功效分析等。
1.5 更新要求
数据更新采用MySQL数据库的自动更新和超级管理员远程更新两种方式实时录入存储,并每日上传一次服务器。自动更新则通过上层服务器存储的系统版本信息来主动更新数据,当管理员登录系统并连接服务器时,就会自动获取版本信息;远程更新则需超级管理员将更新后的安装包发送到各个生态屋,进行更新后再利用服务器检查系统是否完整正常。
2 整体架构
2.1 系统设计
2.1.1 数据库模块
数据库模块包括基本表、视图、索引、存储过程的创建以及各个基本表中插入的数据。其中视图、索引和存储过程的创建,是为了方便用户使用本高原生态屋生态因子数据管理系统。
2.1.2 系统界面模块
系统界面模块包括登录界面、超级管理员界面、总管理员界面和普通管理员界面。登录界面主要有登陆功能,超级管理员界面主要有维护、升级系统的功能,总管理员界面主要有修改、删除和批量处理的功能,普通管理员界面主要有录入、查询的功能。
2.1.3 界面与数据库连接模块
界面与数据库连接模块有下载驱动、设置数据库服务和安全、通过JDBC把界面与数据库连接起来三个部分。该模块在数据库模块和系统界面模块之间起到了桥梁的作用[7]。
2.1.4 功能设计
高原生态屋生态因子数据管理系统基于业务流程而设计,将流程控制与业务管理分离,以流程控制为核心,主要分为五个层次:
系统顶端是门户层,提供管理员和开发者两个登录界面。普通管理员和总管理员的功能有限,操作简单,从个人门户登录;功能复杂的开发者从开发者界面登录。根据实际工作情况,使用者分别从不同界面登录,进入相应界面。
第二层是权限层,用于对登录者进行身份识别、用户管理以及权限控制,其中,权限控制主要涉及权限管理,比如普通管理员没有删除数据的功能等。
第三层是流程层,主要包括流程管理和流程监控两部分,流程管理模块通过解析流程定义,根据不同信息,分析流程当前节点状态,调用业务层相应模块进行处理,并引导流程正常运行。流程监控模块用于实时获取流程进展情况,服务于查询、统计报表等功能[8]。
第四层是业务层,分为更改个人信息、可视化分析、日程总结、电能查询、生态因子查询、物资查询几个功能模块,处理系统的具体业务操作。其中,更改个人信息涉及角色最多,涵盖功能广泛;可视化分析主要是分析生态屋内生态因子模块内各因子数据;日程总结是使用者即普通管理员、总管理员、开发者登录后对所做工作及感想的记录;电能查询、生态因子查询及物资查询这三个模块的功能主要是对其因子进行数据查询。
最底层是数据层,生态屋内生态因子、电能及物资模块等信息的数据存储在数据库中,系统运行中其信息录入者的个人信息通过数据中心的方式与其他系统交互获得[9]。系统架构如图1所示。
2.2 软件设计
高原生态屋生态因子数据管理系统有三个模块:数据库模块、系统界面模块、界面与数据库连接模块。
2.2.1 数据库设计
高原生态屋管理系统主要涉及到6个表,即:普通管理员用户信息表、总管理员用户信息表、开发者用户信息表、生态因子模块表、电能模块表、物资补给表。总数据库结构如图2所示。
2.2.2 可视化设计
高原生态屋管理系统的可视化设计,着重考虑用户的交互性和数据直观化这两点。可视化流程如图3所示。
交互性:管理员们可以选择不同的模块和不同时段进行查询分析,模块分为生态因子、电能和物资补给三个部分;时段分为日周月年四个不同的时间段[10]。
数据直观化:在数据库调取数据信息后,针对生态因子模块,我们采取二维散点图(只表示日时间段的数据变化)和动态三维散点图(周月年),第一第二维是生态因子计量单位和时间,其定义按照管理员需求做出调整,而生态因子的第三维植物生长状况维度保持不变[11],在-1和1之间,其中1为极好,-1为极差,而生长状态只由管理员定期检查时录入。针对电能模块和物资补给模块,本系统采取折线和饼状图,用以简单的而有直观的表示电量的变化和各部分的百分比。
3 数据传输与服务
3.1 因子数据分析
利用高原生态屋生态因子数据管理系统,通过对其温度、光照强度、湿度环境因子数据的收集与分析[12],将得到不同环境因子之间的直接影响与间接影响,为自我进化算法(“DNA算法”)奠定基础,建立有助于植物自我进化的数据库,部分数据如表2所示。
3.2 因子数据传输
Zigbee协议分为两部分,IEEE 802.15.4定义了PHY(物理层)和MAC(介质访问层)技术规范;Zigbee联盟定义了NWK(网络层)、APS(应用程序支持层)、APL(应用层)技术规范[13]。Zigbee协议栈将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供API(应用层),用户可以直接调用。在eclipse加载相应的jar包,引入接口SerialPortEventListener,連接正确的端口,便可以接收数据。
3.3 联网模块
服务器框架采取的是:JAVA的SpringMVC+Mybatis +MySQL[14],将高原生态屋管理系统连接网络后,通过客户端连接服务器端的IP地址和端口号,并遵循TCP/IP协议,构建socket通信,sever端将接收请求和参数,最后通过访问client客户端的数据库,实现资料上传,其通信过程如图4所示。
3.4 界面设计与功能实现
使用JAVA语言开发系统的界面,通过JDBC把系统界面与MySQL5.0建立的数据库联系起来[15]。系统根据不同的操作从数据库中查询数据或输入数据,从而实现系统管理。
管理员界面以普通管理员界面为例,该界面的主要功能是录入、查询各模块的数据信息及存储普通管理员基本信息。普通管理员添加修改以后,其个人信息及工作记录会存储到这张表中。
数据可视化模块以二维散点图为例,在数据库调取数据信息后,针对生态因子模块,采取二维散点图(只表示日时段的数据变化),可使数据直观化。
4 结束语
此项目能高效的储存和管理海量的高原生态屋中各环境因子的数据,对高原环境下的高原生态屋有着巨大的作用。切实保证了高原生态屋能够科学化运行,为未来智能化、信息化管理生态屋奠定基礎。
参考文献:
[1]杨玉,严李强,李林峰,等.基于智能温室的高原宿主细胞屋设计[J].物联网技术,2018,01:026.
[2]陈霜洲,李美华.智能化居家养老模式的开发与推广使用[J].社区心理学研究,2017,01(3):86-100.
[3]郭雅楠,余嘉玲,周景博,等.新时期中国生态补偿的理论与政策创新思考[J].政策解读,2018,06:001.
[4]鞠传香,吴志勇.基于ZigBee技术的温室大棚智能监控系统[J].江苏农业科学,2013,41(12):405-407.
[5]于曼华.基于WSN的梅花鹿数字化养殖系统的研究与应用[D].长春:吉林农业大学,2016.
[6]宋绍成.智能企业猛虎构架研究[D].长春:吉林大学,2016.
[7]朱鹏.农村智能信息服务系统构建及关键技术研究[D].南京:南京大学,2011.
[8]王建,陈兰生,赖其涛,等.大数据背景下的智能化农业设施系统设计[J].中国农机化学报,2016,11(37):180-184.
[9]姚一青.藏品管理信息化研究[D].上海:复旦大学,2014.
[10]巫涛.长沙城市绿地景观格局及其生态服务功能价值研究[D].长沙:中南林业科技大学,2012.
[11]何志明.智能高速公路综合管理平台设计[D].广州:华南理工大学,2011.
[12]李兴泽,王福平.基于物联网的农业大棚智能管控系统[J].江苏农业科学,2018,41(1):181-183.
[13]张叶茂.基于无线传感网的蔬菜基地环境监控系统[J].江苏农业学,2017,45(24):213-216,221.
[14]王加加.基于aop的安全信息收集与统计系统的设计与实现[D].西安:西安电子大学,2011.
[15]向键.基于数据分析的生鲜超市业务系统的设计与实现[D].长春:吉林大学,2017.