首页 > 方案讯 > 资讯详情

面向对象的信息家电体系结构的研究

  智能家居  

张楚才; 谈潘攀; 刘宏 2010-11-30

1613

0

0

【中心议题】

  • 讨论了信息家电体系结构
  • 搭建了模拟实验系统

【解决方案】

  • 选择高性能的SX52单片机集成系统进行软硬件裁剪
  • 分别采用C/SB/S模式进行了系统模拟

1引言

信息家电是所有能够通过网络系统交互信息的家电产品。人类已经进入了信息时代,传统IT与传统家电必将汇入信息家电这条大河。已有的各信息家电标准都号称开放性平台标准,但是相互之间开发出来的产品却不能兼容。实际上都是从各自的利益出发,而没有从根本上去解决信息家电的互操作与即插即用性问题。从分布计算理论可知,分布式对象是通过接口定义语言(IDL)来定义的,基于IDL是解决异构系统集成的基础。为此,本文从信息家电的特殊性出发,把家电抽象成一个对象,以IAIDL加以描述,

从体系结构上研究信息家电的基础平台,该基础平台从体系结构上与具体的操作系统、编程语言、网络协议及具体的信息家电的功能实现等无关。

2信息家电体系结构

2.1信息家电的描述

从体系结构可以得出:硬件功能可由软件实现;软件功能可由硬件实现。而软件对象是通过软件代码实现的软对象,信息家电作为实体则可看作是通过硬件电路实现的硬对象。人们是通过Public(公有成员)来调用软对象的功能,通过操作接口(对外公开)来操作硬对象的服务,也就是人们可以通过操作接口来操作信息家电,譬如电视机上的开关、空调上的按钮等等。信息家电作为嵌入式系统,包含的信息有状态(属性)、操作(方法)、事故(事件)和反应(程序)。而要使信息家电之间(同类型的或不同类型的)相互通信,进而达到相互控制的目的,就必须使它们之间能够相互“认识”并“理解”各个设备之间交互的信息,并且这种“认识”和“理解”应该是不受各个信息家电设备的软、硬件约束的。所以需要构建信息家电的描述语言,为信息家电系统的软、硬件异构问题提供解决办法,它是建立一个标准的信息家电体系结构的基础。

 

信息家电接口定义语言IAIDL是一种用来定义家庭网络中信息家电的说明性语言。它采用面向对象的方法,将信息家电设备抽象为标准的“对象”,把设备的内部数据值转换为通用的、抽象的数据结构来实现数据通信。网关或网络控制器通过对对象的IAIDL的理解、分析来识别和访问设备,并通过相应的应用程序去远程操作控制家电设备的状态。以信息冰箱为例,用IAIDL进行描述如下:

A冰箱is<冰箱>{

enum pattern=(解冻,正常,速冻);

enum switch=(,);

[attribute:‘厂家’]A电器公司;

[attribute:‘功率’]120W;

[function:‘设置温度’]void SetTemp(in int st[[-18,3]]);

[function:‘设置模式’]void SetPattern(in pattern fo);

[function:‘开关’]void OnOff(in switch oo)provided;

[function:‘获取室温’]int GetRoomTemp(out int nowtemp);

[function:‘获取库存’]string GetStore(out int storage);

uses其它设备类型1;

}

 

IAIDL不能直接用它来编写可执行的程序,它只是描述设备资源信息,是有别于高级语言的非编程语言。用IAIDL编写的文件,记录了设备的可用信息,通过编译该文件,将这些信息提取出来,以数据的形式存储到位于网关的数据库中,供应用程序的开发者使用。用IAIDL对信息家电进行描述,遵循IAIDL标准规范,使信息家电的制造厂商和服务提供商分离,真正达到接口的统一,实现即插即用,家电之间的协同合作问题也能很好地予以解决。

2.2信息家电内部逻辑结构

信息家电作为服务的提供者,对它的内部逻辑结构的研究是研究信息家电体系结构不可分割的一部分。对信息家电内部逻辑结构的探索可以从信息家电的工作流程出发进行。首先,按照IAIDL规范,根据信息家电提供的服务功能,对信息家电设备的功能接口加以定义,产生接口定义文本。然后利用IDL编译器进行编译生成接口注册高级文本和接口调用框架高级文本,再与网络通讯协议高级语言文本一起被高级语言编译器编译成可执行程序。一旦信息家电到网关进行注册,则按照通讯协议产生设备注册包发送给网关,完成设备接口服务的注册。一旦有服务请求发送过来,则由接口适配器调用相应的设备接口,由接口执行内驻程序实现调用设备API,最后由驱动程序驱动硬件接口完成服务请求所需要的操作,如图1

