APP下载

基于物联网架构的农业监控系统模块化设计

2017-09-29张志杰

软件导刊 2017年9期
关键词:智能监控系统架构模块化设计

张志杰

摘 要:视频监控系统及其应用是农业物联网中的重要研究方向之一。使用传统监控器材的系统,在复杂农业环境下,针对不同工作状态进行调整较为困难,增添新的功能比较费时费力。因此,引入软件应用框架以及模块化设计对其加以改进。其中,软件框架采用分层、分块的应用架构,通过层次进行系统功能的划分,通过分块进行模块功能的集中。模块化设计采用功能相对独立、接口标准统一的设计。提出一个基于物联网架构的模块化监控解决方案,经实践检测,该方案具有简单、快速、高效、易于二次开发等优点。

关键词:物联网;智能监控;系统架构;模块化设计

DOI:10.11907/rjdk.171391

中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2017)009-0114-03

Abstract:Large-scale monitoring system and its application is one of the important problems in agricultural monitoring and control network. The traditional equipment monitoring system, for complex environments under different working conditions, hard to adjust, hard to add new features, and the adjustment for system need is time-consuming. Therefore, the paper introduce that the method of modular design and the application frame to improve the effectiveness of surveillance system. In this system, the functions were divided by level, the modules were divided according to respective features, and some similar functionally modules were putted in one of same block. The modular were designed by function in independent style,and the interface were designed in same unified standard. This paper presents and implements a modular monitoring solution based on the Internet of Things technology. The method was tested by practice and the result was efficient and easy to deployed.

Key Words:internet of things; intelligent monitoring; system architecture; modular design

0 引言

农业物联网(Agricultural Internet of things)涉及的内容较多,例如:农产品溯源系统、农业智能监控系统、农业自动化控制系统、农产品物流系统、农业管理信息系统等。其中,农业智能监控系统(Agricultural Intelligent Monitoring System)因其获取视频信息较为简捷、方便,可对视频信息进行后台服务器算法的自动分析,能为其它相关系统(如控制系统、管理信息系统、育种系统等)提供管理、数据控制等功能,因此该系统在“物联网+农业”的应用中起着重要作用。如今的农业智能监控系統主要面临如下挑战:

(1)视频数据需要后台服务器依靠算法进行相关的视频分析、识别与判断,从而实现系统管理功能的自动化。由于农业生产对象的多样化,因而对视频识别算法提出了更高要求。例如:如何监控水下鱼类活动、如何监控区分不同个体的小动物(如小青蛙)、如何监测目标个体的行为异常等[1-2]。

(2)智能监控系统仅构成农业物联网整体系统的一部分,还需要与其它系统进行衔接,如农产品溯源系统、农产品物流系统、农业管理信息系统、病虫害防治系统、气象预警系统等,需要视频监控系统为各种不同的系统提供格式、内容、要求都迥异的数据[3-5]。

以上要求都对农业物联网中的视频监控系统带来了若干挑战,为更好地衔接不同系统、拓展应用领域,进行二次开发与大数据相关应用,需要在农业视频监控系统的架构及其数据接口上进行设计调整。

根据软件架构层次化、功能模块化、接口标准化3项原则,对现有的农业物联网监控系统的系统架构、功能模块、数据接口等进行了重新设计与调整[5-7]。该农业智能监控系统的架构及其模块化设计方案,能够拓展到很多具体应用领域,如牲畜家禽的育种与养殖、水产养殖、稀有动物与特种昆虫养殖等,均能为其提供动态跟踪监控等功能,而且部署简便,易于进行应用领域与应用方向的调整。

1 软件架构层次化

软件架构(Software Architecture)主要指设计软件系统中应用到的一系列抽象模式,即逻辑架构。其中,各个组件之间的联系及通讯是软件架构设计时考虑的最主要因素。在逻辑架构确定好之后,设计并实现各个抽象组件,并将其投入到应用中去。

软件架构有若干目标,其中比较重要的目标有:可靠性(Reliable)、安全性(Secure)、可伸缩性(Scalable)、可定制化(Customizable)、可扩展性(Extensible)、可维护性(Maintainable)与客户体验(Customer Experience)等[8]。endprint

