新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于IAIDL 的家庭网关设计与实现

基于IAIDL 的家庭网关设计与实现

作者:时间:2009-03-31来源:网络收藏

1.引言

本文引用地址:http://www.eepw.com.cn/article/158136.htm

信息家电就是利用电脑、电信和电子技术与传统家电相结合的创新产品,是为了使数字化与网络技术更广泛地深人生活而的新型家用电器。是信息家电所处的信息网络的核心部分,也是智能家居的心脏,它被用来连接信息家电网络和Internet 外部网络,完成内外网络间不同通信协议的转换及家庭内各信息家电之间的智能协作,对家电设备的智能管理和远程控制。图1 为该家庭的概要功能示意图。

图1 家庭功能结构图

2.信息家电网关开发平台及软件

在本文的家庭网关中, 以ARM 7 作为家庭网关硬件平台。裁减并移植操作系统uCLinux 提供底层软件支撑。信息家电通过 (信息家电接口定义语言)向家庭网关注册,数据库MySQLite 存放每个家电的注册信息、参数值以及状态信息等。 编译器和专家协作系统,用于异构信息家电之间的协议转换,以及信息家电之间的智能协作。嵌入式WEB 服务器BOA 调用相应的CGI 应用程序来执行远程监控操作。下面就来介绍一下在ARM 7 开发平台下进行的 的信息家电家庭网关的过程。

2. 3.IAIDL 编译器设计与实现

位于家庭网关上的IAIDL 编译器主要用于实现家庭网络中各类信息家电的注册管理、控制管理及状态管理等基本服务。按照IAIDL 规范书写的设备描述文件即IAIDL 文件由各家电厂商提供,IAIDL 的原料信息则由用户远程操作不同种类信息家电提供。我们将从IAIDL 中提取出来的信息(以一种易记录、存储和使用的方式表示,称为中间信息)存储在网关上的数据库中,当用户对某设备发出操作请求时,我们先根据数据库中的相关信息在客户端生成一个相应的操作界面,用于反映该设备的状态和属性信息,用户选择执行完某一具体操作后,若设备的状态和属性发生了变化,数据库中相关数据表和客户机的操作界面将同步体现出来。而这种完成提取中间信息的工作和界面自动生成工作的软件就是本文中要加入家庭网关的IAIDL 编译器的接口解释器和界面解释器部分。图2 为IAIDL 编译器在家庭网关中的功能结构图。

图2 IAIDL 编译器功能结构图

IAIDL 编译器是采用lex 和yacc 实现的。它们是特意为编写编译程序和解释程序的人设计的工具,适用于在输入中查找模式或者拥有输入或命令语言的任何应用程序。下列程序段是IAIDL 使用语法分析器yacc 在定义段的部分内容(接口解释器):

A:P IS '< 'P '>'{//提取设备名和设备类型
device_name = $1; type_name=$3;
//检测该类型是否已经存在于设备类型表中
flag=check_type(type_name); ……;
//向设备类型表中添加新的类型信息

insert_device_type(device_type,type_name,type_name);
……;};

4.体系结构

智能家居网关是家庭信息网络的核心部分,它被用来连接整个家庭信息网络的中心控制服务器和内外网,完成内外网络间不同通信协议的转换及家庭内各信息家电之间的智能协作,实现对家电设备的智能管理和远程控制。图3 为该家庭网关的体系结构。

图3 体系

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