家用电器即插即用技术规范的研究
2008-08-21
作者:姬亚鹏1, 吴明光1, 王尧民2
摘 要: 目前国内市场推出的智能家居产品大多基于公司自定义的某种标准,由于未经长时间的应用验证和业界的普遍认同,其技术有两个明显的缺陷:不同公司的产品无法互联、互操;产品不具备即插即用" title="即插即用">即插即用功能——易用性差。本文遵循美国电子工业协会标准(EIA600,EIA721),参照微软和消费总线委员会(CIC)的简单控制协议SCP,以及家电即插即用技术规范(HomePnP)模型,给出了基于该技术规范的构建技术。HomePnP中传输协议的独立性和上下文绑定" title="绑定">绑定等机制,使得不同厂家的家电互联、互操和即插即用成为可能。
关键词: HomePnP SCP CEBus
智能家居要求家用电器经网络(总线)实现互联、互操和即插即用。目前,国内市场的相关产品大多基于自定义的某种技术规范,尚无得到广泛认同的统一家电接口标准。从技术角度而言,更多意义上还是一种概念性产品。国家经贸委和信息产业部第七标准化小组将在2003年推出有关智能家居网络系统的标准,其中一个重要的标准就是家电的接口规范。智能家居产业的健康发展有赖于这一标准和规范的指导。
国际上主流的家庭网络标准有:美国的X10[1]、消费总线(CEBus)[2]、日本的家庭总线(HomeBus)[3]、欧洲的安装总线(EIB)[4]。技术上并不先进的X10,只支持开关量,用于面板开关和继电器类的简单电器,但凭借价格低廉、性能可靠,尤其是它的易用性,一般用户均能自行安装,商业上取得了巨大的成功:450万户美国家庭采用X10,累计销售了1.2亿个模块。1984年,美国电子工业协会(Electronics Industry Association, EIA)认为X10协议已经不能满足现代生活的需要,并在1992年发布了CEBus(Consumer Electronic Bus)协议[5],其目标是建立一个针对消费类电子产品的开放性协议。1994年,CEBus工业委员会(CIC)成立,其成员为国际知名厂商。2002年6月,微软和CIC共同宣布支持基于CEBus的简单控制协议SCP,SCP是微软UPnP协议的子集。如果说X10是在低技术层次上,通过简单的操作来达到产品易用性,则CEBus是在高技术层次上,通过家电的互联、互操和即插即用来实现产品的易用性。HomePnP(HPnP)是CIC制定的基于公共应用语言(Common Application Language,简称CAL)的家电系统相互协同进行互操的规范。HPnP不是一种语言,它为支持CAL的家电提供统一的应用规则来实现家电的即插即用功能。
1 HPnP中传输协议的独立性
传输协议的独立性是HomePnP规范的最主要目标之一[6]。 HomePnP规范使生产厂家可以使用一个应用协议,并选择合适的独立的传输网络(RF,PL,IR)。由于HomePnP计划运行于已有的消费电子产品协议如CEBus和IEEE 1394(Fire Wire)之上,所以它对下面的传输层只提出最少的要求,保持其独立性。
家庭产品即插即用(HomePnP)采用分层结构,通过三个主要的功能模块来处理应用层和更高层的问题。如图1所示。
最下层代表应用层及其相关的公共应用语言(CAL),它包含在EIA-600(CEBus)、EIA-721和EIA-766标准中,从而免去在不同产品之间设置昂贵的语言翻译网关。
上下文数据结构层代表各种各样用CAL句法开发而成的产品模型。通过定义安防、照明、环境、能源管理、家电设备、计算机和娱乐等的上下文,构成业界认同的家电产品模型。
最上层是系统指南,它指出即插即用安装的产品必须具有哪些行为特征。这些指导性的原则涉及到EIA-600中尚未解决的一些难题。
2 HPnP的结构
HomePnp通过5个不同层次的架构来实现家电的互操性。如表1所示。
下面,仅对HomePnP构造模块和子系统互操模块进行介绍。
2.1 子系统(subsystem)
子系统是家庭控制网络中功能相似和相关的设备和设备集。例如:安防系统、照明系统、环境控制系统、家庭娱乐系统。一个子系统包含了一系列的CAL上下文,这些CAL上下文分别负责一部分的控制功能[7]。HomePnP的子系统可以只存在一个设备当中,也可以分布在多个设备当中。
2.2 状态对象,侦听对象和请求对象
在CAL中按照设备的功能预定义了多种对象,在HomPnP中按照对信息的收发方式将这些对象分为3类,分别采用一种特定的符号来表示。
状态对象(status object):也称为“信息提供者”,它具有报告功能,对象的报告头(report_header)报告地址(report_address)绑定到CAL的报告功能向后面的“侦听对象”发送状态或数据;其中状态对象又细分为接收和不接收“请求对象”命令两类。
侦听对象(listener object):它接收“状态对象”的报告,并能够根据接收的内容调整自己的工作。侦听对象没有报告功能。
请求对象(reqeust object):能够发送“请求”改变状态对象的状态,它也是采用报告的机制实现的,请求对象的目的上下文就是状态对象所属的上下文。
在一个家庭自动化网络中,请求对象引起设备改变状态,接着状态对象公布设备状态的变化,所有的工作着的侦听对象都能收听到这个状态信息。这三种对象构成各子系统并通过松耦合" title="松耦合">松耦合实现互操作的基础。
2.3 家居模式上下文(Home Mode Context)
家居模式上下文是用来表示当前家庭状况的一个上下文,这是HomePnP一个重要的特性。这个上下文为所有的HomePnP子系统提供了表示当前家庭状况(如在家,离开,休息)的通用方法。通过接收关于这个上下文的HomePnP广播,所有子系统可以根据它们自己的设计来调整相应的行为。这种方法为家庭控制系统提供了一个完整和协调的解决方案。
3 互操性及其相关概念
互操性是指子系统可以和其系统内部的设备或者和其它的子系统进行协同工作,也就是说CAL的上下文模型支持子系统内或者子系统间的上下文协同工作。图2是互操性的模型示意。
3.1 绑定(bind)
对象之间的连接称为“绑定”(bind)。图3是一个带状态反馈的控制面板、指示面板与电风扇绑定,用户操作控制面板发出控制信号到电风扇的侦听对象,电风扇的工作状态改变之后,又发出一个报告,这个报告反馈到控制面板,指示用户命令执行状态,同时另一个指示面板也收到电扇的状态报告,从而可以在远端更新指示。每个符号的箭头表示信息的流向。
在HomePnP中定义了缺省报告地址、目的对象以及用CAL描述的报告内容的数据格式。当报告地址采用广播地址的时候,所有的设备都可以听到这个消息,但是不是所有的设备都会处理这个消息,因为有些设备没有报告中指定的目的对象。因此,一个传感器设备可以按照规定将测量得到的信号根据HomePnP的要求以CAL报告的形式发送到网络上;在其它设备中构造一个目的对象,也就是侦听对象,就可以获取这个信息。
3.2 子系统间的互操性
子系统间的互操性主要表现为松耦合(loose coupling)和缺省绑定(default binding)。
在HomePnP的规格说明书中,对每一种状态对象都规定了相应的侦听对象,它们有特定的对象序号,存在于特定的上下文中。状态对象在缺省情况下向一个正确的侦听对象发送消息。当然,侦听对象可以选择接收哪一个设备发出的状态消息,这就是“缺省绑定”。
某个状态设备正常工作时,用缺省绑定的方法把信息广播到网络上,它并不关心那些设备收到了消息。其它设备中只要有一个对应的侦听对象就可以获得这个信息,这样就可以省略数据链路层的绑定过程。由于收发设备之间没有明确的地址联系,因而称为“松耦合”(loose coupling)。松耦合采用HomePnP广播地址作为其报告地址。
松耦合是HomePnP的一个特点。HomePnP结构采用子系统松耦合等新思想,使设备的复杂性可按自然形态分层。在松耦合方式中,子系统可以向所有其它的HomePnP子系统报告状态信息,使得厂家在设计产品时不必详细了解其它厂家的产品。例如,我们可以设计一安全系统" title="安全系统">安全系统:如果窗户打开时空调器被启动,安全系统便发出告警。采用松耦合方式,安全系统只需配备一个合适的收听对象,用于收听来自环境监视的信息,按照约定接收来自空调器的报告。安全系统可以根据自己的设计决定使用或者不使用这个信息。请求对象也可通过网络引起状态变化。
3.3 系统内的互操性
HomePnP中也支持以确定的目的地址作为状态对象的报告地址的报告机制,这种报告叫做“紧耦合" title="紧耦合">紧耦合”(tight coupling)。由于紧耦合有明确的目标地址,因此可以减少网络冲突,并可以采用立即响应的方式。
子系统内的互操一般采用紧耦合的方式,如温控器和空调的关系,开关和灯的关系等等。紧耦合和松耦合的方法不同,松耦合的对象之间用虚线相连,表示为HomePnP广播消息,而紧耦合的对象之间用实线相连。
4 具有互操作性的即插即用家电系统
通过家庭即插即用,我们可以建立一个完整的具有互操作性的家电系统。其结构如图4所示。状态对象和侦听对象主要用于子系统内互操,而请求对象一般用于系统间互操作。在子系统A的控制器中实现一个状态对象,执行机构中实现对应的侦听对象。当用户操作控制器、或者控制器得到的传感器值变化时,就改变当前的状态并将更新的状态发送出去,然后执行机构根据这个状态调整自己的工作。请求对象存在于另外一个子系统B中,当它要改变A中执行机构的运行时,就向这个子系统的状态对象发送命令,从而实现子系统间互操。
典型的应用是这样的:家庭的每一个子系统都有一个控制器,这个控制器通过绑定关系与一些的传感器关联,可自动控制执行机构。各种传感器、控制器、以及用户输入按钮显示器等分散在家庭的多个设备中,通过绑定关系建立关联,它们之间的信息交换属于子系统内互操;在电视机中有各系统的请求对象,用户通过遥控器与电视机“对话”,从而控制其它任意一个子系统。电视机(或者是计算机)起到了集中监视和控制的作用,可以让用户浏览并控制所有设备,属于系统间互操。如图4所示。
图4是一个粗略的示意图,实际上图中的每一个子系统都有复杂的组织结构。图5为基于CEBus的家庭智能住宅结构图。
说明:图5中,每个白框代表一个设备,它们的连接是对等的,因此,每个设备都具有嵌入式的网络接口,都连接在电力线或双绞线上。用户对设备的控制方式有:用设备自身的按钮控制;自定义控制面板上按钮的功能,实现对其他设备的控制;用语音控制模块实现语音控制;在电视机上可以查找到所有的设备并进行控制;用PDA等手持设备控制设备;设备之间可以互相操作,简称互操;利用计算机实现对所有设备的操作和设定;可以在远程与嵌入式的家庭网关连接,从而实现远程操作。
遵循美国电子工业协会标准(EIA600,EIA721),参照微软和CIC共同提出的简单控制协议SCP以及家电即插即用技术规范模型,开发了基于该技术规范的构建技术。应用研究成果所开发的原型系统2000年6月在美国大西洋城、2000年11月在杭州西博会上展示,演示系统2001年11月在杭州西博会人居展演示,样机2002年深圳高教会展示。获行内专家和有关领导的肯定。借鉴国外相对比较成熟和可靠的技术与国际标准兼容,是开发智能家居及其相关产品的一条比较稳妥的技术路线。
参考文献
1 Dennis Sellers,Home automation software supports new x-10 receiver,March/20/2001. dsellers@maccentral.com
2 Yang, Jaesoo;Manikopoulos, constantine N, performance comparisons of the CEBus with other protocols,IEEE Transactions on Consumer Electronics V39n4.Nov.1993. p824-p831
3 Kenneth P. Wacks, Home Automation and Utility Customer Services, Cutter Information Corporation,1998
4 G.Seip, The future of EIB system. In: EIB-proceedings, 2000.3. p9-p13
5 EIA-600.10 Introduction to the CEBus Standard REvision: 2-5-95 DRAFT COPY
6 HomePnPTM Specification Vision 1.0, April 9,1998
7 Proposed EIA-721 Generic Common Application Language (Generic ACL) Specification.