农业视频监控系统可以借鉴的系统架构为物联网系统架构。在物联网系统架构中,通常将系统分为3层:感知层、网络层、应用层。其中,感知层主要是将获取的数据进行实际应用,如:智能识别、定位、跟踪、监控和管理等;网络层主要通过各种数据通讯网络与互联网进行融合,将采集到的物体数据实时、准确地传递出去;应用层则主要是利用摄像头、传感器、二维码、RFID等手段随时随地获取目标数据[9]。

视频监控系统应该定位于物联网系统架构之中,并进行相关的层次定位,明确应用层、网络层、感知层各自需要实现视频监控系统的哪些功能。

(1)感知层主要进行数据获取。在农业物联网中,视频监控系统主要依靠摄像头进行数据采集。随着应用领域的不断拓展,现阶段的农业监控系统还可应用于:①孵化、育种的监控,通过系统的实时反馈,可提升存活率;②在水产养殖中,监控喂食、供氧以及存活状态;③特种昆虫、稀有动物养殖中的监控,以总结、提升养殖技术。这些监控应用都对视频监控采集提出了新的要求。

感知层利用前端摄像头(不同规格:如主从—PTZ、带深度信息的摄像头组、红外夜视灯)进行数据采集,由感知器、控制器等获取控制状态信息与外部状态数据。前端总共获取4种数据:控制数据、视频数据、图像数据与其它信息数据。

(2)网络层主要实现数据的通讯功能。在农业物联网中,视频监控系统采用1 000M光纤的主干线,辅以100M网线、WiFi、蓝牙、红外等数据通讯手段,进行视频采集以及数据传输。对于前端获取的4种数据(控制数据、视频数据、图像数据与其它信息数据)进行数据通讯,将其传输给应用层,并确保其时效性与准确性。

(3)应用层实现数据的处理与显示功能。在农业物联网中,视频监控系统依靠算法与数据分析进行管理信息的筛选与获取;在数据的处理上,依靠算法实现植株数量统计、茎叶状态评估、病虫害预警等功能;在数据的显示上,依靠服务器、PC、手机、iPad等设备进行结果显示与控制命令的交互。

应用层首先对网络层传输来的数据进行预处理,然后根据算法库进行分析,得到输出结果,并将其提交给其它相关的管理信息系统,如农业溯源系统、农业物流系统、农业病虫害预警系统等。

2 功能模块化设计与实现

软件架构设计完成后,需要进行功能的模块化设计。模块化设计常用聚合和耦合衡量模块间的独立性和关联性。其中,聚合(Aggregation)是对模块功能相对强度、彼此关联度的度量,表示一个整体和部分的关系,其中整体与部分可分开设计与实现。对于聚合的设计原则是:允许功能聚合、顺序聚合、过程聚合、通信聚合,要绝对避免偶然聚合、逻辑聚合、时间聚合。一个好的内聚模块描述的是模块内的功能联系[10-11]。

耦合是对一个软件结构内不同模块之间关联程度的度量。模块之间的数据耦合指如果模块通过参数交换信息,而且仅仅交换数据信息,这种耦合则是数据耦合。对于耦合,设计原则是:要尽量使用数据耦合,限制控制耦合、公共耦合,对内容耦合则要绝对避免。

該农业物联网中的视频监控系统主要需实现以下功能:视频数据采集、数据通讯、数据预处理、数据分析、分析结果输出或者作为其它系统的输入。因此,该系统架构主要进行功能聚合,利用数据耦合,进行不同模块之间的功能调用,藉此实现系统功能。其中,主要形成4种业务数据流:控制数据流、视频数据流、图像数据流与其它数据信息流。该4种业务数据流是进行模块划分的相对依据。

3 数据接口标准化

接口(Interface)是一系列操作的集合,在该系统架构中,强调的是模块之间进行的数据交换操作。由于在该系统架构中,软件模块之间均优先采用数据耦合,也即是说,该系统架构中不同模块之间的访问,是通过数据交换实现输入、输出信息的获取。因此,为了拓展模块应用范围、进行二次开发以及与其它系统之间的集成,尤其是为适应未来的技术发展趋势,需要进行数据接口的标准化[12]。

数据接口标准化首先需要明确数据类型。在农业物联网视频监控系统中,有效的数据类型主要包括图像、视频以及其它传感器数据与控制器状态数据。作为数据接口标准化内容之一,首先需要统一图像大小、图像类型、视频帧数、色彩模型、数据格式、数据长度、数据实时性等内容。

