手机端
or

欢迎您加入我爱方案网QQ群

1.智能产品外包服务群(311606115)
2.嵌入式项目开发群(491609563)

基于信息家电的推拉技术的研究

彭华; 唐赞玉; 刘宏| 信息家电,生命周期,推送,拉取| 2010-11-30
920 收藏
分享到: 
每日精选
热门推荐

【中心议题】

  • 介绍了智能家居中信息家电的控制方式
  • 从信息家电生命周期的角度讨论了推拉技术在其各阶段的应用

【解决方案】

  • CORBA中的推拉机制引入智能家居中的信息家电控制系统
  • 提出了信息家电的设备生命周期的概念,并将推拉技术应用在信息家电生命周期的各个阶段


1引言

信息家电是未来家用电器的主要发展方向。它是通信技术、计算机技术和消费电子技术三个领域的融合,这种融合使得信息家电在传统家电的基础上实现了数字化、智能化并具有网络功能,使信息家电成为适应现代家庭信息化、小区智能化的必备商品。

2信息家电的控制方式

在未来的智能家居中,将由信息家电、家庭网关、万能遥控器三部分组成信息家电的控制系统(如图2.1)

 

2.1信息家电

每种信息家电设备(简称为设备)都具有某些特性,提供某些服务。为了让外界识别、理解和使用设备,需要一种能够将设备所有内容抽象出来的语言来描述它。IAIDL(Information Appliance Interface Define Language信息家电接口定义语言)就是这样一种语言,其唯一的目的是以与任何具体编程语言无关的形式来定义家庭网络中的信息家电设备。这样,每种信息家电设备都有对应的用IAIDL来编写的设备描述文件,在该文件中包含着对应设备的属性、操作、事件等的描述。当网关在获得某设备描述文件并注册对应设备后,该设备即可使用。

设备自身的状态可分为唤醒状态、睡眠状态和脱网状态。

设备的唤醒状态相当于逻辑开状态(在接收到开机命令后设备所处的状态),设备将以正常的功率运行着;睡眠状态相当于逻辑关状态(在接收到关机命令后设备所处的状态),并不是真正的关闭,仍然保持电源和设备上的控制程序的运行,只不过设备是以较低的功率运行着而已;而脱网状态则是真正的关闭,只有在摘除设备时设备才会到达此状态。

2.2家庭网关

家庭网关是整个家庭网络的中枢,其上运行着IAIDL解释器、嵌入式数据库和网关应用程序,管理着家庭中所有的信息家电。IAIDL解释器负责将获得的设备描述文件进行加工和处理,生成中间格式的设备资源文件(该文件包含着对应设备的注册信息);嵌入式数据库用于存储所有信息家电的设备资源文件;而网关应用程序则具有协议转换、通信管理、命令转发、数据库存取等功能。

2.3万能遥控器

与传统遥控器只能遥控一个传统家电不同,在家庭网络中,只需一个万能遥控器就足以操纵所有的信息家电,并使他们有效地协同工作。

万能遥控器作为与用户交互的前端设备,主要作用是提供一个GUI界面。一般来说,在万能遥控器上至少需要三种界面:

家庭网络中信息家电的类别界面,同类信息家电设备的列表界面及具体信息家电设备的详细信息界面。由于每个家庭中的信息家电的数目和类型都不尽相同,因此必须根据网关中嵌入式数据库里存储的信息家电的注册信息来动态生成界面。在生成界面之后,用户就可以同该界面进行交互操作了。当用户在界面上操作对应某具体信息家电的一个控件后,万能遥控器会解释该操作的具体含义并发出控制命令,通过家庭网关将命令送达至对应的设备上,然后由其上运行的控制程序完成设备的某个物理动作,并将操作的结果反馈给万能遥控器,周而复始。

3推送和拉取

“推送”是指由信息家电设备有目的的把自身的一些信息或数据主动上报给万能遥控器及网关的过程。而“拉取”是指万能遥控器或网关有目的的向信息家电设备发出请求,由设备搜集相关信息或数据并反馈给万能遥控器或网关的过程。

设备生命周期可分为设备产生、设备使用、设备故障和设备摘除四个阶段(如图3.1)。在设备生命周期的各个阶段如果使用适当的推拉技术将会优化整个控制系统。

 

