物联网网关系统设计
1 物联网网关概述
物联网是指通过射频识别(RFID)、红外感应器、GPS、激光扫描器等信息传感设备,按约定的协议,实现任何时间、任何地点、任何物体进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。物联网是具有全面感知、可靠传输、智能处理特征的连接物理世界的网络。
物联网用途广泛,遍及智能交通、环境保护、政府工作、公共安全、平安家居、智能消防、工业监测、老人护理、个人健康、*卉栽培、水系监测、食品溯源、敌情侦查和情报搜集等多个领域。
物联网的接入方式是多种多样的,如广域的PSTN、短距离的Z-Wave等,物联网网关设备是将多种接入手段整合起来,统一互联到接入网络的关键设备。它可满足局部区域短距离通信的接入需求,实现与公共网络的连接,同时完成转发、控制、信令交换和编解码等功能,而终端管理、安全认证等功能保证了物联网业务的质量和安全。物联网网关在未来的物联网时代将会扮演着非常重要的角色,可以实现感知延伸网络与接入网络之间的协议转换,既可以实现广域互联,也可以实现局域互联,将广泛应用于智能家居、智能社区、数字医院、智能交通等各行各业。
物联网组网采用分层的通信系统架构,包括感知延伸系统、传输系统、业务运营管理系统和各种应用,在不同的层次上支持不同的通信协议,如图1所示。感知延伸系统包括感知和控制技术,由感知延伸层设备以及网关组成,支持包括Lonworks、UPnP、ZigBee等通信协议在内的多种感知延伸网络。感知设备可以通过多种接入技术连接到核心网,实现数据的远程传输。业务运营管理系统面向物联网范围内的耗能设施,包括了应用系统和业务管理支撑系统。应用系统为最终用户提供计量统计、远程测控、智能联动以及其他的扩展类型业务。业务管理支撑系统实现用户管理、安全、认证、授权、计费等功能。
2 物联网网关功能
物联网网关在未来的物联网时代将会扮演非常重要的角色,它将成为连接感知网络与传统通信网络的纽带。物联网网关可以实现感知网络和基础网络以及不同类型的感知网络之间的协议转换,既可以实现广域互联,也可以实现局域互联。物联网网关具备如下几个功能。
(1)广泛的接入能力
目前用于近程通信的技术标准很多,仅常见的WSN技术就包括Lonworks、ZigBee、6LowPAN、RUBEE等。各类技术主要针对某一应用展开,缺乏兼容性和体系规划,如Lonworks主要应用于楼宇自动化,RUBEE适用于恶意环境。如何实现协议的兼容性、接口和体系规划,目前在国内外已经有多个组织在开展物联网网关的标准化工作,如3GPP、传感器工作组,以实现各种通信技术标准的互联互通。
(2)协议转换能力
从不同的感知网络到接入网络的协议转换,将下层的标准格式的数据统一封装,保证不同的感知网络的协议能够变成统一的数据和信令;将上层下发的数据包解析成感知层协议可以识别的信令和控制指令。
(3)可管理能力
强大的管理能力,对于任何大型网络都是必不可少的。首先要对网关进行管理,如注册管理、权限管理、状态监管等。网关实现子网内节点的管理,如获取节点的标识、状态、属性、能量等以及远程唤醒、控制、诊断、升级和维护等。由于子网的技术标准不同,协议的复杂性不同,所以网关具有的管理能力不同。本文提出基于模块化物联网网关方式来管理不同的感知网络、不同的应用,保证能够使用统一的管理接口技术对末梢网络节点进行统一管理。
3 物联网网关系统设计
物联网网关可以实现感知网络和基础网络以及不同类型的感知网络之间的协议转换,既可以实现广域互联,也可以实现局域互联。本物联网网关设计面向感知网络的异构数据感知环境,为有效屏蔽底层通信差异化进行有效网络融合和数据通信,采用模块化设计、统一数据表示、统一地址转换等实现。下面从物联网网关的层次结构、信息交互流程和系统实现3个方面来进行阐述。
3.1 层次结构
物联网网关支持感知延伸设备之间的多种通信协议和数据类型,实现多种感知延伸设备之间数据通信格式的转换,对上传的数据格式进行统一,同时对下达到感知延伸网络的采集或控制命令进行映射,产生符合具体设备通信协议的消息。物联网网关对感知延伸设备进行统一控制与管理,向上层屏蔽底层感知延伸网络的异构性,共分为4层,分别为业务服务层、标准消息构成层、协议适配层和感知延伸层,如图2所示。
(1)业务服务层
业务服务层由消息接收模块和消息发送模块组成。消息接收模块负责接收来自物联网业务运营管理系统的标准消息,将消息传递给标准消息构成层。消息发送模块负责向业务运营管理系统可靠地传送感知延伸网络所采集的数据信息。该层接收与发送的消息必须符合标准的消息格式。
(2)标准消息构成层
标准消息构成层由消息解析模块和消息转换模块组成。消息解析模块解析来自业务服务层的标准消息,调用消息转换模块将标准消息转换为底层感知延伸设备能够理解的依赖于具体设备通信协议的数据格式。当感知延伸层上传数据时,该层的消息解析模块则解析依赖于具体设备通信协议的消息,调用消息转换模块将其转换为业务服务层能够接收的标准格式的消息。消息构成层是物联网网关的核心,完成对标准消息以及依赖于特定感知延伸网络的消息的解析,并实现两者之间的相互转换,达到统一控制和管理底层感知延伸网络,向上屏蔽底层网络通信协议异构性的目的。
(3)协议适配层
协议适配层保证不同的感知延伸层协议能够通过此层变成格式统一的数据和控制信令。
(4)感知延伸层
此层面向底层感知延伸设备,包含消息发送与消息接收两个子模块。消息发送模块负责将经过消息构成层转换后的可被特定感知延伸设备理解的消息发送给底层设备。
消息接收模块则接收来自底层设备的消息,发送至标准消息构成层进行解析。
感知延伸网络由感知设备组成,包括射RFID、GPS、视频监控系统、各类型传感器等。感知延伸设备之间支持多种通信协议,可以组成Lonworks和Zigbee以及其他多种感知延伸网络。
3.2 信息交互流程
图3展示了物联网中信息交互流程,具体流程分析如下。
(1)最终用户产生符合标准数据格式的消息,并将其发送至网关业务服务层的消息接收模块。
(2)业务服务层消息接收模块将标准消息发送至标准消息构成层的消息解析模块。
(3)消息解析模块调用相应的消息转换功能,将标准信息转换为依赖于具体设备通信协议的消息。
(4)消息解析模块将转换为依赖于具体设备通信协议的消息传送至感知延伸服务层的消息发送模块。
(5)感知延伸服务层的消息发送模块选择合适的传输方式,将依赖设备通信协议的特定消息发送至具体的底层设备。
(6)底层设备根据特定消息执行信息采集操作,并将结果返回给网关感知延伸服务层的消息接收模块。
(7)网关的感知延伸服务层的消息接收模块将依赖设备通信协议的特定消息传送至标准消息构成层的消息解析模块。
(8)消息解析模块调用信息转换模块,将依赖于设备通信协议的特定消息转换为标准消息。
从图3可以看出,物联网网关解决了物联网网络内不同设备无法统一控制和管理的问题,达到屏蔽底层通信差异的目的,并使得最终用户无需知道底层设备的具体通信细节,实现对不同感知延伸层设备的统一访问。
3.3 系统设计
基于物联网的典型应用结构如图4所示。无线传感器节点采集相应数据信息,通过无线多跳自组织方式将数据发送到网关,固定式阅读器读取RFID标签内容发送到网关;网关将这些数据通过WCDMA网络发送到服务器;服务器对这些数据进行处理、存储,并提供一个信息平台,供用户(包括PC用户和手机用户)使用。从图4中可以看出物联网网关是架起感知网络和接入网络的桥梁,扮演着重要的角色。
在物联网网关设计时,采用模块化思想,设计面向不同感知网络和基础网络,实现通用低成本的网关。按照模块化的思想,将物联网网关系统分为数据汇集模块、处理/存储模块、接入模块和供电模块,如图5(a)所示。
数据汇聚模块:实
现物理世界数据的采集或者汇聚。
本网关系统采用传感器网络的汇聚节点和RFID网络的阅读器作为数据汇集设备。
处理/存储模块:是网关的核心模块,它实现协议转换、管理、安全等各个方面的数据处理及存储。
接入模块:将网关接入广域网,可能采用的方式包括有线(以太、ADSL、FTTx等)、无线(WLAN、GPRS、3G和卫星等),本系统采用WCDMA的接入方式。
供电管理模块:负责整套系统的电源供给,系统的稳定运行与电源模块的稳定性能关系密切,此处设计的电源模块兼有热插拔和电压转换功能。可能的供电方式包括市电、太阳能、蓄电池等。
数据汇聚模块和处理/存储模块之间的接口类型采用UART方式。接入模块和处理/存储模块之间的接口类型采用PCIE方式。网关软件设计时采用分层结构,最后在应用层实现协议数据的相互转换。在进行物联网网关硬件模块化的同时,实现网关的软件功能的模块化,不同的硬件模块对应不同的驱动模块;采用动态可加载方式运行,分别提取出接入模块和数据汇集模块的公共驱动,根据接入的硬件模块不同加载不同的驱动模块,达到驱动硬件模块的目的,如图5(b)所示。
3.4 关键技术
物联网网关系统设计中解决了以下几个关键技术。
软件交互协议的统一:物联网网关系统的设计思路是以模块化的方式实现软硬件的各个部分,使得模块之间的替换非常容易,以实现不同的感知延伸网络和接入网络互联,屏蔽底层通信差异。其中硬件模块采用UART总线形式进行连接,软件则采用模块化可加载的方式运行,并将共同部分抽象成公共模块。因此,支持新的数据汇聚模块和接入模块则只需要开发相应的硬件模块和驱动程序即可。另外,添加统一的协议适配层(如图6所示),将应用数据统一提取出来,按照TLV(type,length,value)的方式进行组织,然后封装数据包。使得在接入网络中传输的都是标准的IP数据包,其中封装了TLV格式的采集数据。
统一地址转换:不同的数据采集网络使用不同的编址方式,如ZigBee中有16位短地址,6LowPan中有64位地址。在应用中只需要能定位到具体的节点即可,不需要关心节点是采用IP地址还是16位短地址,也不关心节点间的组网是采用ZigBee还是6LowPan或者其他方式。将这些地址转换为统一的表示方式,有利于应用的开发,因此在网关中实现一种地址映射机制,将IP或者16位短地址映射为统一的ID,在与应用交互过程中只需要关注这个ID即可。具体的映射方式可以采用从1累加的方式,当网关接收到第一个节点数据时,将该节点的地址映射为1,后续的依次加1,将这个映射表保存在网关中。同时还采用老化机制,在一定时间内没有收到该节点的数据时,将此条映射关系删除。
采集模块数据接口的统一:采集模块与网关之间定义AT指令集,节点通过ZigBee协议组网。在与网关的接口之间只关注一些对采集模块的控制指令和数据交互指令,不关注具体的组网协议,实现组网协议无关性。
数据映射关系管理:如何管理网关连接的两种或多种系统中的设备在通信数据中的映射关系,即通常意义上的寻址,是很重要的步骤。而这一部分针对网关所连接的不同,总线设备也有很大区别。本网关对所有可能下挂的模块的输入输出数据格式进行分析,然后分别定义了各个模块对应的通信接口配置字。
4 结束语
本文旨在研究一种能支持各种传感器网络及接入网络的网关设备,它能支持不同类型的传感器节点和接入方式,并能为中间件或者应用程序提供统一的数据格式,从而为应用屏蔽不同的传感器网络及接入网络,使得应用程序只需要关注于应用环境的数据处理。