第一章 绪论
1.1 研究背景
近些年来,由于移动互联网、物联网和传感器技术的不断进步,以及人们对生活质量的要求日益增高,住房的家居环境也随着技术的发展变得人性化和智能化。物联网(Internet of Things,IoT)是利用传感器设备感知客观世界,并将客观世界转化为数字化信息,通过网络技术把这些数字化信息联接起来,从而达到物物相连,其具有非常大的应用市场和应用前景,广泛应用于智能环境、交通运输、医疗消防等领域[1]。
在物联网应用中,无线传感器网络位于数据感知的“神经末梢”,属于分布式传感网络[2]。当前,无线传感器网络的使用范围和内部设计的的复杂性日趋增加,同时在应用时也不是单个运行,常常以集群的方式运行在异构平台,这也势必增加开发和维护的成本[3]。所以,为了屏蔽平台的差异性和维护的复杂度,亟需通过中间件技术来使应用简单化,中间件技术也是物联网开发和应用集成服务业的重要组成部分。近年来加之智能手机的普及,手机作为远程监控终端已经越来越受到广大用户的青睐[4],然而手机只能作为数据展示和控制的终端,数据的感知和传输仍需要中间介质平台来完成。
1.1 研究背景
近些年来,由于移动互联网、物联网和传感器技术的不断进步,以及人们对生活质量的要求日益增高,住房的家居环境也随着技术的发展变得人性化和智能化。物联网(Internet of Things,IoT)是利用传感器设备感知客观世界,并将客观世界转化为数字化信息,通过网络技术把这些数字化信息联接起来,从而达到物物相连,其具有非常大的应用市场和应用前景,广泛应用于智能环境、交通运输、医疗消防等领域[1]。
在物联网应用中,无线传感器网络位于数据感知的“神经末梢”,属于分布式传感网络[2]。当前,无线传感器网络的使用范围和内部设计的的复杂性日趋增加,同时在应用时也不是单个运行,常常以集群的方式运行在异构平台,这也势必增加开发和维护的成本[3]。所以,为了屏蔽平台的差异性和维护的复杂度,亟需通过中间件技术来使应用简单化,中间件技术也是物联网开发和应用集成服务业的重要组成部分。近年来加之智能手机的普及,手机作为远程监控终端已经越来越受到广大用户的青睐[4],然而手机只能作为数据展示和控制的终端,数据的感知和传输仍需要中间介质平台来完成。
本课题源自于相关企业对家居环境远程监控的需要,借助于“物联网”的概念及其应用,基于嵌入式中间技术和无线传感器网络技术,设计并实现了一个基于嵌入式中间件的家居远程监控系统,通过无线传感器网络监控家居环境及家电状态,同时将数据上传至云数据库进行统一管理,可以随时掌控家中情况,提高用户的安全性和舒适性。
............................
1.2 研究目的及意义
传统的中间件技术已成功应用在了分布式系统中,例如工业控制、农业生产、政府办公等行业。如今较为完善的面向消息的通信中间件,远程过程调用中间件和数据访问中间件等,均被 SUN,IBM 等公司首先提出,并且在各个领域中被成功的应用。目前面向物联网的中间件系统研究相对较少,特别是解决家居物联网数据多源异构的中间件系统,相关研究尤为稀少。然而,智慧城市的提出是一个基于家居物联网的国家关键发展目标,它将为家居物联网的发展指明前进的方向。通过中间件系统来解决家居物联网数据传输问题,能够解决家居物联网发展中的瓶颈问题,同时也为国家的智慧城市发展奠定坚实的基础[5]。
当前,从事智能家居硬件生产的公司通常根据自己的内部标准设计和生产产品。在此过程中,并没有与业内其他公司统一,并且也没有设计它与上层的控制软件相关联。当然,这主要是因为在大多数情况下,硬件和软件的制造商彼此分开。尽管近年来,互联网公司与传统家电制造商之间已经建立了强大的联盟,但新的联盟尚未实现真正的融资。以至于智能家居领域中存在许多类型的硬件产品端口,并且通信协议参差不齐。
正是因为存在这种僵局,所以在统一标准出来之前,设计出直接连接到智能家居设备并实现控制协调的软件,将使生产公司能够相互衔接。提前让人们享受技术提供的的舒适和便利。
本文的主要目的是基于设计的中间件模型,对下可接收底层设备采集的数据,对上可响应上层应用的远程监控请求,研究数据的收发、传输、存储、数据融合以及远程监控应用中的几个关键问题。系统应用于楼宇自动化管理,对提高人们生活环境的质量,同时提供及时的火灾预警,保障人们的生命和财产安全,具有十分重要的意义。
.............................
第二章 家居监控系统相关理论与关键技术
2.1 中间件技术
2.1.1 中间件概述
中间件是一个独立的系统软件或服务程序,它连接不同的操作系统和应用程序,并管理网络资源和网络通信[10]。在使用中间件的过程中,它通常被集成以形成一个平台(开发平台和运行平台)。换句话说,中间件是平台和通信的组合,因此当其被用在分布式系统中才称之为中间件,同时还要注意它与支撑软件和实用软件的区别。
针对复杂的底层操作系统,中间件能够把其屏蔽,这样所面临的开发环境就会相对单一,不用再针对不同的平台进行逐一开发,避免了重复工作的负担。中间件引入应用系统后,不仅开发简单,而且开发周期相对缩短,也减少了在系统维护,操作和管理的工作量,同时还削减了开发过程中总体费用的投入。
总而言之,中间件的出现是为分布式的应用开发量身打造,它规避了计算机操作系统、数据结构和网络通信方面的差异性,从应用程序开发中分离出复杂的问题,如协议处理和并行操作,为上层应用程序提供统一的标准数据服务[11]。通常,中间件位于底层操作系统和上层应用程序之间,如图2-1所示。

