论文部分内容阅读
随着物联网的不断发展,物与物之间的连接变得越来越重要,将所有的物体连接起来成为一种趋势。智能家居行业作为物联网的一个重要分支,在近些年的发展也是非常迅速的!家庭网络电子设备已经不再是孤立的设备,为了满足人类生活的需要,人与设备、设备与设备已经需要互相协作与交互。中间件技术已被证明了能够有效地屏蔽各种平台和多种协议之间的差异,能为上层应用程序提供多种通讯机制,减少软件开发者的负担和降低软件开发的成本。为了能够无缝地连接家庭的所有异构网络下的异构设备,本文首先对国内外现有的智能家居中间件进行了研究、对比分析,然后建立了一个智能家居中间件模型MW4SH(Middleware for Smart Home),并对该中间件进行详细的设计与实现。MW4SH是一个面向服务的,支持规则引擎、支持内网穿透和支持多种协议的安全、可靠、稳定和可扩展的软件框架。本文的主要工作包括:(1)研究国内外优秀的智能家居中间件平台,介绍使用的核心技术,并在易操作、互操作、隐私安全、可扩展、容错和节能六个方面进行对比,然后从功能性需求分析和用例分析两方面对智能家居中间件进行需求分析;(2)分别对联网技术、互联互通标准、中间件技术、内网穿透技术与规则引擎进行研究,通过对比分析各种联网技术、互联互通标准和中间件技术的优缺点,得出UPnP标准以及OSGi框架在智能家居中间件领域的优势;(3)基于第2章对六个开源智能家居中间件平台的研究,借鉴学习它们面向服务、模块化开发等核心技术,提出一个包含物理设备层、设备网络层、设备抽象层、适配层、容错检测层、服务层和控制层的智能家居中间件模型MW4SH,然后对各层和各组件进行详细的设计。其中服务层是MW4SH的核心部分,包含事件管理、服务管理、内网穿透、知识库、安全组件和规则引擎六个部分;(4)基于UPnP标准和OSGi框架,对MW4SH进行实现。在设备抽象层中,将设备基于功能进行抽象,并将设备功能进行分类,所有设备都可以由不同类型的功能组合而成。在适配层中,定义了服务接口,对于不同联网方式的设备,只需根据实际需要实现服务接口,便可以将设备接入MW4SH中。在服务管理组件中,将设备分为UPnP设备和Non-UPnP设备,并以服务的形式在中间件中呈现,支持设备发现、设备注销,其中UPnP设备是基于jUPnP库实现的。在事件管理组件中,定义了各种与设备和设备功能相关的事件,并基于OSGi Event Admin发布/订阅机制对事件管理组件进行实现。对于知识库组件,将设备的状态保存在同一个Bundle组件中,并存储在磁盘文件。规则引擎组件是基于Xtext和Xbase的,可以与Java互相调用,为智能家居系统增加了更丰富的智能化。内网穿透组件则将STUN协议作为基础协议,通过智能家居中心服务器作为中介,控制终端与网关可以进行UDP直接通信。最后,本文基于Jetty容器,为MW4SH实现一个包括控制窗台和Web App两种交互方式的控制层。(5)最后,本文对MW4SH在联网与组网、内网穿透和规则引擎三个方面进行测试和分析,结果证明了该模型的正确性,MW4SH的易操作性、互操作性、安全性和可扩展性等特性。本文基于UPnP标准协议,设计并实现一个支持多协议的智能家居中间件MW4SH,对该中间件的研究,填补了国内在智能家居中间件领域的空白,为我国智能家居的发展提供了有益的借鉴。