




已阅读5页,还剩68页未读, 继续免费阅读
(通信与信息系统专业论文)基于web技术的嵌入式用户界面开发平台研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学硕士学位论文 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:亟噻堡竺: 日期: 垫坦:f :竺 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名:丝迭整日期:丝止:! :竺 导师签名:孟盐趔 日期: 盈! :! :强 北京邮电大学硕士学位论文 - 一 北京邮电大学硕士学位论文 基于w e b 技术的嵌入式设备用户界面开发平台研究 摘要 随着信息化步伐的加快,各种新颖的手持设备层出不穷,相关的 硬件和软件也得到了迅速的发展,特别是g u i ( 图形用户界面) 领域 的发展异常迅速。目前国内外已经推出了很多基于l i n u x 的g u i 产 品,比较成熟的面向嵌入式的g u i 有q t e m b e d d e d 、m i n i g u i 及 o p e n g l 等,为基于l i n u x 的嵌入式产品拥有华丽美观的图形用户界 面以及强大的功能奠定了良好的基础。但是,这些嵌入式g u i 类库 只是为嵌入式设备提供了一个良好的软件层支持,需要在它们的基础 上建立一个嵌入式设备的通用应用开发平台系统,为开发者提供简 单、快捷的开发环境。 本文通过集成相关的硬件平台、l i n u x 系统及嵌入式应用开发环 境,对开源嵌入式浏览器k o n q u e r o r e m b e d d e d 进行功能扩展,开发出 一个基于w e b 的g u i 开发平台。主要是通过引进基于l i n u xc 语言编写 的轻量级本地服务器,使之与本地浏览器进行交互通信,给本地浏览 器提供访问本地资源的功能。由于该平台集成了本地浏览器及本地服 务器的综合功能,开发者利用w e b 语言就可以为该设备开发出网络应 用及本地应用,最大程度上满足用户的功能及体验要求。 论文最终完成了基于w e b 的g u i 开发平台的搭建,给开发者提供 了访问本地资源的通信平台。论文作者通过利用该平台提供的通信方 t 北京邮电大学硕士学位论文 法调用本地资源,编写出实际本地应用,如目录浏览器、播放器列表 等实例来运行平台,结果成功地证明了平台的可用性。 本论文设计的基于w e b 的g u i 系统主要以嵌入式浏览器作为与 用户交互的工具,其优势在于任何熟悉c s s 、h t m l 、x m l 和j a v a s c r i p t 编程的开发者都能够基于该系统开发嵌入式g u i 应用,无需学习新的 编程语言,大大缩短了开发周期。对比传统的g u i 应用开发,可以看 出,利用基于w e b 的g u i 平台开发嵌入式应用是未来嵌入式g u i 开发 的趋势之一。 关键字:g u i 嵌入式浏览器w e bl i n u x 北京邮电大学硕士学位论文 r e s e a r c ho fg r a p h i c a lu s e ri n t e r f a c e s d e v e l o p e dp l a t f o r mf o re m b e d d e dd e c e s b a s e do n 、e bt e c h n o l o g y a b s t r a c t w i t ht h ea c c e l e r a t e dp a c eo fi n f o r m a t i o nt e c h n o l o g y , e n d l e s sv a r i e t y o fi n n o v a t i v eh a n d h e l dd e v i c e sa p p e a r , r e l a t e dh a r d w a r ea n ds o f t w a r e a l s oh a v ear a p i dd e v e l o p m e n t ,e s p e c i a l l yt h eg u i ( g r a p h i c a lu s e r i n t e r f a c e ) h a saf a s td e v e l o p m e n ti nt h ef i e l d l o t so fd o m e s t i ca n d a b r o a dc o m p a n i e sh a v el a u n c h e dan u m b e ro fl i n u x - b a s e dg u i p r o d u c t s , s u c ha st h o s em o r em a t u r e - o r i e n t e de m b e d d e dg u is y s t e m :q t e m b e d d e d ,m i n i g u ia n do p e n g l ,e t c w h i c hl a yag o o df o u n d a t i o nf o r e m b e d d e dd e v i c e sf o rt h ep o s s e s s i o no fa g o r g e o u sa n db e a u t i f u l g r a p h i c a lu s e ri n t e r f a c ea n dp o w e r f u lf u n c t i o nw h i c hu s et h el i n u x o p e r a t i n gs y s t e m h o w e v e r , t h e s ee m b e d d e dg u i l i b r a r i e sp r o v i d eo n l ya g o o dl a y e ro fs o r w a r cs u p p o r tf o re m b e d d e dp r o d u c t s ,w en e e dt ob u i l da g e n e r a l - p u r p o s ea p p l i c a t i o nd e v e l o p m e n tp l a t f o r mo fe m b e d d e dd e v i c e s t op r o v i d eas i m p l e ,f a s td e v e l o p m e n te n v i r o n m e n tf o re n d - u s e r s t h r o u g ht h ei n t e g r a t i o no ft h er e l e v a n th a r d w a r ep l a t f o r m s ,l i n u x i i i 驴 “ 北京邮电大学硕士学位论文 s y s t e m sa n de m b e d d e da p p l i c a t i o nd e v e l o p m e n te n v i r o n m e n t ,t h i sp a p e r c r e a t eaw e b b a s e dg u id e v e l o p m e n tp l a t f o r m b y e x t e n s i o n so f o p e n 一$ o u l ee m b e d d e db r o w s e rk o n q u e r o r e m b e d d e d m a i n l yt h r o u g h t h ei n t r o d u c t i o no fl i g h tw e i g h tl o c a ls e r v e rb a s e do nt h el i n u xc 一 l a n g u a g e ,t oc o m m u n i c a t e 丽mt h eb r o w s e rt op r o v i d el o c a lr e s o u r c e s 0 f u n c t i o n s b e c a u s et h ep l a t f o r mi si n t e g r a t e di nt h el o c a lb r o w s e ra n dt h e l o c a ls e r v e r s c o m p r e h e n s i v ef u n c t i o n a l i t y , d e v e l o p e r s c a nu s ew e b l a n g u a g e st od e v e l o pw e ba p p l i c a t i o n s a n dl o c a la p p l i c a t i o n sf o rt h e d e v i c e ,w h i c hw i l lb e s tm e e tt h eu s o r sr e q u i r e m e n t so fc a p a b i l i t i e sa n d e x p e r i e n c e t h i sp a p e rf i n a l l yb u i l du paw e b b a s e dg u i d e v e l o p m e n tp l a t f o r m , p r o v i d ea c o m m u n i c a t i o np l a t f o r mf o rd e v e l o p e r s a c c e s st ol o c a l r e s o u r c e s b yt h ep l a t f o r m sc o m m u n i c a t i o no fc a l l i n gl o c a lr e s o u r c e s , t h ea u t h o rd e v e l o ps o m ea c t u a ll o c a la p p l i c a t i o n s ,s u c ha sd i r e c t o r y b r o w s e r , t h ep l a y e rl i s t sa n ds oo nt or u nt h ep l a t f o r m ,w h i c hs u c c e s s f u l l y p r o v et h ea v a i l a b i l i t yo f t h ep l a t f o r m i nt h i sp a p e r , t h ed e s i g no ft h ew e b b a s e dg u iu s ee m b e d d e d b r o w s e ra sat o o lf o ri n t e r a c t i o nw i t ht h eu s e r , w h o s ea d v a n t a g el i e si n a n y o n e w h oi sf a m i l i a rw i t hc s s ,h t m l ,x m l ,a n dj a v a s c r i p t p r o g r a m m i n gc a nd e v e l o pa p p l i c a t i o n sf o rt h eo p e r a t i n gs y s t e mw i t h o u t h a v i n g t ol e a r nn e wp r o g r a m m i n gl a n g u a g e ,g r e a t l y r e d u c i n g t h e d e v e l o p m e n tc y c l e c o n t r a s t t ot h et r a d i t i o n a lg u i a p p l i c a t i o n i v , - 北京邮电大学硕士学位论文 目录 第一章绪论。1 1 1 引言l 1 2 传统嵌入式g u i 发展及应用。2 1 2 1 嵌入式系统的发展状况2 1 2 2 嵌入式操作系统的发展状况3 1 2 3 传统嵌入式l i n u xg u i 发展及现状。3 1 3 基于w e b 的嵌入式l i n u xg u i 系统4 1 4 构建基于w e b 的l i n u xg u i 系统。6 1 5 论文的组织结构6 第二章基于w e b 的嵌入式l i n u xg u i 平台的相关技术7 2 1b s 架构。7 2 i 1 嵌入式浏览器8 2 1 2 嵌入式w e b 服务器9 2 3 2h t r p 几个重要的概念1 3 2 3 3h 1 阳协议的运作方式1 4 2 4a j a x 原理1 7 2 4 1a j a x 核心技术介绍1 7 2 4 2 基于a j a x 的异步机制开发模式1 8 2 4 3 异步w e b 开发模式的优点1 9 2 5r p c 介绍2 0 2 5 1x m l - r p c 介绍2 l 2 5 2s ( h p 介绍。2 3 2 6 本章小结2 4 1 北京邮电大学硕士学位论文 第三章构建基于w e b 的嵌入式l i n u xg u i 平台开发环境2 5 3 1 平台开发的硬件环境。2 5 3 2 平台开发的软件环境2 6 3 2 1 嵌入式操作系统2 7 3 2 2 嵌入式图形用户界面2 9 3 2 3 嵌入式浏览器。3 l - 3 2 4 嵌入式播放器3 2 3 3 搭建平台开发环境3 3 3 3 1 嵌入式开发模式3 3 3 3 2 宿主机环境的配置3 4 3 3 3 目标机环境的配置3 4 3 4 移植g u i 系统及应用程序3 6 3 4 1 移植q t e 3 6 3 4 2 移植k o n q u e r o r e m b e d d 。3 8 3 4 3 移植m p a l y c r 播放器3 9 3 5 本章小结4 0 第四章基于w e b 的嵌入式l i n u xg u i 平台的设计4 1 4 1 平台的总体设计目标4 l 4 1 1 设计原则4 l 4 2 平台的总体设计架构4 2 4 3 核心模块设计。4 3 4 3 1 浏览器与服务器之间的通信模式设计。4 3 4 3 2 基于w e b 的本地应用的设计4 4 4 3 3 后台服务器的设计4 5 4 4 平台的运行机制4 5 - 4 5 本章小结4 6 第五章基于w e b 的嵌入式l i n u xg u i 的实现4 7 5 1 平台的程序结构4 7 5 2 平台的具体程序组成4 8 5 3 平台的程序实现细节4 9 2 北京邮电大学硕士学位论文 5 3 1 后端服务器4 9 5 3 2 前端w e b 网页5 2 5 4 平台的测试结果5 3 5 4 1 平台的具体实现5 3 5 4 2 平台的运行结果。5 5 5 5 本章小结5 6 第六章总结与展望5 7 参考文献。5 8 致谢5 9 攻读学位期间发表的学术论文6 0 北京邮电大学硕士学位论文 北京邮电大学硕士学位论文 1 1 引言 第一章绪论 随着计算机技术的发展,嵌入式系统己成为计算机领域的一个重要组成部 分。广义上讲,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。所 谓嵌入式设备,是指具有计算机功能,但又不称为计算机的设备或器材,几乎包 括了我们周围的所有电器设备:p d a 、手机、机顶盒、汽车、微波炉、电梯、安 全系统、自动售货机、医疗仪器、自动取款机等。随着这些信息家电、手持设备、 无线设备等的迅速发展,相应的硬件和软件也得到迅速发展。许多设备都配有 i n t c l 、m i p s 、摩托罗拉等公司生产的3 2 位微处理器,甚至还使用了液晶显示器。 许多开发商也开始为这些设备提供界面友好的嵌入式操作系统。 利用l i n u x 搭建嵌入式操作系统是近年来出现的最令人振奋的方案,这有多 方面的原因:首先,运行在嵌入式系统上的l i n u x 能够提供全功能的桌面计算 ( d e s k t o pc o m p u t i n g ) ,且由于其开放代码,定制变得非常方便。其次,l i n u x 已 经支持大多数嵌入式系统上使用的芯片,包括s t r o n g 删,m i p s 和p o w e r p c 。 最后,l i n u x 是免费的,使用l i n u x 不需付任何费用。所以利用l i n u x 作为底层 操作系统,其上配备g u i 系统成为现在日益流行的嵌入式操作系统的解决方案。 目前国内外已经推出了很多基于l i n u x 的g u i 产品,比较成熟的面向嵌入 式的g u i 系统有q t e m b e d d e d 、m i n i g u i 、o p e n g l 等。这几种g u i 的设计目标 仍然是通用性,它们大多支持多窗口的随意切换、覆盖以及可移动、可动态改变 尺寸的窗口,诸如此类在多数嵌入式应用中几乎永远用不到的特性,使得应用程 序的开发要考虑很多不必要的细节。 随着互联网的迅猛发展以及w e b 的广泛应用,在很多情况下,一个浏览器就 可以满足大多的用户需求。如果把浏览器作为一个枢纽,同时集成终端和网络的 优势,它将更加强大,形成基于浏览器的终端应用环境。比如,利用一个嵌入式 l i n u x 操作系统,上面运行由开源w e b k i t 核心支撑的定制u i 系统管理器,大量的 熟悉h t m l ,c s s 及j a v a s c r i p t 技术的开发人员通过通过这个g u i 系统来开发应用程 序。p a l mw e b o s 事实上正在践行这个理念,并取得了业界初步的认可。 北京邮电大学硕士学位论文 本论文以l i n u x 为底层操作系统,开发出基于k o n q u e r o r e 嵌入式浏览器的 开源g u i 开发平台。作为一个智能终端g u i 应用平台软件,此平台具有以下的 功能: 由于嵌入式环境的多样性,此g u i 平台具备跨平台、高移植等特点。 采用b s 架构,应用程序都是基于w e b 语言,开发简单,界面出众。 以嵌入式浏览器为基础,实现网络应用,极大的满足用户网络体验要求。 可以开发出本地应用,即能够利用操作系统提供的系统调用统一管理这 个系统的各种资源,特别是本地目录文件资源。 1 2 传统嵌入式g u i 发展及应用 1 2 1 嵌入式系统的发展状况 近年来,随着计算技术、通信技术的飞速发展,特别是互联网的迅速普及和 3 c ( 计算机、通信、消费电子) 合一的加速,微型化和专业化成为发展的新趋势, 嵌入式产品将成为信息产业的主流。它广泛应用于制造业、通讯、仪表、汽车、 军事、航空航天和消费类电子产品等领域。从消费电器到工业设备,从民用产品 到军用器材,嵌入式系统被应用到网络、手持通信设备、国防军事、消费电子和 自动化控制等各个领域。嵌入式系统几乎包括了生活中的所有电器设备,如掌上 p d a 、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波 炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式 电话、消费电子设备、工业自动化仪表与医疗仪器等。目前嵌入式系统带来的工 业年产值己经超过了1 万亿美元。从国际芯片市场来看:据统计每年只有1 0 - 2 0 的计算机芯片是为台式p c 或膝上电脑而设计的;嵌入式系统设计制造的c p u 每年 大概有1 0 2 0 亿片:每年又有1 万个新的嵌入式系统计划产生,而且越来越多的系 统需要复杂的嵌入式操作系统。业内分析,未来1 0 年是国内机顶盒生产的黄金时 期,1 0 年总盈可望达到卜1 5 亿台,总产值在6 0 0 - 1 5 0 0 亿元人民币之间;仅此一 项,嵌入式软件开发商每年获得的授权收入即可达至u 1 0 - 1 5 亿元。嵌入式系统的 广泛应用前景和发展潜力使其成为2 1 世纪的应用热点之一,以致一些学者断言嵌 入式技术将成为后p c 时代的主宰【。 北京邮电大学硕士学位论文 1 2 2 嵌入式操作系统的发展状况 嵌入式操作系统比较著名的有p s o s 、v x w o r k s 、n e c u l e u s 和w i n d o w s c e 。 但这些专用操作系统都是商业化产品,其高昂的价格使许多生产低端产品的小公 司望而却步;而且,源代码封闭性也大大限制了开发者的积极性。另外,结合国 内实情,当前我国对自主操作系统的大力支持,也为源码开放的l i n u x 的推广提 供了广阔的发展前景。 对嵌入式系统应用开发者而言,他们需要的是一套高度简练、界面友善,质 量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统。因为l i n u x 的 强大的网络功能,许多人认为l i n u x 非常适合嵌入式网络设备。而且他们认为 l i n u x 可以支持不同的设备,支持不同的配置。l i n u x 对厂商不偏不倚而且成本 极低,能够很快成为用于各种设备的操作系统。如今,业界已经达成共识:使用 嵌入式l i n u x 是大势所趋,其巨大的市场潜力与酝酿的无限商机必然会吸引众多 的厂商进入这一领域。 1 2 3 传统嵌入式l i n u xg u i 发展及现状 目前国内外已经推出了很多基于l i n u x 的g u i 产品。比较成熟的面向嵌入 式的g u i 系统有q t e m b e d d e d 、m i c r o w i n d o w s 、m i n i g u i 、w i n c e 等。 ( 1 ) m i c r o w i n d o w s 是一个公开源码( l g p l ) 的项目。它致力于为一些小型的设 备和平台提供现代图形窗口环境的一些特性。其主要特色是一个基于客户月艮务 器体系结构的g u i 系统,采用了面向硬功件的驱动程序层、对硬件的接口层、向 高层操作系统的a p i 层的三层体系结构,并提供了相对完善的图形功能,以及一 些其他较高级的功能,比如a l p h a 混合、三维支持等。但是有如下缺点:无任何 硬件加速能力,图形引擎中存在许多低效算法,且代码质量较差【2 l 。 ( 2 ) m i n i g u i 是在l i n u x 控制台上运行的,基于s v g a l i b 和n r e a d 库的多窗口图 形用户界面支持系统。主要特色是基于线程来编写,所有的应用研究程序都运行 在同一个地址空间,这样可以提高系统的效率。底层增加了图形抽象层g a l 和基 于输入设备的输入抽象层作为提供底层控制台或者xw i n d o w 上的图形接口以及 北京邮电大学硕士学位论文 输入接口。但是a p i 没有封装,不便移植,功能限制其不能用于更大的嵌入式系 统【3 】o ( 3 ) q t e m b e d d e d 是著名的q t 库开发商t r o l l t e c h 公司开发的,是一个专门为 嵌人式系统设计的图形用户界面工具包。它的主要特点是可移植到不同平台上、 拥有自己的窗口系统、拥有自己强大的开发工具和编程接口、提供压缩字体格式、 支持u n i c o d e ,可以轻松地使程序支持多种语言。但是q t e m b e d d e d 不是免费的使 用者必须支持l i c e n s e 费用f 4 】。 ( 4 ) o p e n g l 采用l g p l 条款发布。o p e n g l 比较适合于基于x 8 6 平台的实时系统。 基于汇编实现的内核,利用m m x 指令进行了优化使其运行速度快,但可移植性差。 以上的嵌入式g u i 系统已很成熟,但是对于一些需求自主开发轻型、功能简 洁、专用性强g u i 系统的用户来说,以上的产品并不是一个很好的选择。这几种 g u i 的设计目标仍然是通用性,他们所实现的g u i 界面都非常简单,几乎看不到像 p c 机上华丽美观的g u i 界面。p c 机上应用的g u i 由于占用资源太多,不适合嵌入式 的应用,嵌入式系统对轻量级却不失美观的g u i 的需求越来越迫切。 1 3 基于w e b 的嵌入式l i n u xg u i 系统 由于w e b 应用开发相对简单,潜在应用开发者众多,u i 体验更加灵活、多 样,同时互联网上已有海量的w e b 资源,因此对于移动终端而言,u iw e b 化, 应用w e b 化,甚至系统平台w e b 化,一直是终端应用技术的发展方向之一。 目前,市场上p a l mw e b o s 正风起云涌,作为p a l m 的下一代操作系统,p a l m w c b o s 将浏览器的便捷和视窗操作系统的强大功能结合在一起,具有反应快速、 用户体验非凡及多任务操作特点。w e b o s 上所有的应用基于简单的标准w e b 技 术和语言编写,但具有访问设备业务和数据的强大能力。即使屏幕尺寸、解决方 案、键盘或者触摸屏等硬件的不同,p a l mw e b o s 都能够运行在各种平台上面。 w e b o s 的u i 和应用模型都是基于浏览器运行的,所以p a l m 能够适用的硬 件平台非常宽泛,所需的硬件的只要c p u 、内存、无线数据连接、显示屏以及 北京邮电大学硕士学位论文 与u i 和输入文本交互的工具就足够。w e b o s 也可以被视为本地应用,所不同的 只是w e b o s 应用是基于开发网页所用的标准h t m l ,c s s 和j a v a s c r i p t 技术实 现。p a l m 已经通过j a v a s c r i p t 框架对标准的w e b 开发环境进行了扩展,使得 j a v a s c r i p t 框架具备u i 工具集以及访问硬件设备和业务的能力。可以使用通用的 网页开发工具进行w e b o s 上a j a x 应用的开发,应用可以像本地应用程序一样直 接安装和运行在设备上。 如图1 1 所示,提供了p a l mo s 典型的本地应用模型及网络应用模型5 1 。 翔嘲睫a辛s墩舔l燃 确睁细翔峻l饿b 曩秘脚绷黼翔嘲黼抽p 蠡【翮舶艄 图1 - 1p a l mo s 本地应用模型及网络应用模型 在这种模型中,应用的数据、逻辑和u i 集成在本地操作系统上安装的可执 行程序里面的,能够直接访问操作系统的服务和数据。 典型的网络应用是基于h t m l 的应用,用户通过点击向网络服务器发送 h t t p 请求,在更新h t m l 页面返回先是之前,用户一直处于等待响应状态。近 年来出现a j a x 应用,能够直接处理多用户的交互以及使网络服务器请求异步进 行。a j = 应用能够提供更丰富和响应更快的用户体验。这方面最具有典型代表 意义的是地图应用,允许用户放大和移动地图的同时从网络服务器异步获取所需 的数据。 相比本地应用,网络应用有显著的优势。它们使用跟网页相同的搜索和获取 技术,更易部署和更新。而且开发网络应用也更加快捷:开发语言和工具简单, 5 - 北京邮电大学硕士学位论文 尤其是开发联网应用;允许开发者和设计人员更多产。联网应用,或者说动态数 据或网络服务应用,已经越来越成为现在的主流应用。咖s 应用模型将开发 的便利性及网络应用的可维护性与本地应用的深度集成相结合,大大地提高了手 机应用的用户体验却又不失应用开发的简单。 1 4 构建基于w e b 的l i n u xg u i 系统 p a l mw e b o s 给我们带来的最大震撼来自两个方面:第一是用户体验,第二 是应用框架。然而,p a l mw e b o s 并非开源的系统,在这个开源时代,为了让更 多嵌入式设备上能应用上这种新型g u i 技术,本论文在l i n u x 环境下,对开源 嵌入式浏览器k o n q u e r o r e m b e d d e d 进行功能扩展,使其支持与本地资源的交互访 问,给开发者提供一个开源的开发环境,开发出各种适应用户需求的应用程序。 论文主要研究了b s 架构相关知识,包括浏览器、服务器的实现方案及他们 之间的通信协议h t r p 技术,最后开发出了独具特色的嵌入式服务器,并将其有 效地应用于g u i 系统中。本论文深入浅出讲解如何构建一个基于w e b 的嵌入式 l i n u xg u i 平台系统,并最后以实例充分证明此平台的可用性。 1 5 论文的组织结构 本论文共分六章,各章具体内容安排如下: 首先概述了嵌入式系统用户界面的发展情况和应用前景,提出本文的研究论 题,阐明本论文的背景及意义。 然后介绍了本论文所涉及的相关技术,主要包括b s 架构,h t t p 协议,s o c k e t 网络编程、r p c 远程调用等技术。 第三章介绍了嵌入式浏览器扩展开发平台的硬件环境及软件环境的选择及 搭建,k o n q u e r o r e m b e d d e d 浏览器及m p l a y e r 播放器的移植。 第四章介绍了嵌入式浏览器扩展平台的设计目标和体系结构。 第五章介绍了实现难点及相关的技术细节,并在最后给平台的测试结果。 最后是一点感想及展望。 北京邮电大学硕士学位论文 第二章基于w e b 的嵌入式l i n u xg u i 平台的相关技术 本平台系统的开发是在l i n u x 环境下对嵌入式浏览器k o n q u e r o r e m b e d d e d 进行扩展,开发出新型的基于w e b 的嵌入式g u i 平台系统。主要是通过引进本 地服务器,在嵌入式设备上搭建b s 架构,实现本地浏览器对本地资源的访问, 给开发者提供便捷的应用框架,即基于j a v a s c r i p t 、h t m l 、c s s 等w e b 开发语言 就可以进行本地的应用开发。故本平台系统涉及到的w e b 技术主要有b s 相关协 议、服务器开发及远程调用技术。 2 1b s 架构 一个典型的b s ( b r o w s e r s e r v e r ) 架构主要包括浏览器及服务器两部分, 它们基于t c p i p 协议进行通信,如图2 1 所示。 图2 1b s 架构图 - 7 - 北京邮电大学硕士学位论文 b s 架构的大概工作流程是:浏览器通过h t t p 协议访问服务器,请求数据 发送给s o c k e t 套接字,然后再打包成为i p 数据包,通过网卡发送到网络上;目标 服务器收到数据包后,对请求数据进行解析,按要求返回响应的结果。这里的请 求数据分为两类:一类是不变的数据,也可称为静态数据,它们以静态页面存储 在嵌入式系统的存储器中,当浏览器提出请求时,w e b 服务器即将其取出发送给 浏览器显示;另一类数据是变化的数据,比如如数据请求、加工、结果返回以及 动态网页生成、对数据库的访问和应用程序的执行等,它们需要服务器动态生成。 这种b s 架构大大简化了客户端载荷,减轻了系统维护与升级的成本和工作量, 降低了用户的总体成本。 2 1 1 嵌入式浏览器 嵌入式浏览器属于嵌入式系统的软件设计,与普通的p c 机上的浏览器相比, 嵌入式浏览器要求运行速度快,资源占用少。嵌入式浏览器典型的的体系结构可 以分为传输层、表示层、引擎层三个部分,如图2 2 所示。 图2 - 2 嵌入式浏览器体系结构图 传输层主要负责网络数据的接收与发送,通过t c p i p 等协议来正确接收及 发送网络传输的数据。 引擎层是浏览器的核心层,包含了所支持的w 3 c 技术规范的解析器或引擎, 这样的架构,使得浏览器的核心模块一浏览器引擎层与平台无关,与显示无关, 可以方便的移植到不同的平台上,而核心部分不需要改变。引擎层解析生成带有 北京邮电大学硕士学位论文 显示信息和控制信息的中间结果;同时也负责图像数据的解码以及解析执行网页 中的j a v a s c r i p t 脚本。 表示层负责显示由引擎层解析过的网页,并处理用户与界面的交互。一般地, 显示层都是基于某一嵌入式g u i 库的,如:q t e 、d i r e c t f b 、m i n i g u i 等等,使 用不同的平台和g u i 库,这部分是要做移植工作的。g u i 为浏览器定义了一组 轻量级的窗口和图形设备接口。利用这些接口,浏览器才可以可以多个窗口,也 可以建立菜单、按钮、列表框等常见的g u i 元素【6 】。 2 1 2 嵌入式w 曲服务器 嵌入式w e b 服务器也就是轻量级的w e b 服务器,其体系结构图如图2 3 所 示,共包括4 个部分:用户验证、h t t p 引擎、应用接口模块和配置模块。 图2 3 嵌入式w e b j 艮务器体系结构图 h t t p 引擎的主要功能是响应浏览器的请求,将浏览器请求的w e b 页面发送 给浏览器显示;另外,用户还可以通过浏览器发出执行c g i 程序的请求,引擎 收到c g i 请求后转交至应用程序接口模块进行处理。应用程序接口模块将c g i 程序的返回结果传给h 丁r p 引擎,由后者发送给浏览器。h t t p 引擎和浏览器之 间的协议有h t t p 0 9 、1 0 和1 1 三种。h 1 呼引擎在工作时需要处理来自多个 连接的请求,w e b 服务器在处理时通常是对每个连接用一个进程或线程来处理。 应用接口模块是嵌入式w e b 服务器的重要组成部分,利用应用接口模块可 以获得嵌入式设备的动态信息,并可以根据浏览器的请求对嵌入式设备进程控 北京邮电大学硕士学位论文 制。一般利用c g i 和s s i 来完成h t t p 引擎和应用程序接口之间的通信。c g i 方式可以通过浏览器将参数传递给应用接口模块,来执行c g i 脚本程序,再将 执行结果转变成页面数据发送给浏览器。 配置模块可以让用户使用标准的浏览器界面对嵌入式系统进行参数设置。利 用配置模块可以对w e b 服务器的一些参数比如端口号、根目录等进行设置,也 可以对嵌入式设备的参数进行设置。 安全性对于一个连接到网络,利用浏览器进行访问的嵌入式设备来说是非常 重要的。如果一个嵌入式w e b 服务器没有可靠的安全性,就很难保证嵌入式设 备不受到恶意的攻击。因此安全模块是嵌入式w e b 服务器不可缺少的一部分【7 1 。 2 2s o c k e t 原理 s o c k e t 接口是为方便开发人员进行t c p i p 程序开发,而为t c p i p 协议所制 定的一组应用程序接口。一个套接字描述为一个通信连接的一端,在一个通信连 接中的两端通信程序,应各自有一个套接字来描述他们自己那一端,不同主机中 的两个进程通过各自的套接字发送和接收消息,从而实现进程间跨网络的通信。 2 2 1s o c k e t 概述 在l i n u x 中,s o c k e t 属于文件系统的一部分,因此,网络通信可以被看作是 对文件的读取。这使得用户对网络的控制非常方便,l i n u x 的许多特性都非常有 助于网络编程:首先,l i n u x 拥有p o s i x 标准库函数,s o c k e t 0 ,b i n d 0 ,l i s t e n 0 , s e n d 0 ,a c c e p t 0 这几个系统库函数可以方便地实现客户柳服务器模型中数据的传 送与接收。其次,l i n u x 的进程管理策略也非常适用于服务器的工作环境,l i n u x 中的每个进程都对应一个父进程,同时它也能创建多个子进程。在服务器端可以 用父进程去侦听客户机的连接请求,当有客户机的连接请求发生时,父进程创建 一个子进程去建立连接线路并与该客户机通信,而他本身可继续侦听其他客户机 的连接请求,这样就可避免当有一个客户机与服务器建立连接后服务器就不能再 与其他客户机通信的问题。最后,l i n u x 继承了u n i x 设备无关性这一优秀特性, 即通过文件描述符实现了统一的设备接口:磁盘、显示终端、音频设备、打印设 备及网络通信都使用统一的i o 调用。这三个特性大大地方便和简化了l i n u x 环 北京邮电大学硕士学位论文 境下的网络程序设计。 ( 1 ) s o c k e t 函数 s o c k e t 0 用来创建套接口描述符,其格式声明为: i n ts o c k e t ( h a td o m a i n ,h a tt y p e ,h a tp r o t o c 0 1 ) 参数d o m a i n 说明网络程序所在的主机采用的通信协议,如a fi n e t ( i p v 4 协议) ,a f _ i n e t 6 ( i p v 6 协议) ,a f _ l o c a l ( u n i x 域协议) ;参数t y p e 指定套接1 2 1 类型( 数据流套接口、数据报套接口、原始套接口) ,即相当于指明了网络程序所 采用的通信协议( t c p 还是u d p ) ;参数p r o t o c o l 由于指定了t y p e ,一般取0 即可。 ( 2 ) b i n d 函数 b i n d 0 用来将套接口绑定到本地计算机的某一端口,其格式声明为: h a tb i n d ( i n ts o c k f d ,s t r u c ts o c k a d d r 木m y _ a d d r ,h a ta d d r l e n ) s o c k f d 为套接口描述字;指针m y 指向 结构,该结构包含了远a d d r s o c k a d d r 程服务程序的口地址与端口号;a d d r l e n 指明s o c k a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025汽车销售合同书
- 2025年广州市职工劳动合同范本
- 2025年蚌埠市龙子湖区产业发展有限公司招聘22人考前自测高频考点模拟试题及答案详解一套
- 2025内蒙古能源集团所属单位招聘30人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025年4月广东深圳光明区政务服务和数据管理局招聘一般类岗位专干5人模拟试卷及参考答案详解
- 2025贵州瓮安县瓮水街道招聘公益性岗位人员20人考前自测高频考点模拟试题及答案详解(必刷)
- 2025北京第五实验学校招聘38人考前自测高频考点模拟试题附答案详解(典型题)
- 建设工程的项目合作协议合同6篇
- 房屋单方面解约合同5篇
- 江苏评审专家考试题库及答案
- 农村妇女礼貌礼仪课件
- 产品报价基础知识培训课件
- 水资源基础调查项目方案 投标文件(技术方案)
- 女性围绝经期营养管理中国专家共识(2025版)
- 2025驾驶员安全教育培训
- GB/T 16545-2025金属和合金的腐蚀腐蚀试样上腐蚀产物的清除
- 无人机公司飞手管理制度
- 房地产抵押贷款合同电子版预览
- 电池(组)装配工职业技能鉴定经典试题含答案
- 公路机电安全培训课件
- DB42-T 2389-2025 陶粒沥青混凝土路面施工技术规程
评论
0/150
提交评论