.........................
3.1 系统总体结构 ·································· 12............................
1.2 研究目的及意义
传统的中间件技术已成功应用在了分布式系统中,例如工业控制、农业生产、政府办公等行业。如今较为完善的面向消息的通信中间件,远程过程调用中间件和数据访问中间件等,均被 SUN,IBM 等公司首先提出,并且在各个领域中被成功的应用。目前面向物联网的中间件系统研究相对较少,特别是解决家居物联网数据多源异构的中间件系统,相关研究尤为稀少。然而,智慧城市的提出是一个基于家居物联网的国家关键发展目标,它将为家居物联网的发展指明前进的方向。通过中间件系统来解决家居物联网数据传输问题,能够解决家居物联网发展中的瓶颈问题,同时也为国家的智慧城市发展奠定坚实的基础[5]。
当前,从事智能家居硬件生产的公司通常根据自己的内部标准设计和生产产品。在此过程中,并没有与业内其他公司统一,并且也没有设计它与上层的控制软件相关联。当然,这主要是因为在大多数情况下,硬件和软件的制造商彼此分开。尽管近年来,互联网公司与传统家电制造商之间已经建立了强大的联盟,但新的联盟尚未实现真正的融资。以至于智能家居领域中存在许多类型的硬件产品端口,并且通信协议参差不齐。
正是因为存在这种僵局,所以在统一标准出来之前,设计出直接连接到智能家居设备并实现控制协调的软件,将使生产公司能够相互衔接。提前让人们享受技术提供的的舒适和便利。
本文的主要目的是基于设计的中间件模型,对下可接收底层设备采集的数据,对上可响应上层应用的远程监控请求,研究数据的收发、传输、存储、数据融合以及远程监控应用中的几个关键问题。系统应用于楼宇自动化管理,对提高人们生活环境的质量,同时提供及时的火灾预警,保障人们的生命和财产安全,具有十分重要的意义。
.............................
第二章 家居监控系统相关理论与关键技术
2.1 中间件技术
2.1.1 中间件概述
中间件是一个独立的系统软件或服务程序,它连接不同的操作系统和应用程序,并管理网络资源和网络通信[10]。在使用中间件的过程中,它通常被集成以形成一个平台(开发平台和运行平台)。换句话说,中间件是平台和通信的组合,因此当其被用在分布式系统中才称之为中间件,同时还要注意它与支撑软件和实用软件的区别。
针对复杂的底层操作系统,中间件能够把其屏蔽,这样所面临的开发环境就会相对单一,不用再针对不同的平台进行逐一开发,避免了重复工作的负担。中间件引入应用系统后,不仅开发简单,而且开发周期相对缩短,也减少了在系统维护,操作和管理的工作量,同时还削减了开发过程中总体费用的投入。
总而言之,中间件的出现是为分布式的应用开发量身打造,它规避了计算机操作系统、数据结构和网络通信方面的差异性,从应用程序开发中分离出复杂的问题,如协议处理和并行操作,为上层应用程序提供统一的标准数据服务[11]。通常,中间件位于底层操作系统和上层应用程序之间,如图2-1所示。