3.1设备产生

设备在接通电源并连入家庭网络后,必须向网关注册。因此,首先需要让网关获得新设备的设备描述文件,以便其上的IAIDL解释器能继续工作完成注册。在设备与网关之间存在着不同的网络连接方式,若采用的是串口连接方式(在该方式下,设备无须获取网关的ip地址就可与网关通信),应使用“推送”模型,由设备主动的将自己的设备描述文件写入串口并通过网络提交给网关;而若采用网线连接方式(在该方式下,设备只有在获取网关的ip地址后才能与网关进行通信),则应使用“拉取”模型,由网关应用程序通过“广播”通讯模式发送“获取未注册设备的设备描述文件”命令给所有设备,由运行在设备上的控制程序自行判断该设备是否注册过,如果是未注册的设备则响应该命令----回送其设备描述文件至网关,而注册过的设备则在收到命令后不作任何响应。

3.2设备使用

3.2.1可变属性

设备的属性可以分为不变属性和可变属性。例如:一台空调,它的型号、生产厂家等属性就是不变属性;它的当前室温就是一个可变属性。

在设备完成注册后,应由网关获取设备的不变属性值和可变属性的当前值,然后将不变属性值存储至数据库中(或网关应用程序的数据结构中),将可变属性的当前值存储在网关应用程序的某个数据结构中(因为可变属性值会不断变化,若是将其写进数据库中,将会造成数据库长期处于写状态,以至于系统性能下降)

由于设备的可变属性值可能每时每刻都在变化,因此必须要解决的一个技术问题是:万能遥控器需要不断地获得可变属性的最新数据以保证界面上显示的数据和设备的真实物理状态保持一致或尽可能保持一致(在无法保持一致的情况下)。此时,可采用“推送”和“拉取”两种模型来解决该问题。

在“推送”模型中,无论万能遥控器当前界面是哪种界面,家庭网络中任何一个信息家电设备的可变属性值一旦变化,就“推送”可变属性的最新值给网关,由网关将其存储在网关应用程序的对应的数据结构中。一旦万能遥控器需要为某具体的信息家电生成详细界面时,则从网关处取得所需要的数据(包括存储在数据库中的属性名、操作名、不变属性值以及存储在网关应用程序中的可变属性值、操作参数的当前值)。生成该界面后且离开该界面前,由网关应用程序检测该设备可变属性对应数据结构中的值是否发生更新,若是,则将最新数据传递给万能遥控器,由万能遥控器更新界面。

在“拉取”模型中,当万能遥控器处在同类设备的列表界面时,从逻辑上来说,用户很有可能会从同类设备列表中选择某一个具体设备,从而下一步将生成具体信息家电设备的详细信息界面。因此,万能遥控器可进行“预先拉取”----通过发送命令给列表上的所有设备,“拉取”它们的可变属性值的最新数据并存储在网关的对应的数据结构中,一旦在该界面上进一步地选择了某个具体的信息家电设备,则将快速地生成具体信息家电的详细界面。此时万能遥控器还需发送命令给列表中其他未被选中的设备,要求它们停止上送可变属性值的最新数据。这样,只有被选中的一个设备会不断地按其变化的频率(若变化速度太快,则规定某个合适的频率)上送其可变属性的最新数据至网关;而万能遥控器仅需要从网关上取得最新数据来更新界面即可。在离开该界面后,还必须向当前设备发送命令要求其停止上送可变属性值的最新数据。

这两种模型各有优缺点。在“推送”模型中,随时可以获取任何一个设备的可变属性的最新值,且实现上算法设计简单;但当系统中设备的可变属性数目较多且所有可变属性的变化频率较快时,整个系统会因为网关处理数据时间增加及网络通讯异常繁忙而导致系统性能严重下降。在“拉取”模型中,若当前界面为同类设备列表界面,只有一部分设备按某种频率上送其可变属性的最新值;若当前界面为具体信息家电的详细界面,则仅有一个设备在不停地上送其可变属性的最新值,因此即使这些设备的可变属性的变化频率较快,也不会造成系统性能有太大的影响;但缺点是无法随时取得所有设备的可变属性值的最新值,而且需要不断地动态生成并下发命令包,在实现上算法设计复杂。

 

