(光学工程专业论文)智能家居web远程浏览控制软件的设计与实现.pdf_第1页
(光学工程专业论文)智能家居web远程浏览控制软件的设计与实现.pdf_第2页
(光学工程专业论文)智能家居web远程浏览控制软件的设计与实现.pdf_第3页
(光学工程专业论文)智能家居web远程浏览控制软件的设计与实现.pdf_第4页
(光学工程专业论文)智能家居web远程浏览控制软件的设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 摘 要 家居智能化的构想很早就已经被提出。近年来信息化的高度发展,人们对工作环境 的节能性、安全性、舒适性要求的提高,造成家居智能化的需求大为增加。在技术方面, 由于计算机控制技术的发展与电子信息技术的成长,也促成了智能家居的诞生。在智能 家居系统的实现中,bacnet 协议以其开放、简单、实用、且易于与其他网络集成的特 点成为智能家居数据通信协议的可行选择之一。本文中提到的智能家居系统就是基于 bacnet 协议构建的。 智能家居的控制系统是使用者与系统的人机接口,决定了智能家居的使用方式,影 响用户体验,是智能家居系统的重要组成部分。文中的智能家居控制系统中,安装了 web 远程浏览控制软件。这种基于 web 的控制软件使用户能够在本地或远程配置、监控 和操作智能家居系统。这套 web 远程浏览控制软件的设计和实现是本文讨论的主要内 容。 本文在简单介绍了基于 bacnet协议构建智能家居的可行性之后,从协议、网络、 硬件和软件四个方面介绍了智能家居远程控制系统的组成和工作原理, 然后介绍了在控 制软件的实现中发挥重要作用的两个软件架构:struts 和 hibernate。接下来详细讲述了 控制软件的设计和实现。在设计部分,对比了不同的软件架构,结合新的技术,提出了 一种基于数据库的多模块软件架构,分析了该架构的特性。在实现部分,由于控制软件 是以多模块的方式实现,着重论述了多模块的结构和全局配置方式,特别提出实现中遇 到的 j a v a中文问题,分析了问题的根源,提出其解决方案。在设计与实现部分之后, 介绍了控制软件的开发环境和开发工具的使用,应用环境的搭建和软件的部署方法。最 后对整个工作进行了总结。 关键词: 智能家居 bacnet 远程控制系统 web struts hibernate ii abstract the conception of smart home has been brought out for a fair long time. recently, with the highly development of information technology and the augmented need for energy saving, security, comfort and efficiency, the requirement of smart home is increasing. in technology aspect, the development of computer technology and telecommunication, the birth of smart home become realiability. in the implement of smart home, bacnet has become one of the choices of the data transport by right of its opening, simpleness, practicality, and easying to integrate with various kinds of physical network. in this paper, the smart home system is built base on bacnet protocol. the control system is a significant part of the smart home system and acts as the interface between smart home and its user. in this paper, the smart home system has a remote control software. this remote control software has many fuctions such as config, survilliant, manipulate in local or remote way. the design and implement of the remote control software is the key content of this paper. after shortly explain the feasibility of the construct smart home base on bacnet protocol, i introduce the construction and principle of the smart home remote control system in four aspects: protocol, networks, hardware and software. as well, in principle analysis part, introduce two software architecture which play an important part in remote control software implement: struts and hibernate. secondly, i elaborate on the design and implement of the control software. in design part, a new database- based multiple- module architecture is brought out. in implement part, i emphasis on mulit- module implement and the global configuration. especially, i describe the chinese encoding problem in java, explain the caurses and offer the complement solution to it. thirdly, i introduce the application and development environment, deploy method. finally, summarize the main part of this paper. key words: smart home bacnet remote control system web struts hibernate 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已 在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授 权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密, 在 年解密后适用本授权书。 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 1 1 绪论 1.1 智能家居 智能家居( s m a r t h o m e ) 也称智能住宅, 是以住宅为平台, 兼备建筑、网络通信、信 息家电、设备自动化, 集系统、结构、服务、管理为一体的居住环境。 智能家居系统, 利用先进的计算机技术、网络通讯技术、综合布线技术,将与家居生活有关的各种子系 统, 有机地结合在一起, 通过统筹管理, 让家居生活更加节能,安全和舒适。 智能家居上世纪 8 0 年代兴起于日本和欧美, 9 0 年代进入我国, 经过十几年的发展, 特别是随着我国的住宅产业化发展而迅速发展起来。智能家居是 i t技术(特别是计算 机技术) 、网络技术、控制技术向传统家电产业渗透发展的必然结果。在技术方面,由 于计算机控制技术的发展与电子信息通信技术的成长,也促成了智能家居的诞生1。 智能家居的基本目标是为人们提供一个节能和安全的生活环境。 其功能主要有3 项: 家庭安全( h s ) 、家庭设备自动化( h a ) 和家居通信( h c ) 。 ( 1 ) 家庭安全:既包括人身和家庭财产的安全,也包括家庭设备的安全。为了实现 这种安全体系,就需要配备相关的防卫措施,例如电子门禁、对讲系统、电子防盗系统、 玻璃破碎检测报警系统、室内跑水检测与报警系统、火灾报警系统、室内有毒/ 害气体 的检测与报警系统。 ( 2 ) 家庭设备自动化:集中化、遥控化和异地远程控制调节, 可实现对家用电器( 如 电视机、音响、空调机、热水器、微波炉、洗衣机等) 的状态进行监视和控制,对 3 表( 电 表、水表、燃气表) 的数据自动采集与传输,对照明设备的联动控制。方便家庭生活, 可以使用一个通用遥控器控制所有家电,并实现远程监控。自动管理耗能家庭设备,避 免能源的浪费。 ( 3 ) 家居通信: 采用家庭综合布线系统,实现电话、电视、电脑的综合通信和信息 交互,实现 v o d 点播和多媒体信息通信。 与普通家居相比,智能家居不仅具有传统的居住功能,提供舒适安全、高品位且宜 人的家庭生活空间, 还提供全方位的信息交换功能, 帮助家庭与外部保持信息交流畅通, 优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全感,节约能源23。 在家居通信的基础上,可以实现家庭办公。工作者在家庭里处理各种文件,从公司 服务器下载上传被许可的数据,与公司甚至全球各地的同事召开视频会议。这种足不出 2 户的办公,极大地提高了办公的效率,减低了办公的劳动强度,在智能家居逐渐普及之 后,将成为一种重要的办公方式。 1.2 bacnet 协议 随着网络互联技术的发展和因特网( i n t e r n e t ) 在全球范围的盛行,开放、互联和信 息共享已成为信息时代的潮流,构造能够使不同厂家的产品互联、互换和互操作并可以 与因特网无缝连接的新一代楼宇自动控制系统, 已成为管理系统集成商和用户的迫切需 要和现实追求。 不同厂家产品系统的有机集成,意味着它们能够在一个大系统内相互通信、协同工 作,实现信息共享和智能控制。以往各厂家生产的楼宇自动控制系统只能采用专用网关 或转换器,这种方法受到很大制约。因为专用网关和转换器开发困难,升级换代要求非 常快。这些网关常常是仅对一个厂家提供的系统有效,而整个系统的紧密集成往往是不 现实的,用户也不可能获得良好的技术支持和信息服务。所以制定一个统一的通讯协议 标准,各厂家共同遵守,使建筑物内的各子系统更加标准化的集成,就成为十分迫切急 需解决的问题456。 b a c n e t协议正是在这一背景下产生的。b a c n e t是一种专为楼宇自动控制网络所制 定的数据通信协议。它是由美国供热、制冷与空气调节工程师协会 (a s h r a e )历经 8 年半的时间,于 2 0世纪九十年代制定,现已成为美国国家标准,欧盟标准和 i s o的国 际标准。 b a c n e t标准的诞生,结束了楼宇自动化领域众多厂家各自为政的局面。b a c n e t作 为一种标准的开放式数据通信协议, 使不同厂家的楼宇设备能够实现互操作, 也就是说, 在一个系统中,允许混用不同厂家的设备,并能为这些设备提供统一的数据通信服务和 协议操作平台。这不仅给用户提供了更大的选择空间,而且给系统的升级、维护提供了 灵活性。b a c n e t标准是针对暧通空调、给水排水、消防、保安等楼宇系统设计的,它 提供各种描述各种楼宇设备的模型,使得各种设备能互操作和协同工作 78。 如同其他任何协议一样,b a c n e t是一系列信息交换方式的规范。b a c n e t协议的制 定和优化,满足了楼宇自动化控制应用的需要,而传输数据又需要(但不仅限于)这些 应用:硬件的二进制输入输出值;硬件模拟输入输出;软件二进制值和模拟值;进度信 息; 文档; 控制逻辑。 b a c n e t 不是内部结构、 数据结构或控制器的控制逻辑定义。 b a c n e t 的设计可从非常小的、低成本的设备升级为大型的可包括数千设备的复杂系统。这是通 3 过结合使用信息的面向对象表示法来交换、选择局域网的技术,结合局域网互联技术和 使用 i p 连接广域网的技术来实现的。b a c n e t 采用了面向对象的技术,用“对象” 、 “属 性”和“服务”等要素定义信息格式。通过定义对象的相关信息的集合来代表任何设备 的功能和信息,每一个对象有一系列的属性和特征。例如,描述模拟输入的 b a c n e t模 拟输入有一系列属性,包括当前值、传感器类型、位置、警报界限及其他组成。设备由 适当的可视化的网络对象集合描述。 一旦一个设备的功能和属性由网络根据标准对象和 属性来描述,就可以定义通信,用标准的方式来访问和操纵信息,从而提供了一种标准 的表示楼宇自控设备的方式,很容易实现节点间的对等通讯,使系统设计大大简化,可 靠性大大提高。在 b a c n e t中,一个设备可以从另个设备中获取信息,可操作另一设备 或向多个设备发布信息。b a c n e t的对象和属性提供了通信的共同语言,而服务则提供 了信息传递的手段。标准的通信协议应该是开放的,利用标准通信协议的集成方法虽然 目前还未达到广泛应用,但它的应用前景看好,尤其是大系统和那些可能还要进一步扩 容和升级的大系统 910。 1.3 基于 bacnet 协议的智能家居系统 b a c n e t协议最初用在大型公共场所和写字楼等建筑的 b a s (b u i l d i n g a u t o m a t i o n s y s t e m )中,以满足这些人员密集建筑对舒适环境,能源节约,安全防卫的需求。在这 些场所的应用验证了 b a c n e t协议的有效性。随着社会的发展,人们关注的重点由办公 场所更多的转向家庭,b a c n e t 协议应用在家庭就是很自然的事情了。 现阶段智能家居领域的研究与实现, 其核心问题就是解决各种千差万别家庭设备的 整合。我们知道现在的各种家庭设备千千万万,而它们的制造商更是万万千千,这种现 象造成的直接结果就是它们之间的信息交互非常困难。 b a c n e t协议的很好的解决了以上问题。首先,它为家庭设备提供了一种标准的交 互语言,从而从根本上解决了设备的整合问题。这种“普通话”的出现完全可以使家庭 中的设备相互“听”到对方的“声音”从而方便的实现它们之间的联动与智能化控制。 其次,b a c n e t协议是一种开放的标准,已经得到国际标准组织的认可,随着不断的推 广,会有越来越多的家电厂商生产出支持 b a c n e t 协议的家电设备。另外 b a c n e t 兼容广 泛的连接技术,不同 b a c n e t 链路的网络可以在网络层互联。此外 b a c n e t 协议链路支持 b a c n e t / i p 使其可以和 t c p / i p 无缝的连接,我们就可以很容易的利用 i n t e r n e t 实现用 户的远程管理和控制,也可以很容易的将不同家居子系统进行互联,实现宽带互联网、 4 家庭互联网和家庭控制网络的三网合一1112。 b a c n e t 协议是构建智能家居系统的理想选择。 1.4 智能家居的控制系统 在智能家庭的应用当中,最重要的指标就是用户体验。这涉及多方面的因素,系 统的控制方式是其中之一。用户在家庭内部时,希望便捷的控制家庭内部的各种电器和 设备。比如当用户在客厅的沙发上休息时,他希望将客厅的灯光调柔和,关闭窗户,打 开空调调节室内温度,打开音响播放轻音乐,所有这些操作并不需要用户离开休息的沙 发,只需要按动手上的智能家居红外遥控器的几个按键就可以实现。红外遥控器轻小便 携,是家庭成员在家居内部控制智能家居的重要手段。 用户离家外出,特别是长久的旅行,非常关心家居内的情况,此时他(她)可以 登录 internet,通过 web 观看家庭内部的视频,了解家居当前情况,修改智能家居的安 全防卫策略,对家居内部的设备进行控制。这些功能都是由基于 web 的智能家居远程 控制系统提供的。在任何能够接入 internet 的地方都可以使用远程控制系统。基于 web 的智能家居远程控制系统除了提供视频监控、安防策略制定、设备控制功能之外,由于 具有简单灵活的 web 界面,还可以在本地为系统提供强大的配置和管理功能,作为系 统管理人员进行系统配置的工具。 智能家居的远程控制系统由网络,硬件和软件结合构建而成,以 web 页面作为用 户界面进行操作,有本地操作和远程访问两种使用方式。本地操作不要求智能家居系统 接入到 internet,在家庭内部使用;远程访问要求家庭接入 internet,在异地任何可以使 用 internet的地方,只要打开 web 浏览器,输入智能家居的 ip 地址,就可以使用。系统 具有安全验证和用户管理功能,保障远程访问的安全性13。 综上所述,基于 web 的远程控制系统是智能家居系统的重要组成部分。 1.5 本课题研究的主要内容及意义 增强智能家居用户体验的关键就是向用户提供功能强大并且使用方便的智能家居 控制系统。作为承担智能家居远程控制和本地管理任务的远程控制系统,必须能够提供 简洁优雅的操作界面,清晰简单的操作方式,安全高效的接入管理和丰富灵活的配置方 法。 智能家居远程控制系统中的软件包括基础软件和应用软件,其中基础软件包括操 5 作系统、数据库、 web 服务器,应用软件是运行在基础软件之上,完成控制功能的软件。 本课题研究的内容是智能家居远程控制系统中应用软件web 远程浏览控制软件的 设计和实现。在设计方面,引入先进的软件设计思想和构建 web 服务的最新方法,如 面向对象的思想、基于 web 的 mvc 设计、对象关系映射构架等。这些思想和方法的采 用,使智能家居 web 远程浏览控制软件具有了层次结构清晰,诸功能分离实现部署, 代码维护和更新简单,系统安全性高等特点。在实现方面,尽可能的运用已有的性能优 良的开放源代码框架,如 struts、hibernate 等,在框架的基础上扩张应用,开发的复杂 度降低,可靠性提高,同时采用 cvs 的现代的软件开发管理手段,多人协作开发,开发 效率更高,工程的可延续性增强。 针对传统的智能家居控制软件的不足,我们提出一种新的基于数据库的多模块控 制软件设计,控制软件不再是一个单一的软件实体,而是由两个分离的软件模块组成。 这种设计很好的解决了智能家居系统的控制问题, 为类似的系统控制软件设计提供一种 有益的参考。这种设计使各个不同的模块可以分离的部署,丰富了系统部署的方式,有 效地减轻了对硬件的压力,这一点在 b a c n e t智能家居系统这类嵌入式开发中显的尤为 重要。另外,这种多模块分离的结构可以增加更多的安全验证措施,智能家居网络与 i n t e r n e t 分离,增加系统的安全性。 1.6 小结 本章首先介绍了智能家居的含义和发展历程。 然后简要介绍了bacnet协议的历史, 并分析了 bacnet协议的特点和发展现状。紧接着介绍了bacnet 协议与智能家居系统 的结合,分析说明了 bacnet 协议是构建智能家居系统的理想选择。 在本课题服务的智能家居系统中,控制系统包括红外遥控控制系统和基于 web 的 远程控制系统。本课题介绍的就是后者的软件设计与实现。 6 2 原理分析及相关技术 2.1 智能家居远程控制系统的组成及工作原理 我们开发的智能家居远程控制系统使用的是 bacnet协议,这个系统由硬件,软件 和网络结合构建而成。智能家居远程控制系统完成智能家居系统的配置,管理和控制功能。 2.1.1 协议bacnet 对象与服务模型 ( 1 ) b a c n e t 对象 为了实现设备间的信息交换,提供一种标准的信息描述方式,bacbet 协议采用了 面向对象的方法,定义了一些标准对象。标准对象是一些抽象的数据结构,这些数据结 构可以很好的描述建筑设备控制的信息, 这样就为建立bacnet控制服务提供一个框架。 bacnet 服务的定义是为了实现对这些标准对象类型的访问和操作。在具体的控制设备 中,bacnet 标准对象到物理设备实际数据结构的映射有不同的方式,并且物理设备所 能支持的对象类型和对象实例数也是不同的,具体的实现方式由生产商自行确定14。 所有 bacnet对象均由对象标识符属性来区分。在每个 bacnet 设备中的对象均有 一个唯一的对象标识符,同时在一个 bacnet 网络中每个设备均有一个唯一的设备对象 标识符。这样,将一个对象的对象标识符与该设备的设备对象标识符结合使用,就提供 了一种在整个控制网络中区分每个对象的机制。 bacnet 标准并不要求设备支持在 bacnet 标准中定义的所有对象类型。根据设备 一致性类别的定义,属于不同类别的设备所必须支持的对象类型是不同的。另外,对象 类型的属性是可选的。bacnet 中定义了对象类型属性列表。列表项包括属性标识符、 属性数据类型和属性一致性代码(o、w、r 三者选一) 。其中,o 表示属性是可选的; r 表示属性是必需的,并且 bacnet 服务可读取该属性的内容;w 表示属性是必需的, 并且 bacnet 服务可读写该属性的内容。 目前 bacnet 定义了 23 种标准对象类型,表 2.1 列出了这些对象名称和应用场合。 任何建筑自动控制产品均可视为由一个或多个对象类型组成的设备。 其中的每一个对象 又是一个数据元素集合,这种数据元素称为“属性” 。对象模型的建立使得其他设备无 需了解该设备内部设计细节,就可以通过该设备中存在的“对象”来操作设备内部的数 据结构。 7 表 2.1 bacnet 定义的对象以及它们的应用场合 对象名称 应用场合 模拟输入 传感器输入,如温度传感器 模拟输出 控制输出,用在控制器或执行器,如空调风门控制 模拟值 设置的阈值或其它模拟控制系统参数,如用于热函数计算的参数 二进制输入 开关输入,如描述空调开关状态 二进制输出 控制二进制输出,如继电器输出 二进制值 数字控制系统参数,利用二进制值对象的当前值来进行逻辑运算判决 日期表 按时间执行特定动作的日期列表,如周末、假期 命令 写多个对象属性操作或其他的一系列操作 设备 其属性包含:设备支持的对象和服务信息、设备商和固件版本以及其他设备特征 事件登记 描述可能处于错误状态的事件(如“ 输入超出阈值” ) ,或者其它设备需要的报警。 该对象可直接通知一个设备,也可用通告类(notification class)对象通知多个设备 文件 用于存放设备所需信息,文件格式根据需要自行定义 组 将多个对象的多个属性组合在一起,以方便访问 环 提供反馈控制环路算法的接口 多态输入 表述一个多状态处理程序的状况,如风扇的风速级别 多态输出 表述一个多状态处理程序的期望状态,如控制风扇风速 通告类 包含有一个设备列表属性,如果一个对象检测到有报警时,则查询与它绑定的通 告类对象,根据这个通告类对象中的设备列表,向这些设备发送报警信息 程序 允许设备中的一个程序开始,停止,装载,卸载,以及报告程序当前状态等 时间表 定义一个按周期执行的操作时间表 多态值 描述控制系统的多态参数,如单元空调机的操作模式 平均值 用于计算时间间隔的采样平均值 趋势登录 记录一段时间内某个设备中某个对象的数据信息 生命安全设备 描述在火灾、生命安全中使用的设备的特性,如烟感探测器 生命安全区域 描述一组在火灾、生命安全中使用的设备的特性,如表示一个防火区 ( 2 ) b a c n e t 服务 服务是一个 bacnet设备从另一个 bacnet设备获得信息,或者命令另一个设备执 行某种动作,或者通知一个或多个设备发生了某种事件的方法和手段。换句话说,服务 8 控制了 bacnet 网络中的活动,并保证报文和命令到达预定设备15。 bacnet 定义 35 种应用服务,列于表 2.2 中,这些服务共同提供一组访问和操作 bacnet 对象的方法。一个 bacnet 对象,不论它在所驻留的设备中具有什么功能,都 可以使用 bacnet 定义的服务,访问该对象的属性。 表 2.2 bacnet 定义的服务 服务名称 服务说明 确认报警 收到通告的设备使用确认报警服务对操作员已看到报警通告这件事进行确认 有证实cov通告 有证实 cov 通告服务用来向预订用户告诉某个对象的属性值已经发生变化 有证实事件通告 通告发送设备告诉一个远程设备有一个事件发生,同时告知接收设备,自己 需要一个证实 获得报警摘要 一个客户端的 bacnet 用户用来获得关于“活动报警”的摘要 获得登记摘要 一个客户端的 bacnet 用户用来获得关于事件发生的对象摘要 预订 cov cov 客户预订对关于某个对象的属性值发生改变的通告的接收 无证实cov通告 一个 cov 服务器向预订用户报告某个对象的属性值已经发生变化 无证实事件通告 通告服务器告诉一个远程设备有一个事件发生,其目的只是告知接收设备有 一个事件发生,并不需要对于这个通告的证实 基本读文件 对某个文件进行一个“打开读出关闭”的操作 基本写文件 对某个字节流进行一个“打开写入关闭”的操作,将它写入到文件的某 个位置 添加列表元素 一个客户端的 bacnet 用户使用添加列表元素服务,向一个具有列表的对象属 性添加一个或者多个列表元素 删除列表元素 一个客户端的 bacnet 用户使用删除列表元素服务,从一个具有列表的对象的 属性中删除一个或者多个列表元素 创建对象 一个客户端的 bacnet 用户使用创建对象服务,创建一个对象的新实例 删除对象 一个客户端的 bacnet 用户使用删除对象服务,删除一个已有的对象 读属性 一个客户端的 bacnet 用户使用读属性服务,请求一个 bacnet 对象的一个属 性值 条件读属性 请求那些满足一个选择准则列表的所有 bacnet 对象的特定属性的值(0 个或 者多个) 读多个属性 请求一个或者多个 bacnet 对象的一个或者多个特定属性的值 写属性 修改一个 bacnet 对象的一个属性值 写多个属性 修改一个或者多个 bacnet 对象的一个或者多个特定属性的值 读范围 读取一个特定范围的数据项,这些数据项存放在趋势登录对象的缓存器中 9 设备通信控制 向一个远程设备发送指令,指示这个设备在一个规定的时间内停止起始和响 应所有的 bacnet 服务(除了设备通信控制或者重新初始化设备) 有证实专有传输 调用远程设备中的专有的或者非标准的服务 无证实专有传输 调用远程设备中的专有的或者非标准的服务 重新初始化设备 向一个远程设备发送指令,指示这个设备重新冷启动,或者重新热启动到某 个预设的初始状态 有证实文本报文 向另一个 bacnet 设备发送一个文本报文 无证实文本报文 向一个或者多个 bacnet 设备发送一个文本报文 时间同步 一个发送请求的 bacnet 用户使用时间同步服务,向一个远程 bacnet 设备通 告正确的当前时间 who- has 确定其它 bacnet 设备的设备对象标识符和网络地址,这些设备中包含有具有 给定的对象名称属性或者给定的对象标识符属性的对象 i- have 设备响应 who- has 服务请求,或者告诉其它设备自己有一个具有给定的对象 名称属性或者对象标识符属性的对象 who- is 获得在同一个互联网上的其它 bacnet 设备的设备对象标识符和网络地址 i- am 无证实的服务,用于响应 who- is 服务请求。 i- am 服务可以在任何时候被发送 vt 开启 用于在两个对等进程之间建立一个 vt 会话 vt 关闭 用来释放已建立的 vt 会话 vt 数据 用于在两个对等进程之间进行数据交换 生命安全操作 用于在火灾、生命安全和安保系统中提供一种机制 2.1.2 网络家庭网络与 internet 接入 (1) 家庭网络 家庭网络是智能家居系统的基础。随着家居智能化的发展,家庭内部的家电和设备越 来越呈现出智能化,网络化的特点。家庭中已经存在不同功能的异构网络,但这些网络彼 此分离,没有互联和通信。将这些异构网络连接起来,可以实现一个物理上互联的家庭网 络。但是,由于网络的异构,设备由不同厂商提供,物理上的互连并不足以实现家庭设备 间、不同系统间的信息交换和资源共享。基于 bacnet 协议构建家庭内部网络,在互联的 异构物理网络上实现网络路由,提供与设备无关的应用服务,就可以在这样的网络上实现 各种数据的交换,完成家庭内部设备的控制及其它智能家居要求的功能171819。 10 基于家庭网络可以实现以下功能: 1) 设备管理:通过各种通信工具或装置控制家电设备; 2) 家居安全:家庭内部出现紧急情况(如火灾)时能自动向相关人员或部门发送 信息,家电设备故障能逐渐形成自诊断、自反馈; 3) 能源管理:水电气三表自动显示并抄送到管理中心,定时开关供暖通路; 4) 提供信息服务和家庭信息数据的管理及备份; (2) internet 接入 有了家庭内部网, 还要将内部网与外部网连起来, 以满足家庭中的人和各种设备与 外界进行信息沟通的需要,如宽带上网、视频点播、远程教育及电子商务, 以及三表自 动抄送及小区安防等,使得家庭不再是信息化社会中的“孤岛” 。 同时接入 internet 也是 实现基于web的远程控制与管理的基础, 由于internet接入家庭, 使得在任何接入internet 的地方都可以访问到家庭内部的信息, 实现对家庭内部情况的监视和智能家居系统的远 程控制2021。 internet接入家庭, 必然要和已有的家庭内部网络互联。 通常, 家庭内部网和 internet 这两个不同网络的互连是通过一个网络连接设备实现的, 这个网络连接设备就是家庭 网关。 (3) 家庭网关 家庭网关是智能家居的心脏,扮演着非常重要的角色。在家庭内,家庭网关通过局 域网将家内的各种设备连接起来,实现智能控制和信息交互;在家庭外,使家庭网络方 便并高速接入 internet。家庭网关在与家庭外部设备交换信息时起着在各种外部网络和 内部网络之间的中介作用, 即不仅负责各种类型子网之间的协议转换, 而且还要完成家 庭智能控制和因特网接入功能。 家庭网关应具备 3 个主要特征:1) 家庭的 internet 接入口;2) 家庭网络的信息中 心;3) 家庭网络的控制中心。 2.1.3 硬件家庭信息控制中心(hi2c)、直接数字控制器(ddc)与家庭服务器 (1) 家庭信息控制中心 家庭信息控制中心(home information control center,hi2c)是我们开发的这套智 能家居的核心设备,负责整个智能家居网络的通信和控制,完成家庭内部网络各种不同 通信协议之间的转换和信息共享,以及同外部通信网络之间的数据交换功能,同时还负 11 责对具有 bacnet接口的家庭智能设备的管理和控制。运用计算机技术、微电子技术、 通讯技术,hi2c 将家庭智能化的几乎所有功能集成起来,使智能家居建立在一个统一 的 bacnet 平台之上,保证信号在家庭内部各智能化设备之间、家庭内部网络与外部网 络之间的传输通畅、准确。由此可见,hi2c 扮演着家庭网关的角色。 硬件方面,hi2c 是一个基于 arm 微处理器的嵌入式系统,有较强的处理能力。 arm 微处理器是一种领先的 16/32 位嵌入式 risc 微处理器,具有高性能、低成本和 高效率的特点。hi2c 拥有丰富的存储空间和多样的输入输出接口,通过不同的物理网 络实现与安防控制器、视频控制器 、三表控制模块和 x- 10 控制模块的连接。 软件方面,hi2c 上运行嵌入式 linux 操作系统,管理各种硬件设备,向上层应用 程序提供接口。hi2c 上运行着 bacnet 协议软件,支持基于 ip 的 bacnet协议数据传 输方式,通过以太网(家庭信息局域网)实现与安防控制器和视频控制器的连接,互相 传递 bacnet 控制信息。hi2c 上运行着 x- 10 协议软件,以 x- 10 协议实现与所有家电 设备(包括空调、灯光等)的连接。在 hi2c 上还运行着 hi2c 总控模块,负责处理来 自协议栈应用层和 web 服务器的各种报文。 (2) 直接数字控制器 直接数字控制系统的英文全称为:direct digital control,简称 ddc。计算机通过 模拟量输入通道(ai)和开关量输入通道(di)采集实时数据,然后按照一定的规律进行计 算,最后发出控制信号,并通过模拟量输出通道(ao)和开关量输出通道(do)完成控制 过程。ddc 系统中的计算机直接承担控制任务,因而要求实时性好、可靠性高和适应 性强。直接数字控制系统主要由过程输入通道、过程控制计算机、过程输出通道三部分 组成。过程输入通道由模拟量输入和数字量输入两部分组成。过程控制计算机直接承担 运算和控制任务,首先通过过程输入通道采集被控对象的各种参数信号,再根据预定的 控制规律进行运算,然后向被控对象发出控制信号,再通过输出通道直接控制调节阀等 执行机构。过程输出通道由模拟量输出和数字量输出两部分组成。前者把计算机输出的 数字控制信号转换成模拟电压或电流信号, 再经过放大器去驱动调节阀等执行器实现对 生产过程的控制。这一部分由接口电路、da 转换器,放大器和执行器组成。后者把 计算机输出的开关信号,经放大器去驱动电磁阀和继电器执行器,它由接口电器、光电 12 耦合器、放大器和执行器组成37。 (3) 家庭服务器 家庭服务器是一台向外提供信息服务的计算机。在家庭服务器上运行着 web 服务 器软件,使得智能家居系统能够通过 web 访问,家庭服务器上装有防火墙,阻挡任何 对家庭内部网络的非法访问,家庭服务器上可以远程购物等各种功能软件,满足数字化 生活的要求,家庭服务器上可以连接娱乐设备,成为家庭数字娱乐的中心。对一般的家 庭应用而言,一台性能稳定的家用 pc 就可以扮演家庭服务器的角色。 对于智能家居 web 远程浏览控制系统而言,家庭服务器并非必须。如果没有家庭 服务器,可以将 web 访问和控制部分相关的软件安装在 hi2c 上。但这样加重了 hi2c 硬件的负担,对于嵌入式设备而言,这点显得非常重要。 h i 2 c a d s l 以太网 3 / 8 电话 交换机 电话机 传真机 电话机 x - 1 0 射频发送模块 安防控制器1 视频控制器 x - 1 0 射频转发模块 电灯 遥控器 执行器 水表电表煤气表 红外接收器1 红外接收器2红外接收器3 摄像1摄像2 e t h e r n e t e t h e r n e t e t h e r n e t r s 4 8 5 r s 4 8 5 r s 2 3 2 r f i r 安防控制器2 声光电传感器 因特网 办公室 外地 消防队 公安局 手机 电信局 x - 1 0 信号接收模块 x - 1 0 信号接收模块 x - 1 0 电力线 a d s l m o d e m 冰箱 c o a x i a l - c a b l e 有线电视网 c a b l e m o d e m 图 2.1 智能家居的内部网络及其硬件 2.1.4 软件bacnet 协议栈、hi2c总控模块与网关模块 (1) bacnet 协议栈 13 bacnet 协议栈是实现 bacnet 协议数据通信的软件, 完全符合 bacnet 协议的通信 标准。协议栈作为一种基础软件,向上层应用提供软件接口,上层应用程序调用这些接 口就可以实现数据在 bacnet 网络中的传输910。 协议栈软件设计的一个难点就是如何找出正确的共同服务集, 使其在不过分限制应 用程序设计者的情况下对应用程序隐藏网络的复杂性,虽然 bacnet 协议明确规定了各 层协议的功能和规范,但具体怎么规划这几层,哪几层应该加入协议栈作为公共部分提 供给所有应用程序调用, 而哪几层又要拿出协议栈留给应用程序自己实现, 对此 bacnet 协议并没有做出明确的规定。怎样合理的划分 bacnet 协议栈,从而提供给应用程序一 个友好的接口,必然会成为协议栈设计的重要指导方针22232425。 图 2.2 给出了 bacnet 的协议栈模型。 a p 1 b a c n e t 应用层 b a c n e t 网络层 b a c n e t 数据链路 层 b a c n e t 物理层 a p 2 b a c n e t 应用层 b a c n e t 网络层 b a c n e t 数据链路 层 b a c n e t 物理层 物 理 传 输 媒 体 数据部分 数据部分 数据部分 n p c i l p c i 1 0 1 0 0 1 1 比 特 流0 1 0 1 1 1 1 0 1 0 应用程序数据 a p c i b a c n e t 设备1b a c n e t 设备2 图 2.2 bacnet 协议栈模型 假定 bacnet设备 1 中的应用程序(ap1)要给 bacnet 设备 2 中的应用程序(ap2)发 送数据。ap1 首先将数据交给 bacnet 应用层。bacnet 应用层加上必要的应用层控制 信息 apci就变成了 bacnet网络层的数据单元。网络层收到这数据单元后,加上本层 的控制信息 npci,就成为 bacnet数据链路层的数据单元,依次类推。不过到了物理层 由于是比特流的传送,所以不再加上控制信息。当这一串比特流经 bacnet 网络的物理 14 媒体传送到目的设备时,就从 bacnet物理层依次上升到 bacnet 应用层。每一层根据 控制信息进行必要的操作,然后将控制信息剥去,再将该层剩下的数据单元上交给更高 的一层。最后,把应用层进程 ap1 发送的数据交给目标设备的应用程序 ap2。虽然 bacnet 设备之间进行通信要经过图 2.2 所示的复杂过程才能完成,但这些复杂过程对 用户来说,却都被 bacnet 协议栈屏蔽掉了,以致应用进程 ap1 觉得好像是直接把数据 交给了应用进程 ap2。同理,任何两个同样的层次(例如在两个设备的网络层)之间, 也好像如同图 2.2 中的水平虚线所示的那样,将数据(即数据单元加上控制信息)通过 水平虚线直接传递给对方。因为这几个层次画在一起很像一个堆栈,所以有术语“协议 栈”4041。 (2) hi2c 总控模块 图 2.3 hi2c 总控模块软件结构图 hi2c 的总控模块负责处理来自协议栈应用层和 web 服务器的各种报文。用户在 hi2c 总控模块 api 15 web 页面的操作经 web 接口模块发送到总控模块进行执行。总控模块还负责管理hi2c 网络中来自于红外遥控器和各种控制器的报文信息,分类调用子功能模块。 hi2c 总控模块结构如图 2.3。从图中可以看出,总控模块接受来自 web 接口模块 的调用, 产生相应的 bacnet服务报文, 调用 bacnet协议栈接口, 将报文发送到 bacnet 网络中。 (3) 完成 web 远程浏览控制功能的软件 有两部分软件共同完成通过 web 远程浏览和控制智能家居系统的功能。 1) web 服务器软件 智能家居远程浏览控制系统软件中的基础构件, 负责接收来自internet的 http报文, 解析 http 报文中的参数提供给 web 应用,向 web 客户端发送 http 响应报文。在这些基 础功能之上,web 服务器还提供连接管理,安全机制等更高级的功能。internet 的接入 和web服务器软件的正确安装和运行是实现通过 web浏览和控制智能家居系统的基础。 2) web 远程浏览控制软件 web 远程浏览控制软件是架设在 web 服务器之上的 web 应用(又称 web 服务) 。 它 的功能是接收 web 服务器上传的 http 协议数据,将其转化为智能家居网络的控制报文, 建立并维护与智能家居网络的连接,将报文发送给智能家居网,等待接收响应报文。 2.1.5 一个用例的解释控制软件的功能及其在控制系统中的地位 以用户通过 internet打开家庭内部一盏关闭的灯的控制操作为例。用户在 web 页面 上看到灯的当前状态是关闭的,他(她)在页面上完成打开的操作,此时标识这盏灯的 设备实例号和象征打开动作的参数就被封装到 http 协议报文中,由 web 客户端通过 internet网络发送到家庭网关中的 web 服务器上,由 web 服务器从 http 报文中提取出灯 的设备实例号和操作参数,上传给 web 远程浏览控制软件,控制软件接收到这些参数 后,经过一系列的应用逻辑处理,比如判断用户有无打开这盏灯的权限,web 服务器上 传的参数是否正确完备等,然后调用 hi2c 总控模块生成 bacnet 服务报文,将报文交 给 bacnet 协议栈进行传输,并等待接收包含操作结果的响应报文,一旦接收到响应报 文,控制软件将响应报文中代表操作结果信息的参数解析出来,转化成 http 协议参数, 下传给 web 服务器,web 服务器将这些参数包装到 http 响应报文中,发送到 web 客户 端,web 客户端以 web 页面的形式将操作结果展现在用户面前。 通过这个打开灯的控制用例,可以更清楚地看到 web 远程浏览控制软件的功能和 16 它在系统中的位置。 2.2 web 应用开发中的 mvc 模型 mvc(model- view- controller)模型已经在桌面应用程序的开发中取得了成功,这 种开发模型现在被引入 web 服务的开发领域,在进行了一些适应性的改变之后,mvc 模型为 web 服务的开发带来的效率提升

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论