发布时间:2010-11-29 阅读量:2918 来源: 发布人:
【中心议题】
【解决方案】
引言
嵌入式系统目前的应用可以说是无处不在,它的占用资源少,专用性强,功耗低的特点使其广泛应用在移动通信领域,工业生产领域,安全监控领域等等。数字家庭这一理念从提出到现在经过了不到20年的发展,一开始只是一些个体的具有一定智能的家居设备,而现在是从整体上去设计智能家居体系结构,提出了数字家庭网关,家居服务器,家电管理等等一些概念。
1家居服务器总体设计
目前大部分的数字家庭家居服务器采用的都是以个人电脑即PC为中心,家电设备与PC相连的体系结构,这样开发的服务器降低了系统开发的难度。但必须有一台PC作为独立的服务器,增加了成本,而且这种结构有着一个最大的缺陷就是功耗大。从数字家庭的设计理念我们可以发现,数字家庭可以说是全天候服务的系统,而功耗自然成为数字家庭设计开发以及普及使用的一个重要问题。以嵌入式设备来设计家居服务器很好的解决了功耗的问题,整个数字家庭服务器作为一个专用的嵌入式设备,其功耗要比PC小的多,成本又小于个人电脑而且它不需要额外的散热装置。本文提出的数字家庭的构想在基于目前比较流行的数字家庭的体系结构的基础上提出了自己的改进,其中一个很大的不同就是采用嵌入式设计理念,使得家居服务器成为一个嵌入式设备。
在数字家庭中,家居服务器需要管理的设备,以及要进行的服务是非常繁多的,如何设计一个良好的家居服务器是数字家庭得以实现并保证良好运行的关键。数字家庭主要的功能以及将嵌入式数据库应用到家居服务器之后,其家居服务器的体系结构如图1。
2家居服务器硬件的设计
32位ARM嵌入式微处理器具有高性能、低功耗的特性,已被广泛应用于消费电子产品、无线通信和网络通信等领域,极其适合于对成本和功耗要求较苛刻的应用场合。因此,本文选取了一款三星公司生产的基于ARM7TDMI核的16/32位RISC嵌入式微处理器s3c44BOX。并以此为中心,设计了其它功能模块FLASH接口模块、SDRAM接口模块、网络接口模块以及其它外围辅助电路模块诸如时钟电路、复位电路等,如图2所示。
3软件平台的构建
3.1嵌入式操作系统uCLinux的移植
uCLinux为Micro一Control一Linux,即“针对微控制领域而设计的Linux系统”。它它可以说是最早的嵌入式Linux发行版本,是专为没有MMU(内存管理单元)的处理器而设计的,将根据需要进行裁减后移植作为软件的平台。
3.2嵌入式数据库MySQLite的移植
嵌入式数据库MySQLite是基于Linux开发的,因此在ARM一uCLinux上的移植相对简单,主要实现步骤如下:
(1)添加MySQLite作为uCLinux的一个用户应用程序;
(2)针对具体的ARM一uCLinux修改MysQLite;
(3)编译生成包含有mysqlite的romfs文件系统;
(4)下载romfs到uCLinux的可读写目录,运行mysqlite即可。
3.3嵌入式WEB服务器Boa的实现
Boa是一个单任务的http服务器,源代码开放、性能高,支持认证,支持CGI。目前,uCLinux中己包含了boa的源代码,通过在boa.conf和mime.types文件中修改网页存放的路径以及CGI程序存放的目录,并且修改aut_check_userpass()函数完成多用户合法性验证,从而在uCLinux中实现Boa的WEB服务。
3.4 MySQLite中数据表的生成和分类
家庭网关数据库MySQLite中包含有两种类型的数据表:用户信息表和家电信息表。用户信息表用于存储用户名称和密码,可与用户登录程序login、用户注册程序registration进行交互。
家电信息表主要存储家电的运行状态数据,主要与家电控制程序controller、查询程序query进行交互。
家电通过接口定义语言向家庭网关注册,家庭网关编译器对信息家电接口定义语言(IAIDL)进行扫描与分析,并将其解释成一种中间信息,再将这些信息存储在MysQLite的相关数据表中。
IAIDL能够较完备地描述信息家电的属性和功能,并在一定程度上定义了家庭网络中设备之间的互操作。但是IAIDL不是编程语言,只是说明性语言,因此它不可能被编译或解释成一个可执行的程序。这就需要有一种机制能提取信息家电向家庭网关注册时所发送的IAIDL中所描述的内容,并解释成一种中间信息,通过调用MysQLite提供的API函数,把这些信息存储在MysQLite的相关数据表中,家庭网关编译器就扮演了这样一个转换的角色。
4基于MySQLite的家居服务器程序设计
家电管理程序主要通过嵌入式数据库SQLite提供的接口函数对数据库进行操作,以达到数据的存储,查询,修改等操作。
此外,为了能够在嵌入式环境下提供交互性更好的图形界面,我们使用了Qt图形开发工具,用图形界面代替原本的字符界面也是嵌入式发展的一个趋势,这样可以使得用户对嵌入式设备的操作更加简便,界面更加人性化。家电管理程序的结构图如图3所示。
由于SQLite不象SQL Server那样是引擎响应式的数据库而是程序调用式,此外,Qt也不象Visual C++或Delphi那样在程序中提供了对数据库编程的支持,所以想要在Qt环境下开发数据库相关的程序,必须在工程文件上做修改,或者直接修改Makefile文件以实现与数据库的连接。
设计家电管理程序的主要目的是验证我们提出的数据管理模式的可行性,并给出利用嵌入式数据库,以及Qt开发工具开发数据库相关应用程序的方法,所以模拟的家电管理程序本身功能并不复杂,要管理的家电设备也只选取了具有代表性的空调,热水器和微波炉,管理的内容包括各个电器的状态查询和状态修改设定,其功能示意如图4。
开发嵌入式环境下的应用程序不同于开发PC环境下的应用程序,其步骤要更加复杂,图5就说明了利用Qt及SQLit。开发应用程序的基本过程
那么为了能够使用Qt开发应用程序,首先要在宿主机端建立Qt/Embedded程序的开发环境,在这样的环境下,能够对利用使用Qt编写的应用程序在嵌入式环境下的运行提供模拟。其次要使得我们的实验环境能够对用Qt编写的应用程序提供运行支持,也就是在实验环境中要存在支持Qt程序运行的相关库文件。下面就首先介绍如何在PC上的建立Qt/Embedded的开发环境以及如何在实验环境中提供支持Qt运行的相关库文件。
5结论
本文的创新点:在综合分析当前嵌入式数据库系统的主要功能和发展现状的基础上,针对嵌入式设备的具体特点,结合在家庭网关中的实际应用需求,本文就是考虑应用嵌入式数据库来解决未来数字家庭的数据管理问题,首先提出了应用嵌入式数据库的家居服务器体系结构,并对比考虑了传统数据管理模式的优缺点,提出了以嵌入式数据库为核心的模式,然后给出了数据管理中心的建立方法,包括如何建立硬件和软件环境,以及如何使得核心数据库得以运行。最后给出了在该数据管理模式下的基于SQLite以及Qt/Embedded的应用程序的开发过程。
本期EIT探讨了从工业4.0到工业5.0的转变,以及即将实现的技术进步
CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相
CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相
CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相
作为我国中西部地区历史最悠久的光电领域全产业链综合性年度盛会,规模和档次逐年增加和提高,CCWPE2025又新增了多个行业组织联办单位,同时将进一步扩容和丰富论坛内容。