2.3家庭网关逻辑结构

实现家庭网络与外部信息的交换需要设计一个理想的家庭网关,使其作为家庭内部网络与外部网络连接的物理接口和提供各种家庭服务的平台。家庭网关接口的有效的解决方案,当前比较统一的观点是开发一个集中式网关,它将提供一个最有效的桥接外部网络和家庭网络或设备的解决方案。另外,以PC作为家庭网关,体积过大,环境适应能力差,而且还必须安装两个网络适配器(一个用于连接Internet,一个用于连接内部网络),总的费用也比一台专用网关要高。因此,设计专用网关是完全有必要的。鉴于家庭网关的功能特点,其逻辑结构应如图2所示。

 

3模拟系统的设计与实现

3.1硬件设计与实现

美国Ubicom公司的SX52微控器具有速度快、强大的虚拟外设功能等特点,采用其成功的网络协议模块和一些适用于小型嵌入系统的做法构筑现场控制Web服务器是最明智的做法。选择SX52作为模拟实现信息家电和家庭网关交互的平台是非常合适的,因为利用其用户试验区模块扩展外围模块电路(如电冰箱遥控模块)模拟信息家电,以主模块模拟家庭网关,以实现通过远程终端(Web浏览器或者专用控制客户端)对信息家电的控制。在板上添加了红外遥控发射电路(主芯片CS5104)模拟信息家电,能够实现对家电的遥控功能,同时为了了解开发系统遥控效果,还添加了遥控接收电路(主芯片CS8206),可以响应发射电路的遥控信号。并且添加遥控接收端状态LED9只)用于显示家电状态。硬件构成框图如图3所示,本文只给出包含电冰箱/电风扇模块的框图,添加其它模块类似。

3.2 C/S模式软件设计与实现

通过专用控制客户端控制信息家电,首先要定义控制协议,让从客户端发送过去的信息被家庭网关解包提取有效信息后能进行协议转换,把控制信息转化为控制命令发送给信息家电,以执行正确的操作。

打开客户端程序如图4所示,根据需要配置控制电冰箱的各选项,点击“确定”后即启动开发板上的电冰箱模块,然后客户端程序发出的服务请求(包含连接家庭网关的认证请求),经过开发板上的RTL8019AS,再经SX52解释验证,如果验证成功,在SX52控制下把已经转换的请求信息发送给电冰箱遥控发射芯片,该芯片发送遥控信号遥控接收电路,通过相应的LED显示,从而响应远程控制请求。最后通过观看控制界面上的显示状态与开发板上相应LED显示是否相符(界面上表示温度的滑竿只设计了三个固定温度,在开发板上用三个LED分别显示),从而检验模拟系统运行成功与否。

 

 

3.3 B/S模式软件设计与实现

这种方式采用了嵌入式Web服务器(Embedded Web Server,EWS)。EWS是指将Web服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心的基于互联网的网络测试和控制设备。EWS系统与传统的Web应用相比,简化了系统结构,将信息采集和信息发布都集成到现场的测控设备中。由于有了标准的接口形式和通信协议,内嵌于设备的Web服务器可以向任何接入它所在网络的合法用户提供统一的基于浏览器方式的操作和控制界面,浏览器成了设备的前端控制板。由于Web技术的开放性和独立平台特性,大大降低了软件系统和通信系统的设计、维护工作量,节省了人员培训费用等,提高了现场测试和控制设备的管理水平。

为了达到模拟的多样性,在这种模式下我们将图3中的LED再添加3只,用于模拟显示电风扇状态。通过浏览器的web页面控制信息家电,首先同样要定义控制规则,让从网关发送过去的信息能够被家电接收解释并能执行正确的操作,与C/S方式类似,不再详述。启动开发板上的电风扇模块,打开远程控制端(如图5所示),然后根据需要点击前面的选项控制风扇,浏览器就将控制信息通过网线传给RTL8019AS,再经SX52解释转化为控制命令发送给电风扇遥控发射芯片,该芯片发送遥控信号遥控接收电路通过相应的LED显示,从而响应控制请求。最后通过观看控制界面上灯的状态与开发板上相应LED显示是否相符,从而检验模拟系统运行成功与否。

4小结

本文以信息家电描述语言IAIDL为基础,讨论了信息家电体系结构,并选择高性能的SX52单片机集成系统进行软硬件裁剪,利用外围硬件电路和虚拟外围及网络协议软件虚拟模块,搭建了模拟实验系统,分别采用C/SB/S模式进行了系统模拟,为进一步研究信息家电提供了条件。

已赞(0)

文章评论

登录后参与评论

每日精选

热门文章

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