胡 伟
(黄山学院 信息工程学院,安徽 黄山245041)
智能农业是农业现代化发展的必然趋势,其主要内容是将信息化技术应用于农业中,可以精确地对即时信息进行采集、反馈和分析,并通过信息化技术完成农业操作和系统管理。智能农业主要涉及的信息化技术包括:嵌入式系统技术、智能物联网技术、大数据技术和云计算技术等方面[1]。近十几年以来,欧美一些发达国家在农业信息化的应用实践方面,相继开展了农业领域的物联网应用示范研究。在农业生产、农产品流通和资源利用等领域实现人与物、物与物之间的信息交互。通过实践与推广精细化农业,形成了众多优质的产业化应用模式,推动了现代化农业的产业化发展[2]。
我国作为一个传统的农业大国,目前正处于一个从传统农业模式向现代化农业模式转型的重要时期。在“互联网+”的大形式下,为全面实现现代化农业体系的转变,智能物联网技术、嵌入式系统技术和云计算大数据技术等高新技术的应用将为我国农业从传统农业转型到现代化农业的发展过程提供一个全新的技术平台[2]。
基于物联网的农田远程监控系统,是利用物联网技术、传感器技术、嵌入式系统技术和软硬件协同设计技术进行开发,实现对设备周边农田进行实时监控和有效控制[3]。平台包括数据采集监测平台、无线传感网络平台和远程管理服务平台。通过对田间环境状况的监测和分析,掌握好农作物的生长状况,同时还可以做好农作物病虫害防治等方面的预警。
基于物联网的农田远程监控系统架构可以分为3个层次,即感知层、传输层和应用层[4]。图1所示为基于物联网的农田远程监控系统架构图。
图1 基于物联网的农田远程监控系统架构图
1.感知层处于整个系统架构中的最底层,由各种传感器组成,功能单一。感知层利用传感器技术采集包括环境温度、湿度、大气压、农作物病虫害即时监测数据和水质情况等信息,将其整合以后向传输层传送。
2.传输层根据功能可划分为网络子层和网间融入子层两部分。网络子层的功能是完成数据传输的任务,该层技术可借鉴传统网络的现有成熟技术。此外,无线网络技术将是网络子层未来发展的趋势。网间融入子层位于感知层与网络子层之间,主要负责两者间的连接关系。
3.应用层通常由应用服务子层、业务逻辑子层和用户界面子层组成。应用服务子层分两个模块,分别解决网络通信和信息存储问题,可作为系统功能拓展开发中的共享部分。逻辑子层基于灵活性的需求采用模块化设计,能提高系统的可重用性,是整个系统的核心部分。用户界面子层是人机交互接口,位于整个系统的最高层[4]。
软硬件协同设计是嵌入式系统设计开发中的重要技术之一,即在整个系统及定义的基础上,对软件和硬件进行同时的协调和设计。其中包括软硬件划分(即哪部分功能使用硬件实现,哪部分功能使用软件完成),软件系统和硬件系统的具体开发以及联合的调试[5,6]。软硬件协同设计要求在设计过程的初期就将软件系统与硬件系统两方面结合在一起考虑,以达到灵活地设计系统和有效地分配系统功能。软硬件协同设计对分布式实时嵌入式系统的设计研究有着巨大的优势,能达到最高效的设计[6,7]。
本设计的目标是实现一个能够将远程监控、数据采集、远端控制和语音控制融为一体的农田远程监控系统,该系统需要具备以下功能。
1.传感器数据采集功能。本系统主要包括有温度、湿度、气压、海拔和气体浓度等数据采集功能。
2.视频监控和照片采集功能。系统的远程控制端能够实时采集远程视频监控数据,并且能定时采集照片数据传回远程控制端以便进行分析决策。
3.喷撒设备的控制功能。系统的野外嵌入式设备上安装有能够喷撒水或药物的小型机械设备,需要设计控制该装置工作的控制器。
4.定时器功能。系统的野外嵌入式设备需要有计时功能,一方面是为了控制喷撒装置的定时工作,另一方面是对系统的同步工作进行计时。
5.网络传输功能。系统的野外嵌入式设备采集的数据需要传回到本地端,因此要在野外设备上设计网络功能模块(包括短距离传输的蓝牙模块和远距离传输的4G/5G模块)。
6.本地端的远程控制功能。为了方便远程操控,系统开发控制端程序来实现远程控制野外嵌入式设备,获取实时信息。
7.语音识别功能。系统具有远程控制端的语音识别功能,实现智能化的操控。
系统的功能需求确定以后,设计进入确定系统如何实现的阶段,此时用到软硬件划分方法来调度软件模块和硬件模块如何实现。软硬件划分是一个模块映射的过程,即将系统子功能映射成由μCPU实现或由各种IP模块实现。软硬件划分的优劣取决于划分结果在满足系统约束条件的前提下,如何将成本降到最低。因此,软硬件划分问题属于系统优化问题,通过软硬件划分获得一个最优化的系统结构。软硬件划分的方法主要包括:AADL方法、线性规划(Linear Programming)和聚类的方法。本项目采用AADL方法实现系统的软硬件划分。图2是基于物联网的农田远程监控系统的软硬件划分图。
图2 农田远程监控系统的软硬件划分图
系统设计的第一步是建立起系统的抽象模型,运用面向对象的方法,对问题域和系统职责进行分析和理解,找出描述问题域和系统职责所需的对象,定义属性及其之间的关系,为具体的系统设计奠定基础。运用于嵌入式系统设计的建模方法主要有两种:基于统一建模语言UML的系统建模方法和基于系统建模语言SysML的系统建模方法[8]。本设计采用基于SysML1.1的系统建模方法进行建模,具体建模工具采用Enterprise Architect软件,实现了用例图、模块定义图、类图和序列图等建模图的绘制。
的用对例象模,型定依义据属用性户及需其求之来间描的述关系系,统为,指具明体系的统应系该统“设做计什奠么定”基。础用。例运图用可于以嵌显入示式各系种统类设型计的的元建素和模关方系法,主以要说两明种系:统基提于供统的一服建务模信语息言以U及M需L要的服系务的统对建象模的方信法息和。基用于例系图统是建进模语行言需求Sy分sM析L和的建系立统功能模型的强有力工具,它反映的是用例、参与对象和它们之间的泛化关系。如图3所示的是采用En⁃terprise Architect软件绘制的农田远程监控系统用例图。
图3 农田远程监控系统用例图
SysML建模中最常见一种图就是模块定义图(BDD)。模块定义图用于显示不同类型的模型元素及它们之间的关系。系统建模通过绘制模块定义图来说明系统的结构。模块定义图中的模型元素包括:模块、执行者、约束模块、流说明、接口和值类型等。关联、依赖和泛化等关系是模型元素之间的结构关系。如图4所示的是野外传感节点的模块定义图。
图4 野外传感节点模块定义图
类图是从静态角度建立的一种模型图,描述的是系统中类与类之间的关系。在系统分析阶段,类图主要研究领域概念,描述角色和行为实体的具体职责;在系统设计阶段,类图主要描述类与类之间的接口关系;在系统编码阶段,类图描述软件系统中类实现的依据。类图是构建其他图的基础,没有类图,就无法表示系统的其他各个方面。图5所示的是本地控制端程序的类图。
图5 本地控制端程序类图
序列图是用来描述系统动态行为的一种SysML图,在系统生命周期的前期使用。生命线是序列图中的一种元素,代表交互过程的参与者之间的交互关系。利用生命线和生命线之间的消息为系统动态行为的参与者及参与者之间的交互过程实现交互建模。图6是智能农业远程控制系统的操作序列图,通过图示的生命线及约束将各个模块子系统之间的交互操作描述清楚,可以避免系统开发中陷入逻辑错误。
图6 系统操作序列图
系统硬件平台主要由两部分组成:野外传感节点和本地控制端硬件。其中野外传感节点是通过基于ARM单片机的嵌入式硬件平台设计。本地控制端的硬件平台包括电脑端和手机端两种方式。
野外传感节点由基于ARM单片机的最小系统、太阳能电池供电模块、温/湿度传感器、大气压传感器、蓝牙模块、4G/5G模块、高清摄像头和喷撒设备等组成[9],其硬件组成如图7所示。本地控制端硬件平台由网络模块、显示模块和存储模块组成。
图7 野外传感节点模块硬件组成图
系统的主要软件平台包括野外传感节点软件平台设计和本地控制端软件平台设计两部分。野外传感节点软件平台设计的主要工作任务是控制喷撒设备进行定时喷撒或远端控制喷撒操作,数据采集工作由对应传感器完成,利用无线传感网结合4G/5G网络将数据发送到服务器端。节点开发的主要任务为节点设备的驱动程序开发和4G/5G模块的驱动程序开发。野外传感节点的工作流程如图8所示。
图8 野外传感节点的软件工作流程图
本地控制程序软件平台设计的主要工作任务是进行用户权限管理,查询传感器采集的数据,并可以手动控制喷撒操作等功能。
本文使用软硬件协同设计的方法进行系统设计,运用基于SysML的系统建模方式进行系统建模,完成了一个基于物联网的农田远程监控系统的开发和设计。这样的开发方式能够大大缩短设计周期,提高设计的灵活性。同时,系统的开发成本特别是野外传感节点嵌入式设备的设计成本也得到降低,系统具备很强的普适性。