因此,“推送”模型适用在系统中设备的可变属性较少或可变属性的变化频率较慢的情况下,而“拉取”模型适用在系统中设备的可变属性较多且可变属性的变化频率较快的情况下,需要根据实际情况进行选择。

3.2.2事件

每个信息家电在注册时均会描述其能够提供的事件,例如:

电视机打开、空调检测到的当前室温过高等等。在设备使用时,既可以由运行在设备上的控制程序不断地去检测其硬件的物理状态的变化,一旦发生了某事件,则设备主动“推送”事件给万能遥控器;也可以由万能遥控器或家庭网关通过下发命令要求设备查询自身硬件的物理状态,“拉取”所期望的事件;最后由万能遥控器去处理或显示。一般来说,采用“拉取”模型会更合理一些,在网关或万能遥控器需要获取某设备的某事件时或在它们空闲时,通过下发命令来进行“拉取”(通常是在设备操作的命令执行之后)。而如果让家庭网络中所有设备不断地去检测硬件的物理状态,则可能会影响设备的响应速度,从而造成系统性能下降。

3.3设备故障

设备故障主要指设备的硬件故障。若设备存在某种故障,但仍能保持电源和设备控制程序正常运行,只是不能完成操作。可以采用“推送”技术,由运行在设备上的控制程序不断地自检,搜集故障信息主动上报给网关和万能遥控器。也可以在适当的时候,由网关下发命令要求设备自检,“拉取”设备的自检结果。

一般来说,此时采用“拉取”模型更合理一些。可以在网关空闲的时候下发命令要求所有设备自检或在万能遥控器发现下发给某设备的操作命令执行后未有“有效信息”返回的时候下发命令要求指定的设备自检,“拉取”设备的自检结果,并将自检结果为设备故障的设备信息传递给万能遥控器,通过界面显示详细的设备故障信息告知用户。若由设备“推送”的话,设备上的控制程序的负担比较重;当所有设备都在不断地运行自检程序时,会使设备的响应速度变慢以致影响系统性能。

若设备发生了严重的故障以致不能保持电源或设备控制程序正常运行,显然无法由设备本身“推送”故障信息,只能由网关通过下发设备自检命令包来“拉取”故障信息;当网关检测到命令包无法到达设备端或重发若干次命令包均无“有效信息”返回,则判定设备故障,写入日志,并通过万能遥控器的界面显示未知的设备故障信息告知用户。

3.4设备摘除

设备摘除是设备生命周期的最后一个阶段,它首先需要网关在收到“设备即将摘除”的消息后完成一系列的工作,再由用户手动从家庭网络中拆除设备。

网关可以通过“推送”和“拉取”两种模型获得某“设备即将摘除”的消息。在“推送”模型中,当用户需要摘除设备时,由用户手动地关闭设备(例如:按下设备的“power”键),此时将会引起运行在设备上的控制程序调用其注销模块,主动将“设备即将摘除”的消息“推送”给网关。而在“拉取”模型中,当用户需要摘除设备时,由用户通过万能遥控器(例如:按下界面上的“注销当前设备”的button控件)发送命令给设备,要求设备进行注销,引起运行在设备上的控制程序调用注销模块,从而将“设备即将摘除”的消息“拉取”至网关。在设备摘除阶段这两种模型的同时存在是有意义的,它给用户带来了两种不同的进行设备注销的操作方式。

在网关收到某“设备即将摘除”的消息后就在网关处完成设备注销、将设备摘除事件写入日志、更新数据库及其相关数据结构等一系列清理工作。

4结束语

信息家电具有方便、高效、智能化的独特魅力,它对于改善现代人类的生活质量,创造舒适、便利的生活空间有着非常重要的意义。本文为家庭网络中信息家电的控制方式提供了基于推拉技术的解决方案,具有一定的实际意义。

本文作者创新点:本文的创新点在于:第一,CORBA中的推拉机制引入智能家居中的信息家电控制系统;第二,提出了信息家电的设备生命周期的概念,并将推拉技术应用在信息家电生命周期的各个阶段.

深圳市中电网络技术有限公司 Copyright© www.52solution.com 粤ICP备10202284号