




已阅读5页,还剩59页未读, 继续免费阅读
(系统工程专业论文)基于嵌入式网络摄像机的Web服务器研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第l 页 摘要 如何将嵌入式设备接入网络,是目前全世界研究的热点,而通过在嵌入式 设备中植入w e b 服务器的方式,则是最常用的技术之一。几十年来,视频监控 一直局限于本地监控或通过p c 机实现远程监控。显然,在视频监控领域内实 现监控设备小型化、网络化是监控系统发展的必然趋势。嵌入式网络摄像机是 视频监控领域的最新成果,它是否能满足无论用户在何时何地都能使用普通浏 览器查看远程监控现场视频、查看系统的实时状态、对嵌入式设备进行监测、 控制、诊断和配置的要求,与网络摄像机是否拥有个稳定、高效、安全的嵌 入式w e b 服务器( e w s ) 息息相关。 本文主要在s 3 c 2 5 1 0 + u c l i n u x 网络摄像机开发平台上,针对视频监控系统 应用环境,实现了一个h t t p d 服务器,并采用c g i 、l a v a s c r i p t 、a c t i v e x 等动态 交互技术实现对网络摄像机的远程控制和观看视频图像。本文的工作是基于美 国w l sg 0 7 0 0 7 s bi p c a ms d k 的基础上进行的。论文首先对一些相关技术进 行了深入的研究,包括:嵌入式w e bs e r v e r 的体系结构及工作方式,u c l i n u x 环境下应用程序的开发、编译、移植,嵌入式i n t e m e t 的通信协议t c p 1 p 协 义、 h t t p 协议等的工作原理,浏览器与服务器动态交互实现方法等。在此基础上, 本文对在嵌入式摄像机上添加w e b 服务器并通过w e b 服务器实现对底层设备 摄像机的控制做了w e b 服务器工作流程,数据存储管理,w e b 服务器安全性能, 与服务器进行动态交互的方法等方面的初步设计。随后,本文对几个关键实现 技术做了详细的分析,其中部分给出了c g i 程序源代码或流程图,同时给出了 部分程序的测试结果。最后,详细说明了h t t p d 应用服务程序的调试及移植步 骤。 本文的工作对如何将视频监控设备接入网络在局域网内部做了实践,促进 了视频监控领域网络化的发展。同时本文的研究内容和实现方式也对在其它领 域内实现嵌入式w e b 服务器具有一定的借鉴作用。 关键词:网络摄像机;嵌入式w e b 服务器;u c l i n u x ;c g hh t t p d 服务器 西南交通大学硕士研究生学位论文第1i 页 a b s t r a c t h o wt oc o n n e c tt h ee m b e d d e dd e v i c ew i t ht h en e t w o r ki sar e s e a r c hf o c u sa l l o v e rt h ew o r l d w h i l eb yt h em e a n so fe m b e d d i n gaw e bs e r v e ri nt h ee m b e d d e d d e v i c ei so n eo ft h ef r e q u e n t l yu s e dt e c h n i q u e s t h ev i d e om o n i t o rh a sb e e nl i m i t e d t ol o c a lp l a c eo rc o n n e c t e dw i t hn e t w o r k b yt h ep c f o rm a n y y e a r s c o n n e c t i n gt h e m o n i t o rd e v i c e sw i t hn e t w o r ka n dm i n i a t u r i z i n gt h e mi sa uo b v i o u sd e v e l o p m e n t t e n d e n c y t h ee m b e d d e di pc a m e r a i st h en e wf r u i ti nv i d e o s u p e r v i s i o nf i e l da n di f i tc a nm e e tt h ed e m a n do ft h eu s e r si sm o s t l yd e p e n do nt h a ti fi th a sas t a b l e a n e f f i c i e n t ,as a f ee m b e d d e dw e b s e r v e r ( e w s ) t h eb a s i cd e m a n d si n c l u d el o o k i n ga t t h er e m o t ev i d e or e c o r d ,k n o w i n gt h er e a l - t i m es t a t u so ft h es y s t e m ,m o n i t o r i n g 、 d i a g n o s i n ga n dc o n f i g u r i n gt h ei pc a m e r ar e m o t e l yw h e n e v e ro rw h e r e v e rt h eu s e r s a r e a s i n g l e t h r e a d h t t p d e w sa i m e da tt h ev i d e o s u p e r v i s i o na p p l i c a t i o n i s r e a l i z e db a s e do nt h es 3 c 2 5 1 0 + u c l i n u xp l a t f o r mw h i c hi sai pc a m e r ad e v e l o p m e n t p l a t f o r ma n d s o m e d y n a m i ct e c h n i q u e ss u c h a sc g i ,j a v a s c r i p t ,a c t i v e xa r eu s e dt o c o m p l e t et h ec o n t r o l l e rt o r e m o t ei pc a m e r aa n dl o o ka tt h ev i d e or e c o r d t h i s w o r ki sa c c o m p l i s h e db a s e do nt h ew i sg 0 7 0 0 7 s bi p c a ms d k a tt h eb e g i n n i n g o ft h i s t h e s i s ,s o m er e l a t e dt e c h n i q u e sa r ed e e pr e s e a r c h e di n c l u d i n gt h es y s t e m a r c h i t e c t u r ea n dt h ew o r k i n gp r o c e s so ft h ee w s tt h ed e v e l o p m e n t 、c o m p i l i n g 、 t r a n s p l a n to fa p p l i c a t i o ni nt h eu c l i n u x ,t h ep r i n c i p l eo f t c p i pp r o t o c o la n dh t t p p r o t o c o l w h i c ha r et h ec o m m u n i c a t i o n p r o t o c o l s i nt h ee m b e d d e di n t e r n e t , r e a l i z a t i o np r o c e s so ft h ed y n a m i cc o m m u n i c a t i o nb e t w e e nb r o w s e ra n ds e r v e re t c a f t e rt h a t s o m er e a l i z a t i o n sa b o u tt h ee w sa r ed e s i g n e di n c l u d i n gt h ew o r k i n g m o d eo fw e bs e r v e r , t h em a n a g e m e n to fd a t as t o r a g e ,t h es a f e t yo fw c bs e r v e r t h e m e t h o d st oc o m m u n i c a t ew i t hw e bs e r v e ri uo r d e rt oe m b e dae w si nt h ei p c a m e r aa n dc o n t r 0 1t h ei pc a m e r a b y t h ee w s n e x t ,af e wk e yr e a l i z a t i o n t e c h n i q u e sa r ea n a l y z e d ,p a r to ft h e mi sc o m p a n i e dw i t ht h ec g is o u r c ec o d eo r f l o w c h a r t i nt h ee n d ,t h ep r o c e s so fd e b u ga n dt r a n s p l a n tf o rh t t p da p p l i c a t i o ni s g i v e n t h ew o r ko ft h i s p a p e r d o e ss o m e p r a c t i c e o nh o wt oc o n n e c tt h ev i d e o 西南交通大学硕士研究生学位论文第l 页 s u p e r v i s i o nd e v i c ew i t ht h en e t w o r ki ni a n i tn o to n l ys p e e du pt h ed e v e l o p m e n t o ft h en e t w o r ki nv i d e os u p e r v i s i o nf i e l db u ta l s ot h er e s e a r c h e rc o n t e n ta n dt h e r e a l i z a t i o nm e t h o dh a ss o m er e f e r e n c eo ni m p l e m e n t i n ge w si no t h e ra r e a s k e yw o r d s :i pc a m c r a ,e m b e d d e dw e b s e r v e r ,u c l i n u x ,c g ! ,h t t p d s e r v e r 西南交通大学硕士研究生学位论文第1 页 1 1 引言 第1 章绪论 嵌入式系统泛指单片机和微处理器构成的电子设备它出现至今已经 有3 0 多年的历史。嵌入式技术在经历了以单芯片为核心的可编程控制器形式 的系统和以嵌入式微处理器为基础、以简单操作系统为核心的嵌入式系统以 及以嵌入式操作系统为标志的嵌入式系统这三个阶段后,而今正在进入以 i n t e r n e t 为标志的嵌入式系统【2 j 。 这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于i n t e r n e t 之外,但随着i n t e r n e t 的发展以及i n t e r n e t 技术与信息家电、工业控制技术结 合同益密切,嵌入式设备与i n t e r n e t 的结合将代表嵌入式系统的未来【3 】。 毫无疑问,未来将是嵌入式i n t e r n e t 的时代,嵌入式系统将与我们能想 到的各种物理信息、生物信息相联接,通过i n t e r n e t 自动地、方便地和简单 地提供给需要这些信息的对象。而w e b 服务器能给客户提供标准丽友好的统 一界面,使得嵌入式系统更加标准化和人性化。嵌入式w e b 服务器( e w s ) 已经在各个领域开始得到应用,从家电领域到汽车领域等【4 1 。而在视频监控 领域,虽然社会已经对其提出了强烈的需求,但由于嵌入式w e b 技术、网络 技术、视频网络传输技术等方面的制约,一直未有成熟的嵌入式网络监控产 品面市。现在这些配套技术已经得到前所未有的发展,在数字视频监控领域 大力发展e w s ,将单独的嵌入式设备接入网络的条件已经成熟。 1 2 嵌入式w e b 技术国内外研究现状 嵌入式i n t e r n e t 是近几年发展起来的一项新兴概念和技术,国外许多大 公司包括e m w a r e 、m i c r o c h i p 、p h i l i p s 和m o t o r o l a 等在内的数十个公司联合 成立了“嵌入式i n t e r n e t 联盟( e t i ) ”,来专门讨论和制定嵌入式i n t e r n e t 领 域的标准和开发相关的技术,共同推动这一市场【5 1 。而实现嵌入式i n t e m e t 西南交通大学硕士研究生学位论文第2 页 系统的w e b 化,其实质就是实现嵌入式w e b 服务器。 本节针对嵌入式设备接入i n t e r n e t 技术介绍一些国内外已经实现的方案。 p h a r l a p 公司 p h a r l a p 公司把能独立的智能部分和网络部分尽可能的移出嵌入式设备, 如有些预定义的数据转到胖客户机上,使用时用嵌入式设备通过远端调用本 端的d l l 来访问:经过对代码的高度优化,将w e b 服务器尽可能的做到最 小。p h a r l a p 最后做出的m i c r o w e b 服务器是2 5 k b y t e ,加上网络协议不足 3 0 0 k b y t e i 6 1 。 o a g r a n a t s y s t e m 公司 a g r a n a t s y s t e m 公司在嵌入式设备上创建了具有自己特点的e m b e d 服务 器。在h t m l 文本中嵌入c 语吉。程序对实时数据进行访问;为h t m l 增加 了特殊标记,使w e b 页上的动态数据与系统软件相接口;再把c 语言库中的 t c p i p 协议和其它重要的i n t e r n e t 高层软件标准( 如h t m l 、x m l 、r v s a 、 t c n 等1 合并到e m w e b 服务器中去。所以e m w e b 服务器名之为服务器,实 际上包含网络协议,功能上是二合一的。e m w e b 服务器内部采用了许多独到 的措施,整体容量缩小到2 5 k b t y e 以下,同时性能也有很大地提高。譬如它 内置了状态机,支持h t m l 的同时性多请求、图形元件的多接口和多用户同 时请求。因为它独立于操作系统,不需要多任务或多线程的支持。尽管如此, e m w e b 还是为了客户应用的方便而提供了与著名工业级r t o s 的接口,譬如 与v x w o r k s ,p s o s ,c h o r u s ,n u c l e u s 等的接口,e m w e b 在开发时使用了复 合功能的开发平台。在平台上可选用标准w e b 工具,如m i c r o s o f t 的f r o n t p a g e , m a c l o m e d i a 的d r e a m w e a v e r 等。平台还同时支持c 、j a v a 、j a v a s c r i p t 的编泽 和g i f 、h t m l 等文件格式。人机对话可用w i n d o w s 或u n i x 图形界面。 o c m w a r e 公司 c m w a r e 公司面对8 1 6 的单片机的实现,另辟蹊径,服务器部分刻意地 简化到仅仅保留h t m l 的标记,其它的服务器部分全部移到客户机一侧:网 络协议部分则放弃使用代码较长的t c p t p 协议而换用十分轻型的网络协议, 从而将设备端的e m m i c r o 减小到很小的i k b y t e 字节,而且e m m i c r o 有两个部 分:e m t a g 对应于h t m l 标记,e m n e t 对应于网络协议也是功能二和一的。 轻型的( 1 i n g t w e i g h t ) 络协议可以支持在本端构筑小网络。如果不与i n t e r n e t 网相联便是孤立网,为要和i n t e r n e t 网进行国际鞋接,则须增加网关,实行 西南交通大学硕士研究生学位论文第3 页 异种网络协议的互换。网关可以单独设置,或结合具体条件与胖型客户机相 结合等。这个网关名为e m g a t e w a y 。e m g a t e w a y 的i n t e r n e t 端留有与挂网的 w e b 设备相对话的接口,接口的典型使用方法是用网页,因网页可以在任一 种浏览器下工作,灵活适应于全球网各个地域的多样环境。接口也可根据需 要用于用户的应用程序中_ j 。 另外,在1 9 9 8 年n 月的美国加州举行的嵌入式系统大会上,基于r t o s 的e m b e d d e di n t e m e t 成为一个技术新热点。在国内,“维纳斯计划”和“女 娲计划”一度闹得沸沸扬扬。机顶盒、信息家电这两年更成了i t 热点,而实 际上,这些都是嵌入式系统在特定环境下的一个特定应用f 8 】。在视频监控领 域进行这方面的研究的大多仍是基于p c 机的d v r 系统,国内市场上出现的 网络摄像机产品大多是代理国外的,国内拥有自己技术的屈指可数。目前国 内从事嵌入式i n t e r n e t 技术相对比较有名的公司有深圳的英蓓特信息技术有 限公司、合肥的华恒网络技术有限公司等;科研团体有中科院计算所、中国 单片机公共实验室等,高校有清华大学、中国科技大学和上海交通大学等。 1 。3 视频监控系统发展现状 视频监控系统因为其视频数据量的庞大,一直以来视频信号只能通过闭 路电视线、光纤等传输介质,人们无法将其与i n t e r n e t 联系起来。主要的困 难在于当时的 n t e r n e t 速度慢和确定性低,不能满足通信网络要求;另外, 各种网络通信协议对于嵌入式系统的存储器容量、运算速度等方面的要求比 较高,当时的嵌入式系统很难达到这一要求。 现尢,3 2 位微处理在嵌入式系统中的应用己成功地解决了系统运算速度 慢的问题,且i n t e r n e t 技术的不断发展已经出现了千兆传输介质,为监控视 频信号的传输提供了有利的条件。另一方面,国际上的一些组织如运动图像 专家组m p e g 、国际电报电话咨询委员会i t u t 等一童致力于压缩算法的研 究,于近年推出的m p e g 系列和h 2 6 x 系列视频压缀算法,在不断提高视频 传输质量的刷时,三经使视频图像在最低6 4 k b p s 的网络上传输,并且能根 据网络情况,自适应的调节网络传输速率f 纠,这一切都为视频监控系统连入 i n t e r n e t 提供了发展条件。 将嵌入式摄像机内置w e b 服务器,通过以太网接口连入i n t e r n e t 成为网 西南交通大学硕士研究生学位论文第4 页 络摄像机,是视频监控系统发展的最新趋势( 1 0 j 。每个网络摄像机都有一个l p 地址,客户只需通过普通浏览器如l e 或n e t s c a p e 等即可访问网络摄像机, 无需安装专门的客户端软件。用户通过统一的w e b 界面可以观看摄像机端清 晰的视频图像,对摄像机的运行状态进行控制,并可通过网络将系统远程升 级等。这种摄像机构成的视频监控系统规模可大可小,安装使用都非常方便。 不难预测,随着网络在社会生活的各个角落的拓展,网络摄像机将逐渐成为 安全防范、远程监控、远程教学、病房监护、社区服务等各方面广为采用的 工具之一l l “。然而,在这种b r o w s e r s e r v e r 通信模式中,客户只能通过w e b 界面与摄像机的w e b 服务器进行交互,w e b 服务器是否稳定、高效、完善则 成了监控系统是否成功的关键因素之一。 1 4 论文的研究意义和主要工作 将各种各样的嵌入式设备接入i n t e r n e t 是全世界都在研究的课题。而在 嵌入式设备上添加高效、稳定、安全、易于维护的w e b 服务器则是将嵌入式 设备接入i n t e r n e t 的关键技术。目前已经有一些机构针对某些应用领域研究 出很有特色的嵌入式w e b 服务器,然而由于各种嵌入式设备的组成和功能千 差万别,嵌入式w e b 服务器的应用需求、网络接入所采用的技术和方案也各 不相同,因此其它嵌入式设备接入i n l c r n e l 方面的研究成果只能作为借鉴, 很难赢接应用在本视频监控系统中。 本文在对w e b 体系结构、i n t e r n e t 通信机制进行研究的基础上,通过对 应用于局域网监控领域的w e b 服务器进行需求分析,以目前广泛采用的3 2 位处理器加t c p i p 协议栈接入i n t e r n e t 的方案为实现平台,以允许网络上多 节点、多用户对嵌入式摄像机的快速、高效、安全访问及控制为实现目标, 通过对关键技术的分析,设计并实现一个适合在3 2 位处理器和r t o s 环境_ 卜 实现的,支持多点访问的小型嵌入式w e b 服务器,并编写c g i 程序及h t m l 页面文档,在局域网内部实现对网络摄像机的运行控制、运行参数配置及视 频图像的观看。文中对e w s 的实现进行了设计并对几个关键实现技术做了 详细分析并进行测试。 西南交通大学硕士研究生学位论文第5 页 第2 章嵌入式w e b 服务器软硬件开发平台 2 1 硬件开发平台 2 1 1 搭建硬件平台 宿主机是台运行l i n u x 的p c 机,目标板是w i s 公司的d a r e d e v i l 板。 其开发的硬件配置如图2 - 1 所示。 图2 1 开发配置连接 绝大多数的l i n u x 软件开发都是以n a t i v e 方式( 本地方式) 进行的,即本 机( h o s t ) 开发、调试,本机运行的方式。这种方式通常不适合嵌入式系统软 件丌发,因为对于嵌入式系统的开发,在本机运行开发工具和调试工具没有 足够的资源。通常的嵌入式系统的软件开发采用一种交叉编译调试的方式。 交叉编译调试环境建立在宿主机上,对应的开发板叫做目标板。 2 1 2 目标板简介 在嵌入式系统中。为了方便对系统的开发,目前一般采用的方法是先使 胴评估板做,r 发,当在评估板上,t 发运行调试成功以后,再去除开发中需要 而实际中不需要的硬件,最后做成产品批量生产,有很多厂商提供这种评估 板应用于嵌入式系统的开发,如l i n e o 公司的u c s i m m ,m o t o r o l a 公司的 西南交通大学硕士研究生学位论文第6 页 m c f 5 2 7 2 等。本系统采用的硬件平台如下【1 2 以太网 外部电 源 图2 z 网络摄像机硬件设计参考 处理器:主控制芯片为$ 3 c 2 5 1 0 a ,它是s a m s u n g 公司生产的基于以 太网应用系统的高性价比1 6 3 2 位r i s c 微控制器,内含a r m 公司设计的低 功耗、高性能a r m 9 4 0 t 内核,主频1 6 6 m h z ;内置2 个1 0 1 0 0 m b p s 以太网 控制器:6 个d m a 通道;6 个3 2 位定时器;6 4 个可编程的i o 口:2 个高 速u a r t s ;此外还有中断控制器,d r a m s d r a m 控制器,r o m s r a m 和 f l a s h 控制器,系统总线仲裁器、外部存储器控制器等。 存储器:系统主要采用2 片s d r a m 和1 片f l a s h 作为存储器。s d r a m 具有存取速度快的特点,适用于被访问频率较高的场合。本系统应用于视频 监控场合,需要存储大量的中间视频数据,因此采用1 片m i c r o n 公司8 m b s d r a m 专门存储这些数据。另外一片1 6 m ( 4 m 3 2 ) 的s d r a m 供整个系 统使用。f l a s h 的特点是掉电不易失,适用于存放永久性数据。本系统采用 1 6 位的大小为4 m b 的f l a s h 来固化操作系统内核、应用程序及其它永久数 据。 网络接口芯片:网络接口芯片需要采用符合i e e e 8 0 2 3 协议的通用接口 芯片。在此采用r e a l t e k 公司的r t l 8 2 0 1 b l ,它是具有1 0 m 1 0 0 m b p s 自适 应功能的以太网收发控制器,是目前应用最为广泛的一种网络接口芯片。 2 2 软件开发平台 基于u c l i n u x 的应用开发环境般是由目标系统硬件开发板和宿主p c 机 西南交通大学硕士研究生学位论文第7 页 所构成。硬件开发板用于操作系统和目标系统应用软件的运行,而操作系统 内核的编译、应用软件的开发和调试则需要借助宿主机来完成,这就要用到 交叉编译的方法。交叉编译是指在宿主机上编译链接生成可在嵌入式目标板 上运行的程序的过程1 1 2 】。在本系统上,建立基本的开发环境过程如下: ( 1 、在宿主机上安装标准l i n u x 操作系统,本系统采用的是r e d h a tl i n u x 9 0 , 必须完全安装,否则有些服务不能正确开启。配置好网卡驱动,开启 t f t p 、n f s 服务,修改宿主机的i p 地址,使宿主机的1 p 和目标机在同 一个网段。然后关闭r e d h a t 的防火墙,否则在用t f l 甲下载映像文件时 会出现错误。 ( 2 ) 安装g n u 开发工具链( 是g n u 开发的针对a r m 的一组编译开发程序) , 包括a r m e l f g c c ,a r m - e l f l d 等。从网站h t i p :w w w u c t i n u x o r g 上下裁文 件a r r f t e l f - t o o l s - 2 0 0 3 0 3 1 4 s h 。然后在保存该文件的目录下运行以下命 令:# s ha r m e l f - t o o l s 一2 0 0 3 0 31 4 s h 该命令执行后会在u s r l o c a l b i n 路径下 产生a r m e l f - g c c 、g + + 、g e n r o m f s 和e l f 2 f l t 等工具。 ( 3 ) 可以从网上免费下载u c l i n u x 内核源代码,将下载的u c l i n u x 内核源代码 解压到相应路径下( 一般可以解压至l j h o m c 目录下) ,此后就可以用上面 提到的a r m 编译工具对内核进行编译了。 西南交通大学硕士研究生学位论文第8 n 3 1 概述 第3 章嵌入式w e b 服务器概述 嵌入式w e b 服务器是嵌入式i n t e r n e t 技术的应用之一。它以t c p i p 协议 栈为基础构建,需要实现h t t p 、t c p 和u d p 等协议,具有i p 地址,通过 网络就可以将设备接入i n t e r n e t 。任何一个客户机,都可以通过h t t p 协议与 嵌入式w e b 服务器建立连接。嵌入式w e b 服务器在w e b 浏览器和设备之间 提供了统一的图形用户界面( g u i ) 接1 2 1 ,并且和基本上所有的w e b 浏览器 兼容,使得客户端可以像在本地一样透明地监控管理设备状况【1 “。 w e b 浏数器嵌入姹w e b 设备 图形用户界面臣画 v d e b 露f 面 嵌入式设备 l 晰i - r r m 器l l f 蚺o r 器m l i j a v al 嵌入式 蛉旃i 生戚器| | 所r 吊i i ,i o ,r m 。l i 虚拟机f w 曲懈 h t t p g l 鼙 h t t p j i 越 l i t c p i p 协扳槐 li 1 r c p i 啉议栈 i 舞络 图3 - 1 嵌入式w e b 服务器系统模型 w e b 技术在i n t e r n e t 上的广泛应用,导致b r o w s e r s e r v e r 这一新的软件应 用模型的流行,该模型本来是奉行“瘦客户胖服务器”的理念,主要的应用 程序在服务器上,客户端只需要浏览器环境,便可根据需要从服务器下载应 用程序来完成相应的任务。但由于需要将w e b 服务器安置在嵌入式系统中, 受嵌入式系统资源有限的影响,我们必须实现瘦w e b 服务器。瘦w e b 服务 西南交通大学硕士研究生学位论文第9 页 器是随着w e b 应用环境的改变而提出的。因为在嵌入式应用当中,特别是在 嵌入式设备当中,一个w e b 服务器不可能是很全面的,它必须捌有足够小的 容量,并且不影响嵌入式系统的整体性能,但必须具备一个w e b 服务器应有 的特征。一个典型的嵌入式w e b 应用如图3 - 1 所示。它也可以包含一个实时 操作系统( r t o s l 。w e b 服务器被用作一个单一线程,而不需要r t o s 的支持, 或者是作为多线程应用中的一个线程,不需要动态存储分配【h l 。 3 2w e b 通信协议简介 不同的计算机有不同的操作系统和硬件,操作系统之间的数据格式并不 一定兼容。要实现它们之间的通信,必须采用通信协议。协议是网络上的计 算机为了交换数据所必须遵循的通信规程及消息格式的集合【1 引。 3 2 1 嵌入式t o p ip 协议 嵌入式i n t e m e t 的技术核心是在嵌入式系统中部分或完整地实现t c p i p 协议。标准t c p i p 协议机制比较复杂,它的实现对处理器的存储能力和运 算能力要求较高。而在嵌入式系统中,由于资源有限特别是其存储器、 运算器的限制,实现完整的t c p i p 协议较为困难,必须将其简化,开发一 套嵌入式t c p i p 协议。 图3 - 2t c p i p 协议层次 应用层 传输层 网络层 网络链路层 西南交通大学硕士研究生学位论文,第1o 页 嵌入式t c p i p 协议一般实现a r p 、r a r p 、i p 、i c m p 、t c p 、u d p 、 h t t p 、s m t p 、f r p 和t e l n e t 等协议,可使用4 层结构来实现。为了有效 的利用嵌入式系统有限的资源并提高效率,各层协议的具体实现和标准的 t c p i p 协议相比有较大程度上的简化,但它具有最基本的功能。图3 2 描述 了嵌入式i n t e r n e t 使用的i p 、t c p 、u d p 和i c m p 协议,以及应用层协议之 系【1 引。 数据包在t c p i p 协议栈中流动的时候,也是由上至下或由下至上,逐层 进行传输的。在t c p i p 参考模型中,每个实体和另一个系统的同层实体按 协议进行通讯,而一个系统内实体和上下层间的通讯,则通过接口进行。不 同系统间同层实体问的数据传输过程如图3 3 所示i l “。 绽l 蝰进器 网 持收进程 应用层 i h l 教摄il 应甩惩 t c p u d pt h 数据丁c p u d p n h 数据口i p m h数摁m t m cm a c 物理屠比特流 坼珥悬 图3 3 数据包在t c p 1 p 分层模型中的传输过程 西南交通大学硕士研究生学位论文第11 页 3 2 2h t t p 协议 3 2 2 1h t t p 协议简介 w e b ( 或称w o r l dw i d ew e b ) 服务是最常见的i n t e r n e t 服务,而h t t p ( h y p e r t e x t t r a n s f e rp r o t o c o l ,超文本传送协议) 是w e b 应用的标准协议, w e b 服务器利用它与浏览器通信。h r r p 协议是应用层协议它适应了分粕 式超媒体协作系统对灵活性及速度的要求。它是一个一般的、无状态的、基 于对象的协议,通过对其请求方法( r e q u e s tm e t h o d s ) 进行扩展,可以用于 多种用途比如名字服务器( n a m es e r v e r ) 及分布式对象管理系统。通常情 况下,w e b 服务器提供服务的端口是8 0 ,当然也可以使用其它端口。h 订p 规定了发送和处理请求的标准方式,规定了浏览器与服务器之间传输的消息 格式及各种控制信息【1 7 】。 w e b 服务是典型的浏览器服务器( b r o w s e r s e r v e r ,简称c s ) 结构的应 用。一个典型的h t t p 会话过程通常包括以下步骤: w e b 浏览器向w e b 服务器发送一个连接请求; w e b 服务器收到这个连接请求之后,像浏览器发送确认信息,告知 对方已经成功建立起了t c p 连接; 浏览器向服务器发出h t t p 的请求; 服务器分析并处理h t t p 请求,将结果传送给浏览器: 浏览器接收传送过来的文档数据,并将其显示给用户浏览; 当服务器传送完整个文档之后,将中止与浏览器之间的连接; 3 2 2 2h t t p 消息结构分析 h r r p i 办议( r f c19 4 5 1 1 8 1 和r f c2 0 6 8 ) f i g n y 两种消息格式:h t t p 请求 消息( h a t er e q u e s tm e s s a g e ) 格式和h t t p 响应消息f h r r pr e s p o n s e m e s s a g e 。) 格式。h t r p 消息请求格式如表3 1 所示。请求消息由请求行、标 西南交通大学硕士研究生学位论文第12 页 题行中的各种标题域和实体主体( e n t i t yb o d y ) 坌且成。 表3 1h 丁r p 请求信息格式 s p s p c rl f c rl f 1 c r l f j 实体主体 卜请求行 标题行 服务器接收到客户的h t t p 请求消息后进行分析,并发送一条h t t p 响 应消息,然后断开相应的t c p 连接。响应消息的一般格式如表3 - 2 所示。从 图中可以看出,除了状态行之外,响应消息的格式与请求消息的格式相同。 实体主体包含有请求消息要求获得的对象,即文件。除了h t t p 的版本号之 外,状态行还包含状态码 和短语 ,它们组合起来表示 客户请求所获得的结果。 表3 2h t t p 响应消息格式 ( v e r s l o n s p s p c rl f c r l f c r l f j 实体主体 _ 3 3u c i i n u x 下实现动态页面的c g i 技术 + 状态行 标题行 嵌入式w 曲服务器需要根据浏览器发出的h t t p 请求及时更新网页或从头 创建网页,因此需要用动态交互技术实现。到目前为止,实现动态w e b 页面 有多种技术可供选择:c g i ( c o m m o ng a t e w a yi n t e r f a c e ) 、a s p ( a c t i v e s e r v e r 西南交通大学硕士研究生学位论文第13 页 p a g e ) 、p h p ( p e r s o n a lh o m ep a g e ) 矛nj s p ( j a v as e r v e rp a g e ) 等。在u c l i n u x 下如 果要实现动态网页,只能采用c g i ,因为目前u c l i n u x 还不支持a s p 、p h p 等动态网页技术【1 9 】。 公共网关接口c g i 是一种服务器与浏览器信息、交换的标准接口。c g i 建立在浏览器服务器机制上,为外部扩展的应用程序与w e b 服务器交互提 供了一个标准接口。按照c g i 标准编写的外部扩展应用程序可以处理客户端 输入的工作数据,完成客户端与服务器的交互操作等。 3 3 1 c g i 的工作机制 公共网关接口c g i 程序是存放在h t l p 服务器上,为用户和h t t p 服务 器之外的其它应用程序提供互相“交谈”手段的软件【2 0 】。在使用c g i 时,浏 览器与h t r p 服务器间的数据传输如图3 - 4 所示: 豁砷啦闻卿协 泌以m 咐魁l 柏 啦d 与l 鼢髓垃辩辙 浏黼h p 请啦。 览 器擞撇斟结果 井刿矸搬 搬f 懈# 嘲程 h r 口瑚 e 为( h 妤蟊fc g ij 浒曙咀芋 服 参数。程其岂 务序应用 器捌酣必程畸亏 黝j 鳓麟 图3 4 使用c g i 调用的客户机服务器数据交换模式 客户端的用户通过浏览器完成一定输入工作后,向服务器发出h 竹p 请 求( 称为c g i 请求) ,服务器守护进程接收到该请求后,就创建一个子进程( 称 为c g i 子进程) 。该c g i 子进程将c g i 请求的有关数据设置成环境变量,在 c g i 程序与服务器间建立两条数据通道,然后启动u r l 指定的c g i 程序。 子进程通过标准输出流将处理结果传递给服务器守护进程,守护进程再将处 理结果作为应答消息回送到客户端。 c g i 程序的调用方法有两种,一种是由用户直接在浏览器u r l 输入窗口 西南交通大学硕士研究生学位论文第1a n 中调用,一种是在h t m l 程序中使用f o r m 表单调用。用户输入数据可以 通过两种方式传递给c g i 程序:通过环境变量( g e t 方式) 或通过c g i 程序的 标准输k ( s t d i n ,p o s t 方式) 。 3 3 2c g l 程序的开发语言 在开发c g i 程序时,可根据服务器提供的接口和实际需求选择编程语言, 如c c + + 、p e r l 、s h e l l 、v b 、a p p l e s c r i p t 。如果选用c c + + 等语言,必须编 译成可执行文件;如果选用p e r l 等解释语言,服务器必须安装相应的解释器 。 3 3 3 c g l 与h t t p 协议的关系 c g i 通过h 丁r p 协议在客户端和服务器端进行通讯,客户端用户向服务 器发送的是h t t p 请求消息,该消息中含有处理用户输入的c g i 扩展程序的 u r l 值。c g i 扩展程序在处理结束后,返回给客户端的响应是h 订p 响应消 息。因此c g i 程序的输出数据必须符合h t t f 响应消息的语法格式。 3 34 f d e 标准简介 m i m e ”j ( m u l t i p o s ei n t e r n e tm a i le x t e n s i o n ) 是一种技术规范,提供了 c g i 与w e b 服务器和外部扩展应用程序之间的通信规则,同时它也是一个丌 放的多语言、多媒体的电子邮件标准。 配置m i m e 类型的语法因服务器的不同两不同,但它们都要求相同的信 息:类型、次类型和扩展名。类型是文件最为广泛的分类,包括:文本、图 像、音频、视频、应用等等。在每种类别里边又有很多次类型,例如,图形 文件类型包括的次类型有:g i f ,j p e g 等。扩展指文件的扩展名,服务器根据 它来确定文件的类型和次类型。每一天都有新技术和新的类型出现,服务器 通过这种方法,可以对类型进行扩展。表3 - 3 列出了常见媒体类型及其扩展 名和它们的m i m e 类型次类型信息。 西南交通大学硕士研究生学位论文第15 页 表3 - 3m i m e 类型和扩展的子类型 序号内容类型文件扩展名描述 1 a p p l i c a t i o n o c t e t s t r e a m d m sl h al z h 可执行程序 b i ne x ec l a s s 2 a p p i c a t i o n p o w e r p o i n tp p t m i c r o s o f tp o w e r p o i n t 3 i m a g e g i fg i f c o m p u s e r v eg i f 图 像 4 t e x t c s s c s s c s s 风格纸 5t e x t h t m lh t m lh t m h t m l 文档 6 t e x t j a v a s c r i p tj s i s m o c h aj a v a s c r i p t 脚本 7 t e x t p l a i n t x t a s c i i 文本 8 v i d e o m p e gm p e gm p gm p e g 影像 i 1 1 p e 西南交通大学硕士研究生学位论文第16 页 第4 章嵌入式网络摄像机w e b 服务器设计 w e b 服务器在主机u n l x 领域有非常著名的免费服务器软件a p a c h e 、i i s 等不少软件【2 3 】,在嵌入式l i n u x 系统领域,也有b o a 、h t t p d 、m i l l i h t t p d 、t h t t p d 等一些小型的w e b j l 1 务器。这些w e b 服务器都各有特点,非常具有参考价值。 所以,本系统在网络摄像机平台上开发的嵌入式w c b 服务器,尽可能的汲
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025海南省通信网络技术保障中心招聘事业编制人员(第2号)笔试参考题库附答案解析
- 2025年盐池县公开招聘窗口经办人员和仲裁院书记员考试模拟试题及答案解析
- 2025浙江杭州萧山技师学院职业教育合同制教师招录33人笔试参考题库附答案解析
- 2025年襄阳襄州区教育系统公开招聘高中教师51人笔试备考试题及答案解析
- 2025福建省连江县军粮供应站工作人员招聘1人笔试模拟试题及答案解析
- 2025福建三明清流县第二高级中学专任教师(劳务派遣)招聘14人笔试参考题库附答案解析
- 2025广西北海合浦县住房和城乡建设局招聘临时聘用人员20人笔试参考题库附答案解析
- 环保科技行业污水处理与回用技术方案
- 学校校园文化建设手册
- 网站建设与网页设计实践指南
- 幼师面试精 选题目及答案解析
- 慢性疾病管理与健康指导手册
- 2025年高中音乐教师招聘考试测试题及参考答案
- 主持人基础知识培训课件
- 2025年储能运维面试题及答案
- 通信技术对生活方式的改变
- 医院招聘面试题目及参考答案
- 2025年安徽演艺集团有限责任公司招聘20人笔试备考题库及答案详解(名师系列)
- 神经外科护士进修汇报:专业提升与实践应用
- 2025年事业单位考试医学基础知识真题及答案解析(医疗卫生系统)
- 建筑工地基孔肯雅热防控和应急方案
评论
0/150
提交评论