很明显,不可能所有设备都是同一参数,对于不同的视频参数,需要根据效果进行对比实验。高参数的设备采集的视频信息需要进行预处理,以达到统一标准。对于达不到参数要求的设备,可结合金字塔法等进行预处理。标准统一后,数据的通讯速度、数据后期处理速度,以及处理精度都得到了明显改进。

其中,统一视频处理输出后的数据格式,是标准化的重点内容。视频监控系统采集视频信息,然后交后台服务器进行视频信息处理,其处理结果(系统输出)是应用层其它系统均需要的系统输入,因此需要进一步规范视频监控系统处理后的数据格式。

对视频监控系统处理后的数据,可采用视频、图像与文本/XML等结合的方式。其中,对于视频,需要规范每秒多少帧、每一帧的宽高、色彩模型、ROI位置及长宽等;对于图像,需要规范宽高、色彩模型、ROI位置及长宽等。这里的参数应该与视频参数完全吻合,只是视频参数多于图像参数;对于文本/XML,需要对视频、图像进行编号,对应编号保留所有视频、图像处理后的相关信息。

由于视频处理算法设计上的灵活性,因此对于同一视频/图像,采用不同算法则可得到不同输出,并与不同参数需求的新设备进行数据通讯,从而比较好地解决了系统的二次开发问题。同时,数据接口标准化使该系统架构中集成其它设备或系统时,数据的输入与输出问题可得到较好的解决。

4 结语

视频监控系统及其应用是农业物联网中的重要问题之一。使用传统的系统架构,对于复杂环境下的不同工作状态,适应性较差,增添新的功能费时费力,系统调整较为困难。因此,引入模块化设计以及软件应用框架结构对其加以改进,是一种较好的解决方案。采用该解决方案,能够在一定程度上解决原有系统架构适应性差、调整困难的缺陷,有助于提高系统稳定性,易于进行二次开发。endprint

参考文献:

[1] 何东健,孟凡昌,赵凯旋,等.基于视频分析的犊牛基本行为识别[J].农业机械学报,2016,47(9):294-300.

[2] 李新乐,李书琴,蔚继承,等.基于自定义协议的农业异构视频系统集成研究[J].计算机工程与设计,2014,35(5):1727-1731.

[3] 郭艳光,郝拉柱,鲁晓波.视频图像中目标轮廓的提取算法研究[J].内蒙古农业大学学报:自然科学版,2011,32(1):241-244.

[4] 邓汉阳,赵东,郑嫦娥.基于OpenCV的大叶黄杨叶片特征视频图像检测[J].广东农业科学,2014,41(4):173-175.

[5] 徐义鑫,李凤菊,王建春,等.基于OpenCV的Android手机植物叶片几何参数测量系统[J].中国农学通报,2015,31(35):236-244.

[6] GUBBI J, BUYYA R, MARUSIC S, et al. Internet of things (IoT): a vision, architectural elements, and future directions[J]. Future Generation Computer Systems,2012,29(7):1645-1660.

[7] VISCONTI P, CAVALERA G. Intelligent system for monitoring and control of photovoltaic plants and for optimization of solar energy production[C]. International Conference on Environment and Electrical Engineering. IEEE,2015:1933-1938.

[8] HU P. A System architecture for software-defined industrial internet of things[C]. International Conference on Ubiquitous Wireless Broadband. IEEE,2015:1-5.

[9] KOVACSHAZY T, WACHA G, DABOCZI T, et al. System architecture for internet of things with the extensive use of embedded virtualization[C]. IEEE International Conference on Cognitive Infocommunications,2014:549-554.

[10] SICARI S, CAPPIELLO C, PELLEGRINI F D, et al. A security-and quality-aware system architecture for internet of things[J]. Information Systems Frontiers,2016,18(4):665-677.

[11] ZHOU L, CHAO H C. Multimedia traffic security architecture for the internet of things[J]. Network IEEE,2011,25(3):35-40.

[12] TSAI C W, LAI C F, VASILAKOS A V. Future internet of things: open issues and challenges[J]. Wireless Networks,2014,20(8):2201-2217.

(責任编辑:黄 健)endprint

猜你喜欢

智能监控系统架构模块化设计
汽车装配工艺模块化设计研究