支持多源感知数据集成的奶牛场物联网监控系统设计
2019-01-29范蓓蕾张保辉段玉林
范蓓蕾,史 云,张保辉,段玉林
(中国农业科学院农业资源与农业区划研究所/农业部农业信息技术重点实验室,北京100081)
0 引言
物联网技术推动了奶牛生产向智能化、规模化方向发展[1-2]。物联网感知终端作为真实数据的直接来源,实现了对牛舍环境、奶牛生理状况等信息的自动获取,是物联网系统建设的基础[3]。随着无线射频、传感网络、Zigbee等技术的发展,感知终端从有线传输向无线传输、单一网关向多网关、单一网络向异构网络方向发展,形成了具有不同网络协议、不同数据格式的多种感知终端产品[4-7]。感知终端具有封闭性与自治性,加上目前通信与数据格式尚无统一的标准,感知终端与其上层物联网应用系统自成体系,形成一个个信息孤岛,异构感知终端及其系统间数据共享困难[8]。
为了解决感知终端异构性造成的数据不兼容等问题,国内外学者分别从协议、网关、软件系统等角度开展相关研究工作。开放地理信息联盟(Open Geospatial Consortium,OGC)在2005年提出传感器网络整合框架以实现多源传感器的数据整合和服务[9],为了解决异构传感器接入和解析问题,IEEE1451.2标准及相应技术被提出并应用到传感器接入和协议转换中[10]。陈彦彬等采用ModBus协议开发智能网关,实现支持Zigbee、433RF、WIFI等不同通信协议的感知终端的数据接入[11]。王新等从软件实现角度,设计了一种基于TCP/IP的网管数据接口程序,通过规范化传感器上传信息和标准化入库数据,实现异构感知终端的接入和数据解析问题[12]。
在奶牛场物联网应用中,相关学者在奶牛场环境监测[13]、牛只个体监测[14]方面分别取得了诸多成果,但异构感知终端的数据集成应用研究较少[15]。文章从奶牛场感知数据监测特点出发,围绕奶牛场异构感知数据接入、解析和操作方法,探索了基于REST资源架构在奶牛场物联网系统中的应用,分别实现了面向异构感知终端数据接入和解析的虚拟网管服务接口、面向资源本体的资源描述上下文模型和统一操作接口,实现了奶牛场异构感知数据的集成应用。
1 系统架构设计
该文针对奶牛场物联网系统建设中传感终端来源多样化、协议不统一、数据不易共享等问题,基于表述性状态转移(Representational State Transfer,REST)模式设计了面向异构感知数据集成的物联网资源架构(图1),从通信层、资源层、服务层到应用层自下而上提出多源异构数据融合的技术和方法,分别研究面向多源异构感知终端的数据接入、数据集成和数据操作等关键技术。
与常见的3层物联网体系结构相比[16],REST物联网资源架构通过引入资源层和服务层,将物联网中的所有设备、协议、数据等作为资源,并通过分配唯一的URI(Uniform Resource Identifier)实现对资源的统一管理。这种框架模型通过采用HTTP、XML、HTML、URI等互联网标准协议,具有响应速率高、性能稳定、服务集成难度低等特点[17-18]。
2 多源感知数据集成关键技术
2.1 基于中间件的数据接入方法
奶牛场物联网的感知数据来源主要有3类。
(1)环境传感器采集的数据,包括牛舍内外温湿度、氨气等有害气体浓度、PM2.5、光照强度等各种环境参数。
(2)生理传感器采集的数据,包括奶牛体重、体况、温度、姿势等奶牛个体健康数据。
(3)视觉传感器采集的视频、图像等数据。
为了实现不同来源数据的统一接入和解析,基于中间件技术设计了支持异构感知终端接入的虚拟网关服务接口,并通过设备注册、联网通信和数据解析实现接口功能。
图1 基于REST的物联网资源架构模型Fig.1 The IOT resource architecture model based on REST
(1)设备注册
不同种类的感知终端通过各自的网关向虚拟网关服务接口发送数据。为了识别不同感知终端的信息,虚拟网关服务接口提供了设备注册机制,动态采集注册终端的数据和通信协议,如表1和表2所示注册信息,实现虚拟网关对异构终端的通信和解析支持。
表1 基础信息注册表Table 1 The data structure of basic information registration table
表2 注册对象关系表Table 2 The table of relationships of registration objects
(2)联网通信
为了实现物联网上层应用对底层感知设备的兼容,数据接入服务建立了不同网络通信协议的终端接入互联网的接口功能。以当前物联网感知终端主流的TCP/IP入网方式为例,通过Socket异步非阻塞多线程方式,分别开发支持TCP和UDP等不同通信协议的联网通信程序,以实现不同协议终端的数据传输。
(3)数据解析
根据虚拟网关服务中注册的设备数据协议,对接入的数据进行格式匹配并解析,以自主研发的温度传感器终端数据格式为例,将其数据协议在表中注册,其数据协议以Jason格式提供给虚拟网关服务接口,如图2所示。
图2 数据协议Jason格式Fig.2 Nodes data protocol format in Jason
虚拟网关服务接口调用Jason交换格式对通过网络接入的数据进行格式匹配和解析,从而获取设备编号、感知数据等信息。
2.2 基于本体的多源感知数据集成
奶牛场获取的感知数据是奶牛、牛床、牛舍等实体的描述,而实体之间相互联系,但这种联系是动态的,如奶牛在牛舍、挤奶厅、清洗间等不同位置停留,将使实体间的关系产生动态变化。为了描述数据与实体间、实体与实体之间存在的上下文交互关系,该文基于语义本体的知识建模方法,采用OWL(Ontology Web Language)本体描述语言和五元素知识表述法[19]建立奶牛场资源描述上下文模型,用来解决多源异构数据的集成问题。
定义奶牛场资源本体模型为:
式(1)中,Cdfr代表奶牛场资源(Dairy Farm Resources,dfr)的概念集合,Ac代表每一个概念的属性集合,Rdfr代表奶牛场资源的关系集合,AR代表每一个关系的属性集合,Hdrf代表概念间的关系结合。
概念集合Cdfr是奶牛场所有资源的抽象描述,包括牛舍等位置、环境参数、传感器等设备、奶牛、通信协议和数据协议等各种现实和虚拟的资源,Cdfr={传感器,网关,环境,温度,相对湿度,氨气浓度,位置,奶牛场,牛舍,牛床,奶牛,控制系统,通信协议,数据协议,通风系统,温湿度传感器,光照传感器,氨气浓度传感器,奶牛计步器,监测对象,……}。
关系集合Rdfr包含了概念之间的所有可能的交互作用,Rdfr={use(传感器,位置),use(传感器,奶牛),in(牛床,牛舍),in(牛舍,奶牛场),is(传感器,温度传感器),use(传感器,通信协议),use(传感器,数据协议),connect(传感器,网关),have(温度传感器,温度),……}。
其概念间的关系集合Hdrf={(传感器,温湿度传感器),(控制系统,通风系统),(环境,温度),……}。
2.3 基于本体的多源感知数据集成
以REST模式为基础的物联网架构的特征之一是以资源为操作对象。为了实现对不同类型资源的统一操作,该文遵循REST模式常用的CRUD原则,对于资源提供4种基础操作:Create(创建)、Read(读取)、Update(更新)和Delete(删除),为用户提供易于理解和重复利用的资源操作接口。
图3 奶牛场资源本体上下文关系Fig.3 The diary house resource context
针对资源进行统一操作的功能服务采用基于RESTful WEB API技术开发,在资源描述上下文模型基础上,构建针对资源的统一操作接口,采用HTTP+URI方法实现对资源的读取、查询、调用、控制、删除等基本操作,如GET/{GatewayNo}/Sensors表示获取与该网关相连的所有感知设备信息,GET/{GatewayNo}/{SensorNo}/Timestamp表示读取某个特定传感器某时间戳的感知数据,POST/{GatewayNo}/Sensors/{SensorNo}表示某个网关上增加一个传感器。定义好的服务API在.NET中可通过XMLHttpRequest或jquery的ajax组件进行调用,如下所示。
(1)网页端通过ajax调用Get方法获取网关Gataway001关联的传感器列表信息,并采用json格式返回查询结果。
(2)在控制台中通过HttpClient实现Get方法获取网关Gataway001关联的传感器列表信息,并采用json格式返回查询结果。
3 应用系统开发
3.1 功能设计
奶牛场物联网监控系统采用ASP.NET框架,在通信层实现异构感知数据接入并建立多源感知集成数据库基础上,通过ODBC建立与数据库的联系,通过调用和封装服务层提供的数据操作接口实现对数据的操作。根据奶牛场物联网应用需求,系统功能设计如下。
(1)环境监控预警:提供了奶牛场畜舍内外环境数据的实时展示以及超出安全阈值环境的预警提示功能。
(2)环境履历查询:提供了根据设备编号、时间、牛舍编号、环境类型等条件查询历史环境的功能。
(3)奶牛健康监控预警:提供了对奶牛个体温度、体况等健康信息的实时监控和预警提示功能。
(4)奶牛健康履历查询:提供了根据奶牛编号、时间、牛舍、负责人等条件查询奶牛健康、所处环境参数等历史记录的功能。
(5)环境调控模块:提供了远程启动和关闭通风系统、除湿系统、制冷系统、暖气系统等环境调控设备的功能。
(6)统计分析模块:提供了对奶牛场畜舍环境、奶牛健康等信息的统计分析。
(7)配置管理模块:提供了传感器、网关、协议、环境位置点、奶牛、标签等各种资源的增加、删除和修改等操作功能。
3.2 测试应用
应用系统以内蒙古呼伦贝尔某规模化奶牛场应用需求为案例进行开发应用。系统环境参数测量分别采用了两类传感器:石家庄某科技有限公司定制开发的基于433Mhz的温湿度、大气压、氨气浓度等传感器终端,此类传感器通过TCP协议向外传输数据;自主定制开发的基于Zigbee的温湿度传感器、光照度传感器等感知终端,并通过配套网关以UDP方式向外传输数据。奶牛健康测量采用天津市某软件有限公司的HeatTag-1计步器,设备部署现场如图4所示。
图4 现场测试节点部署图Fig.4 Nodes distribution picture of field test
首先在服务器上部署虚拟网关服务接口程序,将感知终端的设备信息在虚拟网关服务接口进行注册,并在虚拟网关服务接口的系统配置中对TCP和UDP的通信参数进行配置并启动端口监听,实现对感知终端数据的接入、解析和集成,如图5所示。
图5 虚拟网关服务接口设备注册功能Fig.5 The interface of device registration in virtual gateway services
其次应用物联网监控系统实现对畜舍环境、牛只健康数据的观测、查询及管理,图6、图7分别是环境监控和奶牛健康履历查询界面。
图6 环境监控预警界面Fig.6 Environment monitoring interface
图7 奶牛健康履历查询界面Fig.7 Cow health information search interface
4 总结与展望
针对奶牛场物联网应用中传感器种类多、通信和数据协议不统一导致的数据异构问题,该文基于REST资源架构设计了从“数据接入—数据集成—数据操作”自底向上的奶牛物联网应用架构,开发了基于中间件技术的虚拟网关服务接口实现了异构感知终端的数据接入和解析,设计了基于语义本体的上下文描述模型实现多源感知数据的集成,基于Restful Web API技术开发了统一资源操作接口,在此基础上以呼伦贝尔某规模化奶牛场应用需求为案例进行应用系统开发,能有效集成不同来源感知数据,将环境数据与奶牛生理健康数据有效结果,为奶牛生产进一步分析应用提供了良好的数据基础。
该文当前只考虑了来自异构感知终端的数据集成问题,但当前奶牛生产相关的专业信息系统种类繁多,如防疫系统、自动饲喂系统等各自独立运行,将这些专业系统中的数据集成到奶牛场物联网中,能使奶牛生产数据更加全面,使数据更好地为奶牛生产提供智能化服务。