.........................
2.2 无线传感器网络技术
2.2.1 ZigBee 技术
ZigBee 在能耗上相对较小,成本花费上比较低,并且网络的存储量大,通信方面也比较稳定可靠[17]。因此,ZigBee 技术被用于家庭无线网络。ZigBee 模块采用 TI 公司的 CC2530F256,底面设计包括电源模块、串行模块和各种传感器接口,设计方案如图2-2所示。CC2530 芯片的工作电压为 2.0 ~3.6 伏,电源模块使用稳压器芯片,稳定了 3.3 伏的输出电压和 1 安的电流。ZigBee 协调器与嵌入式网关之间通过 RS-232 接口进行连接,设计 RS-232 到串口的电路,方便底板与嵌入式网关或计算机之间的通信和调试。CC2530 的 P0 端口连接到控制按钮上,控制 ZigBee 终端节点[18],实现照明、家电控制、环境监控、视频监控等功能。

.........................
2.2.1 ZigBee 技术
ZigBee 在能耗上相对较小,成本花费上比较低,并且网络的存储量大,通信方面也比较稳定可靠[17]。因此,ZigBee 技术被用于家庭无线网络。ZigBee 模块采用 TI 公司的 CC2530F256,底面设计包括电源模块、串行模块和各种传感器接口,设计方案如图2-2所示。CC2530 芯片的工作电压为 2.0 ~3.6 伏,电源模块使用稳压器芯片,稳定了 3.3 伏的输出电压和 1 安的电流。ZigBee 协调器与嵌入式网关之间通过 RS-232 接口进行连接,设计 RS-232 到串口的电路,方便底板与嵌入式网关或计算机之间的通信和调试。CC2530 的 P0 端口连接到控制按钮上,控制 ZigBee 终端节点[18],实现照明、家电控制、环境监控、视频监控等功能。

.........................
第三章 家居监控系统总体设计 ··························· 12
3.2 系统软硬件平台设计 ······························ 13
3.3 无线传感器网络设计 ································· 17
第四章 嵌入式中间件设计 ······························· 22
4.1 中间件结构设计 ························· 22
4.2 通信协议模块设计 ······················· 24
4.3 分析处理模块设计 ·························· 25
第五章 家居监控系统实现 ······················· 33
5.1 需求分析 ··························· 33
5.2 数据库设计 ··························· 34
5.3 功能设计 ······················· 36
第六章 系统性能测试
6.1 无线传感器网络性能测试
无线传感器网络作为整个系统的信息感知“一线”,其作用域的大小直接关乎上层的应用程序能够及时有效的观测到数据。所以本小结需要对无线传感器网络的通信性能及组网能力进行测试,总共分为三个方面的测试:协调器与终端设备的无线传输距离,终端设备接入到无线传感器网络的入网时间和数据报文在节点间的数据传输时间。
(1)传输距离测试
节点间的传输距离是衡量整个无线传感器网络的覆盖范围的重要依据。通过测量协调器和终端节点之间的通信距离来确定传输距离,测试方法是协调器不停地向终端节点发送数据查询报文,然后使两者间的距离不断加大,直到最后一次收到响应报文的距离作为传输距离。为了减少偶然误差,多次测量来求平均值。经测试,设置 CC2530 输出功率为 4.5dBm 时,在无障碍阻挡的空旷条件下,传输距离为 148m 左右;在有墙壁等障碍物阻挡的情况下,传输距离为 40m 左右。通过以上测试证明无线传感器的传输距离能够满足家居环境的需要。
(2)入网时间测试
首先让 ZigBee 协调器率先开启,等其建立好网络后,再打开 ZigBee 终端节点,在终端节点开启后,它会向协调器请求加入网络,协调器收到入网请求会把终端节点加入到无线传感器网络中,同时产生联网成功信号。入网时间也即为从打开 ZigBee 终端节点到其成功加入到无线传感器网络的这段时间。经测试,循序递增 ZigBee 终端节点与 ZigBee 协调器间的通信距离,得到终端节点位置与入网时间的关系如图6-1a所示。
........................
总结与展望
1. 总结
本文系统地介绍了基于嵌入式中间件的家居远程监控系统的研究与应用,通过构建了中间件模型,实现了家居远程监控系统的应用,完成了系统软件设计的几个关键部分。其中系统软件包括 4 部分: 嵌入式中间件软件、ZigBee 节点软件、Android 移动端程序、云服务器软件。中间件 Qt 程序在宿主机机上交叉编译,把生成的 ARM 版本的可执行文件载入目标机运行。打开手机客户端连接到嵌入式家庭网关,即可查看各个节点信息,并能够展示各个房间的历史记录数据曲线,测试表明客户端与服务器能够正常通信。系统软件开发基于 Qt4 开发平台,测试结果表明系统能够正常工作,本地中间件信息展示和远程客户端信息相同步,可以实现家居的远程监测与控制,满足监控系统的功能需求。
参考文献(略)