搜档网
当前位置:搜档网 › 嵌入式WEB服务器设计

嵌入式WEB服务器设计

嵌入式WEB服务器设计
嵌入式WEB服务器设计

嵌入式WEB服务器设计

摘要

为实现远程控制,将嵌入式设备和WEB服务器结合起来,组成嵌入式WEB服务器。本课题设计的嵌入式WEB服务器基于ARM实现,ARM芯片中安装有ARM-Linux操作系统,最后能够实现静态页面和动态交互页面的发布,向WEB服务器写入命令。本课题的设计方案由Apache服务器、SQLite 数据库和PHP引擎构成,具体的设计安装过程本论文给出了详细阐述。在ARM-Linux平台上安装Apache+SQLite+PHP系统,成功实现了管理员与SQLite嵌入式数据库系统的动态交互。嵌入式WEB服务器的设计对实现精确远程控制有着深远意义。

关键词:嵌入式系统;WEB服务器;SQLite数据库

The Designing of Embedded WEB Server

Abstract

In order to achieve remote control, embedded devices and WEB servers are combined to form the embedded WEB server. The designing of embedded WEB server is based on the ARM chip to realize,the ARM-Linux operating system is installed in the chip.Finally, the system could successfully issue the static web pages and the dynamic interactive pages, input orders to the WEB server. The design plan of the subject is made up by the Apache server、the SQLite database and the PHP engine, the paper has defined the specific process of design and installation. Apache + SQLite + PHP are installed in the ARM-Linux platform, dynamic interaction are successfully achieved. The designing of embedded WEB server has a far-reaching significance to achieve remote and precise control.

Key Words: Embedded Systems; WEB Server; SQLite Database

目录

1 绪论 (1)

1.1 嵌入式WEB服务器的发展背景 (1)

1.2 嵌入式WEB服务器的应用前景 (2)

1.3 论文完成的主要工作 (3)

2 嵌入式WEB服务器设计方案 (4)

2.1设计方案及比较 (4)

2.2 软件资源、硬件资源简介 (6)

2.2.1 嵌入式操作系统简介 (7)

2.2.2 ARM芯片简介 (8)

3 嵌入式WEB服务器的设计 (9)

3.1 嵌入式WEB服务器的构成 (9)

3.2 嵌入式WEB服务器的工作方式 (13)

3.3 通信协议 (14)

3.3.1 HTTP协议 (14)

3.3.2 TCP协议 (14)

3.3.3 嵌入式TCP/IP协议栈 (15)

3.4 浏览器/服务器通信过程 (16)

3.5 瘦WEB服务器 (17)

3.6 Apache+SQLite+PHP系统 (18)

4 简单嵌入式WEB服务器设计 (19)

4.1 软件分析 (21)

4.2 硬件实现 (23)

4.3 性能分析 (26)

5 Apache+SQLite +PHP系统设计 (26)

5.1 SQLite数据库 (27)

5.2 Apache服务器 (29)

5.3 PHP (32)

5.4 系统调试 (34)

6 结论 (35)

致谢 (37)

参考文献 (38)

附录 (40)

外文资料翻译 (54)

1 绪论

计算机技术的发展使得嵌入式系统近年来发展迅速,广泛应用到生产生活的各个方面。随着远程遥控在航天、医疗、军事领域的成功实现,人们希望这一技术能够推广应用,为生产生活带来更多动力和便利。在一些应用场合如要求低功耗的场所,不需要安装一台完整的计算机进行控制,只需要安装有一个嵌入式WEB服务器即可满足需要,不但节约了成本,也减少了占用空间。近年来,国内外研究嵌入式Internet的学者越来越多,他们成立众多的组织和机构,来专门讨论和制定该领域的标准和开发相关的技术。如Sena公司开发了一个小型的实验室系统,可以在网上访问并控制实验室的智能设备,这些设备包括0-100%亮度的台灯,0-100%速度的电风扇以及开关式的壁灯。国内的公司如东大阿尔派公司开发了一套远程维护CT产品的诊断系统,通过Internet 实现对各地CT机的远程诊断和维护。本课题为嵌入式WEB服务器的设计应用研究,基于ARM实现。在深入学习研究WEB服务器工作原理的基础上,采用功能强大、适用于嵌入式系统的服务器和数据库,进行设置后,实现了嵌入式WEB服务器的设计。该系统占用存储空间小、性能稳定、源代码开放,是理想的为小型设备配备的WEB服务器。目前,嵌入式WEB服务器已经用于远程楼宇电梯控制、信息家电管理、生产过程控制等领域。本课题设计的嵌入式WEB服务器对于嵌入式系统在远程控制领域的推广应用具有深远意义。

1.1 嵌入式WEB服务器的发展背景

凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统,嵌入式系统可以通过各种无线形式(如WAP、Blue Tooth等)和有线形式(TCP/IP)的网络连接方式实现它们之间的相互连接,因此,在网络通信市场上极具生命力。嵌入式设备,是指具有计算机功能,但又不称为计算机的设备或器材,几乎包括

了我们周围的所有电路设备:PDA、手机、数字电视机顶盒、汽车、微波炉、电梯、自动售货机、医疗仪器、自动取款机等。现在人们对Internet应用的依赖程度日渐增加,也促进了嵌入式技术的增长。信息家电的发展也为嵌入式Internet技术提供空间,如面向Internet的信息冰箱。这种信息家电的特点就是价格合理、功能强大、全面支持Internet访问、软件可通过网络升级。

嵌入式Internet技术主要包括传感器技术、通信技术、计算机技术和集成电路技术等。以前的设备控制系统一般是通过专用通信线进行的,其通信介质、通信协议、相关软件和硬件都是专用的,如Can 总线技术、Modbus协议,而Internet技术的发展使嵌入式设备的远程控制和管理方式有了改变。不需要专用的通信线路,并且传输的信息不局限于数据信号,还有声音和图像。最重要的是其通信协议是标准且公开的。WEB技术的发展,改变了现在的信息表达形式,很多应用都是基于WEB技术的。由于HTML语言的标准统一性,只要在嵌入式设备中有一个微型服务器, 就可以使用任意一种WEB浏览器接收和发送信息。所以如何设计这种特别的WEB服务器,如何在嵌入式设备中安装WEB服务器,就成了嵌入式WEB服务器的发展和研究方向。

1.2嵌入式WEB服务器的应用前景

互联网覆盖率极广、联网设备众多、协议完善、功能强大,已经成为社会重要的基础信息设施,是重要的信息流通渠道。具备互联网的接入功能,已经成为众多使用微处理器的嵌入式设备应用的发展方向。通过Internet可以获得世界各个状态的实时变化,并且通过Internet远程控制、调节,使之达到要求。比如将世界各地的气象站、水文站联入Internet,不仅可以实现无人监控,而且可以随时了解当时各地的状况;通过Internet 对住宅进行远程监测与控制(如室内温度监测,空调遥控等);跨国公司对国外的工厂、生产线的监控;

大型设备的远程管理与维护等。这样我们所面对的Internet将不仅仅是服务器硬盘中的文件和数据,而是一个充满生机的现实世界。利用TCP/IP 网络通信协议,任何计算机都可以使用通用的网络浏览软件访问配备嵌入式WEB服务器的设备,而不需要专门的计算机和软件;设备的信息通过网页发布,可以使用数据、图表、动画等各种丰富的表现方式。WEB通信是从客户机端开始的,客户机通过WEB浏览器向服务器发送一个查询请求,当服务器接收到请求时,由服务器负责对来自客户机的请求做出回答,即找到要查询的信息,然后又由服务器将查询结果以HTML标记的文本形式传递给客户机。

具有网络接入功能的嵌入式设备可以应用在诸多场合,例如:

* 信息家电:冰箱、空调、电视机、洗衣机等的网络化;

* 智能家庭管理系统:温度湿度控制系统,防火防盗系统;

* 工业自动化:生产过程控制、电网设备监测、石油化工系统;

对于嵌入式WEB服务器的研究和应用,其意义是重大的。它为管理、控制和监测各种各样设备提供了一个很好的途径。这种设备可以是具有有限内存资源的8位或32位系统,而且这种方式是基于Internet的。这种设备可以在世界任何一个地方,只要将其连入Internet就能够对其进行管理控制。

1.3 论文主要完成的工作

本论文介绍了一种基于ARM9的嵌入式WEB服务器的设计方案,硬件平台采用UP-ARM2410-S实验箱,主要工作在于软件方案的实现。本文在深入学习目前的嵌入式WEB服务器设计方法的基础上,结合ARM功能强大的特点,提出了一种完善的设计思路,并完成了系统的设计和最后的测试。论文结构如下:

第一章介绍了课题的发展背景、应用前景;

第二章介绍了嵌入式WEB服务器的设计方案及软硬件资源;

第三章介绍了嵌入式WEB服务器的构成、工作方式及其通信过程;

第四章介绍了简单嵌入式WEB服务器的设计;

第五章介绍了Apache+SQLite+PHP系统设计,将其在UP-ARM2410-S实验平台上进行了验证;

第六章对论文工作进行了总结,简述了本系统已取得的研究成果。

2 嵌入式WEB服务器设计方案

实现嵌入式WEB服务器设计,总体方案有两种:根据需要编程构建服务器和使用应用成熟的专门嵌入式WEB服务器如Apache、Boa服务器等,但不同软硬件资源需要不同的配置,才能正常的按照要求工作。整个设计方案在基于Red Hat 9.0、Arm-Linux的软件环境和UP-ARM2410-S硬件环境中完成。由于嵌入式系统资源有限,所以在PC机上通过交叉编译生成在ARM上可执行的代码,通过串口线将生成的可执行文件下载到ARM芯片中,利用移植在芯片中嵌入式操作系统ARM-Linux启动WEB服务器。这样,一个嵌入式WEB 服务器就设计完成了。从实用性的角度考虑,一个完整的嵌入式WEB服务器能够提供动态网页,即能够提供实时的数据,实现人机双向通信。这就要求服务器有一个数据库存储实时数据。所以在方案二中提出WEB服务器由Apache 实现,数据库由sqlite实现,数据库和服务器的通信由PHP实现。

2.1 设计方案及比较

嵌入式WEB服务器的设计方案要根据其要完成的任务而定。如果任务较简单,只显示静态网页,则只需要服务器即可;如果涉及到动态交互页面,如向设备发送命令,读取设备当前的工作状况信息,则必须要用数据库来完成存储数据、命令的功能。下面列出各种设计方案:

方案一:

只含有一个简单的WEB服务器,能够显示静态页面。其中服务器的程序根据需要自行编写,比较灵活,关键理解TCP/IP协议、HTTP协议和网络通信的进程。结构图如图2.1所示。

发布静态网页

图2.1

方案二:Apache+SQLite+PHP

数据库采用嵌入式数据库SQLite,服务器采用Apache,脚本引擎采用PHP.首先在PC机上编译配置后,安装到ARM2410开发板上。PHP作为连接服务器和数据库的桥梁,当收到查询时连接数据库并发送查询命令将查询结果变换成为HTML格式,发送给服务器。结构图如图2.2。

图2.2

方案三:移植BOA服务器

在ARM上移植支持脚本或CGI功能的BOA服务器。BOA是一个非常小巧的WEB服务器,可执行代码只有60KB.它是一个单任务WEB服务器,只能依次完成用户的请求,而不会生成新的进程来处理并发连接请求。支持CGI,能够为CGI程序生成一个进程来执行。其设计目标是速度和安全。

经过比较以上三种方案,最终确定方案一和方案二。原因有下列几点:方案一较易实现,而且可以深入学习网络编程方面知识,理解网络通信过程;在比较方案二和方案三的过程中,着重考虑了系统的功能、稳定性、体积和可实现性等方面,Apache服务器是Linux下最常用的服务器,性能优秀,应用趋于成熟,所以最终选择方案二。

2.2 软件资源、硬件资源简介

本课题研究的嵌入式WEB服务器应用的软硬件资源有:在PC机上运行的Red Hat 9.0操作系统、在ARM芯片上运行的ARM-Linux嵌入式操作系统、UP-ARM2410-S实验箱。本课题是基于嵌入式系统设计的,嵌入式系统是以应

用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统的架构如图2.3所示。

软件结构

硬件结构

图2.3 嵌入式系统架构图

2.2.1 操作系统简介

本课题应用的是Linux操作系统,PC机上运行的是Red Hat 9.0 Linux操作系统,ARM上运行的是嵌入式操作系统ARM-Linux。选择Linux操作系统基于以下方面:1)Linux操作系统可裁剪,根据需要裁剪内核适用于各种硬件环境;2)Linux源代码开放,可直接从网上下载资源安装而无需购买,节约成本;3)Linux操作系统性能稳定,适合在环境恶劣的场所应用;4)课题中用的ARM2410芯片支持Linux操作系统。

Linux是能够自由传播并继承了Unix内核的操作系统,是对Unix的简化和改进,它既保留了Unix系统的高安全性,同时也使其操作更加简单方便,从而使单机用户也可以使用。Unix内核指的是操作系统底层的核心程序代码。Linux是由芬兰的赫尔辛基大学学生Linus Torvalds把Minix系统向X86移植的结果。与其它操作系统相比,Linux还具有以下特色:采用阶层式目录结构,文件归类清楚、容易管理;支持多种文件系统,如Ext2,Ext3以及Windows的

文件系统FAT16,FAT32,NTFS等;具有可移植性,系统核心只有小于10%的源代码采用汇编语言编写,其余均是采用C语言编写,因此具备高度移植性;可与其他操作系统如Windows98/2000/XP等并存与同一台计算机上。本课题在PC机上采用Red Hat Linux 9.0操作系统。由于ARM920T有MMU,故可以直接移植标准的ARM-Linux内核。

虽然大多数Linux 系统运行在PC 平台上,但Linux 也是嵌入式系统的可靠主力。Linux 的安装和管理比Unix更加简单灵活。Linux 中有许多命令和编程接口同传统的Unix一样。但是对于习惯于Windows 操作系统的人来说,需要记忆大量的命令行参数却是一个缺点。随着Linux 社团的不断努力,Linux的人机界面开发环境正在不断完善。典型的Linux 系统经过打包,在拥有硬盘和大容量内存的PC 机上运行,嵌入式系统不需要这么高的配置。一个功能完备的Linux 内核要求大约 1 MB 内存。而Linux 微内核只占用其中很小一部分内存,包括虚拟内存和所有核心的操作系统功能在内,只需占用系统约100 K 内存。只要有500 K 的内存,一个有网络栈和基本实用程序的完全的Linux 系统就可以在一台8 位总线(SX)的Intel 386 微处理器上运行的很好了。内存要求是根据需要的应用决定的,Linux 系统甚至可以仅使用256 KB ROM 和512 KB RAM 进行工作。

本课题中用到的Linux内核版本是2.4.18,交叉编译器gcc版本是2.95.2。

2.2.2 S3C2410X芯片简介

S3C2410X是一款由Samsung公司为手持设备设计的低功耗、高集成度的基于ARM920T核的微处理器。为了降低系统总成本和减少外围器件,这款芯片中还集成了以下部件:16kb指令Cache、16kb数据Cache,MMU,外部存储器控制器,LCD控制器,NAND Flash 控制器,4个DMA通道,3个URT通道,

1个IIC总线控制器,1个IIS总线控制器,以及4个PWM和1个内部定时器,通用I/O口,实时时钟,8通道10位ADC和触摸屏接口,SD/MMC卡接口等。现在它广泛应用于PDA,移动通信,路由器,工业控制等领域。16/32位RISC 结构和ARM精简指令集,支持ARM调试结构,片上ICE支持JTAG调试方式,内置先进微控制器总线接口AMBA。

本课题用的硬件平台是基于ARM 体系结构,由北京博创科技有限公司开发的UP-NetARM2410-S实验箱。UP-NetARM2410-S的CPU 为采用ARM920T内核的三星S3c2410 芯片,由于有MMU可以运行标准的ARM-LINUX 内核。

3嵌入式WEB服务器的设计原理

嵌入式WEB服务器工作是基于网络通信协议传输信息的,本课题中用到的主要是TCP/IP协议、HTTP协议。通信协议规定了信息传输的各种规则,保证数据在传输过程中的完整性、正确性,当数据传输出现故障时要求服务器再次发送该数据。由于嵌入式系统资源有限,特别是存储资源,所以在嵌入式WEB服务器中只能应用缩减版的只包含必须功能的嵌入式TCP/IP协议,相应的服务器成为瘦WEB服务器,成为适合在资源有限的设备或环境中应用的嵌入WEB服务器。在通信时,服务器首先启动侦听进程,当有来自浏览器的请求时,服务器解析请求并将请求数据发送给浏览器。为实现动态交互网页,完整的服务器还应包含嵌入式数据库,用来存储各种实时数据。

3.1 嵌入式WEB服务器的构成

嵌入式WEB服务器的软件系统主要解决远程用户通过Internet访问现场设备的问题, 为此必须在设备中嵌入TCP/IP 协议栈和WEB Server, 以解决非Internet 设备的网络互联和管理问题。嵌入式WEB服务器是以瘦TCP/IP

协议栈和嵌入式实时操作系统(ERTOS)为基础构建而成的, 使设备具有简单的网络管理功能, 因此通过网络就可以对接入到Internet 上的设备进行管理和控制。嵌入式WEB服务器的体系结构如图3.1所示

图3.1 嵌入式web服务器体系结构

嵌入式WEB服务器硬件系统是包含了WEB 通信功能的微型处理器,它可以和前端的应用系统直接集成在一起, 也可以通过现场总线与应用系统相连。其硬件结构图如图3.2所示。

图3.2 web服务器硬件结构图

一个完整的嵌入式WEB服务器硬件系统必须具备FLASH ROM存储器,用来存储实时操作系统的系统内核、TCP/IP 协议栈、各种WEB文档; DRAM 存储器供系统运行时使用; 以太网接口实现与Internet连接; 前端应用系统的硬件完成传统意义上的应用功能;而微型处理器负责全面的管理控制。

嵌入式WEB 服务器的核心是HTTP 引擎和CGI接口。HTTP (超文本传输协议)是WEB 服务器用来与浏览器通信的协议, HTTP 规定了发送和处理请求的标准方式, 规定了浏览器和服务器之间传输的消息格式及各种控制信息, 从而定义了所有WEB 通信的基本框架。如图3.3所示。在嵌入式WEB 服务器中, 为了得到一个稳定的用户界面而又不影响嵌入式系统的CPU和内存资源, 应该使用HTTP1.0 标准。

图3.3 HTTP示意图

CGI(通用网关接口)定义了WEB服务器与CGI 脚本之间的接口标准。其主要功能是在WEB 环境下, 从客户端传送一些信息给WEB服务器,WEB服务器把接收到的有关信息放入环境变量,然后再去启动所指定的CGI 脚本以完成特定的工作, CGI 脚本从环境变量中获取相关信息来运行, 最后以HTML格式输出相应的执行结果返回给浏览器端。由于用户能传递不同的参数给CGI脚本,所以CGI技术使得浏览器和服务器之间具有交互性。

一个完整的嵌入式WEB服务器系统由浏览器和服务器两部分构成,二者通过网络连接,详细的内部构成如图3.4所示。

Web浏览器

图3.4 典型的嵌入式web服务器系统模型

3.2 嵌入式WEB服务器的工作方式

WEB服务器的工作方式都是以套接字(Socket)机制为基础的。在服务器端,首先创建一个套接字,并将该套接字与服务器的公认地址绑定在一起;接着将套接字转换成侦听套接字用来侦听用户请求,然后接受客户机的连接。建立连接后,服务器和客户机之间就可以进行通信了。本论文的嵌入式WEB 服务器主要由初始化模块、侦听模块、请求解析模块、脚本引擎模块、输出模块和命令执行模块,各模块关系如图3.5所示:

图3.5 WEB服务器模块图

初始化模块用于定义变量、设置信号量、创建套接字、将套接字与本地地址和端口绑定,并设置套接字处理侦听状态。侦听模块在接收到一个连接请求后,读取用户的请求,进行处理,再交给解析模块进行解析。请求解析模块是服务器的核心所在,根据用户的请求,进行相应的处理。当请求为静态文本时,

文档直接提交输出模块输出;请求为动态文本时,请求解析模块自动调用脚本引擎模块,将脚本替换为现场数据,再提交输出模块输出;当请求为带参数的执行命令时,请求解析器调用命令执行模块分析命令并控制监控前端。

3.3 通信协议

WEB在工作过程中,使用TCP/IP、HTTP协议和HTML语言,它们只在自己的层次上工作。TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是最早出现的传输协议。连接到Internet上的所有计算机都使用这个通信标准,它的功能是负责Internet上的任意两个计算机之间准确传送数据。

3.3.1 HTTP协议

HTTP(Hypertext Transfer Protocol,超文本传输协议)是WEB 服务器能够理解的一种语言,因此有时也称WEB服务器为HTTP服务器。超文本(Hypertext)就是在引用处到被引用的对象之间用一个有向链(Link)表示。超链(Hyperlink)文档加上超链就构成超文本。WEB客户机要想与服务器进行对话,它就用TCP/IP向服务器发送HTTP信息。这些信息的主要作用是请求驻留在服务器上的特定文档。

HTML是专门用来描述WEB页面的,对于用HTML描述的信息,WEB 浏览器可以以一种客户比较容易理解的方式表达出来,并显示在客户机的显示器上。

3.3.2 TCP协议

Transmission Control Protocol(传输控制协议)该协议主要用于在主机间建立一个虚拟连接,以实现高可靠性的数据包交换。IP协议可以进行IP数据包的分割和组装,但是通过IP协议并不能清楚地了解到数据包是否顺利地发

送给目标计算机。而使用TCP协议就不同了,在该协议传输模式中在将数据包成功发送给目标计算机后,TCP会要求发送一个确认;如果在某个时限内没有收到确认,那么TCP将重新发送数据包。另外,在传输的过程中,如果接收到无序、丢失以及被破坏的数据包,TCP还可以负责恢复。它是一种面向连接的、可靠的、基于字节流的运输层通信协议。服务器程序开始运行时,主进程(守护进程) 就创建一个套接口,并和主机地址绑定到一起,随后置为被动监听状态,等待客户端连接请求的到来。一旦接收了一个连接,Accept 会返回一个新的套接口描述符,主进程则开辟一个新的子进程来处理这个新的连接,这样系统可以同时接受来自多个客户端的请求。程序具体如下:int socket (family,type,protocol) 该函数用来创建一个套接口,并返回一个短整数的套接口描述符;

int bind(socket,localaddr,addrlen) 该函数为一个套接口指明一个本地IP地址和协议端口号,一般用来为服务器指定指明端口,其中socket 为上边socket() 函数所创建的套接口描述符;

int listen (socket,queuelen) 服务器使用该函数使上面所创建的套接口处于被动监听状态(即准备接受客户端的请求);

int accept(socket,addr,addrlen) 该函数接受连接请求,为该请求创建一个新套接口,并返回新的套接口描述符,交给子进程具体处理,原套接口继续用来监听后续请求,子进程用来处理每个具体请求。

3.3.3 嵌入式TCP/IP协议栈

标准的TCP/IP协议栈,包括TCP、IP、ICMP、RARP等,对嵌入式Internet 系统的大量使用有着很重要的意义。但是,这些协议的实现在嵌入式系统中有着特别的要求,如图形和数据的显示、实时分布式对象计算等。所以研究嵌入

式TCP/IP协议栈以满足嵌入式系统的性能要求是很重要的,应尽量减小TCP/IP协议栈而又不失一般的标准性。现在国外对此已经有很多的相关研究,如国外的μC/IP项目的研究,它是一个为微控制器和嵌入式系统而设计的小型TCP/IP协议栈;又例如CMX公司的MicroNet TCP/IP,它是为8位或16位微处理器而设计的,支持大部分的标准协议,连接方式有以太网连接、拔号连接和直接连接方式。

嵌入式WEB服务器技术的核心是HTTP引擎。HTTP协议是WEB应用的标准协议,已经从HTTP1.0发展到HTTP1.1,性能有很大改变,增加了缓存功能,同时也是TCP连接形式的改变。HTTP1.0在每次HTTP请求中都需要TCP 连接。一个典型的页面可能含有许多单独的HTTP请求,如基本页面请求、每个HTML框架请求、每个图形请求等。建立每个请求和产生每个TCP连接需要占用大量的CPU和内存资源;而HTTP1.1标准可以为多个HTTP事务在浏览器和服务器之间只保持一个TCP连接,这样就大大提高网络和系统的性能。但嵌入式WEB服务器功能单一,访问用户不会很多,仅限于管理员,从占用内存资源角度考虑,选择使用HTTP1.0标准。

3.4 浏览器/服务器通信的过程

浏览器根据用户显式提供的URL,或单击锚点隐式提供的URL,向WEB 服务器提出连接请求。服务器方有一个常驻的守候进程(Daemon),该进程开机后就由操作系统创建,并一直处于就绪状态,专门监听来自各个端口的外来请求。一旦监听到来自80号端口的请求,守候进程就要求操作系统创建或从缓冲池中分配一个WEB服务器进程(或线程),并把浏览器发来的连接请求转交给这个进程,守候进程就结束了一次它的监听任务,并转入继续监听状态,剩下的任务就由WEB服务器进程来完成。WEB 服务器进程首先与浏览器建

嵌入式web服务器搭建讲解

Web服务器创建 随着计算机技术的发展,嵌入式系统已成为计算机领域的一个重要组成部分。广义讲,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。所谓嵌入式设备,是指具有计算机功能,但又不称为计算机的设备或器材,几乎包括了我们周期的所有电路设备:PDA、手机机顶盒、汽车、微波炉、电梯、安全系统、自动售货机、医疗仪器、自动取款机等。嵌入式系统可以通过各种无线形式(如WAP、Blue嵌入式Internet技术主要包括传感器技术、通信技术、计算机技术和集成电路技术等。以前的设备控制系统一般是通过专用通信线中进行的,其通信介质、通信协议、相关软件和硬件都是专用的,而Internet技术的发展使嵌入式设备的远程控制和管理方式有了改变。不需要专用的通信线路,并且传输的信息不局局于数据信号,还有声音和图像。最重要的是其通信协议是标准且公开的。随着Web技术的发展,几乎改变了现在的信息表达形式,很多应用都是基于Web 技术的。由于HTML语言的标准统一性,只要在嵌入式设备中有一个微型服务器, 就可以使用任意一种Web浏览器接收和发送信息。所以如何设计这种特别的Web服务器,如何在嵌入式设备中安装Web服务器,就成了嵌入式Web服务器的发展和研究方向。 对于嵌入式Web服务器的研究和应用,其意义是重大的。它为我们管理、控制和监测各种各样设备提供了一个很好的途径。这种设备可以是具有有限内存资源的8位或16位系统,已足够提供一个用户界面,而且这种方式是基于Internet 的。这种设备可以在世界任何一个地方,只要它连入Internet就能够控制它。 1.1 课题的研究意义 Internet的迅猛发展,传统的Client/server体系结构(客户机/服务器),渐渐的在某些方面显示出它的局限性,Browser/server结构(浏览器/服务器)的出现恰恰弥补了这种缺陷。B/S方式已成为一种时尚,大部分网络应用系统都是以这种B/S方式与网络用户交换信息。B/S的基础是客户端要有一个浏览器程序,服务器端要有一个与之对应的Web服务器。显然,Web服务器在B/S方式下起着决定性的作用,因此,一般互联网站都采用功能强大的通用Web服务器。 随着网络各个核心部分业务量的提高,其访问量和数据流量快速增长,处理能力和计算强度也相应增大,使得单一设备根本无法承担,而且许多企业级应用系统的应用请求具有突发性和紧急性的特点,当应用访问急剧上升时,容易造成网络瓶颈。解决这一问题的办法是采用多台嵌入式Web服务器为一个应用服务,集群负载均衡机制就是为解决多个网络设备之间实现合理的业务量分配而提出

基于嵌入式web服务器的网站及应用开发

基于嵌入式web服务器的网站及应用开发 CGI 的工作原理: CGI 是一种通用的接口标准。CGI 程序就是符合这种接口标准的,运行在Web 服务器上的程序。它的工作就是控制信息要求,产生并传回所需的文件。CGI 由浏览器的输入发这个程序。 先看看浏览器浏览网页是怎样实现的。作为一个用户首先在浏览器的地址栏中添加上要访问的主页地址并回车触发这个申请。浏览器将申请发送到服务器上。We服务器接收这些申请并根据.htm 或.html 的后缀并认识到这是HTML 文件。Web 服务器从当前硬盘或内存中读取正确的HTML 文件,然后将它送回浏览器。HTML 文件将被用户的浏览器解释并将结果显示在用户浏览器上。 CGI 程序可以用来在web 内加入动态的内容。通过接口,浏览器能够发送一个可执行应用程序的HTTP 请求,而不仅仅只是静态的HTML 文件。服务器运行指定的应用程序,这个应用程序读取与请求相关的信息,获得请求传过来的数值。例如使用者填写HTML 表单提交了数据,浏览器将这些数据发送到Web 服务器上。Web 服务器接收这些数据并根据客户机指定的CGI 程序把这些数据递交给指定的CGI 程序,并使CGI 在服务器上运行。CGI程序运行结束,生成HTML 页面,Web 服务器把CGI 程序运行的结果送回用户浏览器。HTML 文件将会被用户的浏览器解释并将结果显示在用户浏览器上。CGI 的基本工作情况如下图所示: CGI的输入与输出: Web 服务器与CGI程序之间通过四种途径进行通信:环境变量、命令行、标准输入和标准输出。其中负责输入的有环境变量、命令行和标准输入。命令行只用于ISINDEX查询, 较少使用。环境变量存放服务器向CGI程序传递的一些运行参数, 比如REQUEST_METHOD表示用户提出请求或提交数据的方法是GET还是POST。方法(METHOD)是HTTP 中对命令的称呼。GET 方法通过环境变量QUERY- STRING传递用户提交的数据。经过编码的数据以问号打头追加在标识CGI 脚本地址的URL 后一起传给Web 服务器。服务器将其存于QUERY-STRING 中,CGI程序可以通过getenv() 函数来读取。编码数据除了表单数据,还可以是直接调用CGI 脚本时追加在URL 地址后面的参数。POST 方法则通过标准输入( stdin)传递提交数据。编码了的表单数据独立地传送给Web 服务器,CGI程序从标准输入中获得,可以用getchar( ) ,sscanf( ) ,fread( )等函数。要注意的是数据的长度是通过读取环境变量CONTENT_LENGTH 获得的,而不是通过文件尾标识符来判断。 嵌入式WEB 服务器的硬件结构 嵌入式WEB服务器的硬件结构如图2所示。其主要由CPU芯片、MPEG-4音视频编码芯片、Flash芯片、SDRAM内存、以太网络接口、大容量硬盘组成。其中CPU采用M OTOROLA公司的PowerPC系列嵌入式通信处理器MPC8250。MPEG-4音视频编码芯片

嵌入式Web服务器的实现

第三章 嵌入式Web服务器的实现 3.1 嵌入式Web服务器的概况 随着计算机的日益普及,互联网络(Internet)已经成为人们日常生活的一部分。互联网络是覆盖率极广、联网设备众多、协议完善、功能强大的一种通信方式,已经成为社会重要的基础信息设施,是重要的信息流通渠道。具备互联网络的接入功能,已经成为众多使用微处理器的嵌入式应用的发展方向。网络控制设备逐渐成为一种趋势。 使用互联网络的接入功能将给嵌入式的微处理器应用带来很多好处:利用无所不在的互联网络,可以从全球的任何一个角落实现对设备的监控;利用开放的TCP/IP 网络通信协议,任何的计算机都可以使用通用的网络浏览软件访问设备,不需要专门的计算机和专门的软件;设备的信息通过网页的形式体现。 因此从概念性上来讲,嵌入式Web服务器(Embedded Web Server)是指将Web服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心的基于互联网的网络测试和控制设备。嵌入式Web服务器系统与传统的Web应用相比,简化了系统结构,将信息采集和信息发布都集成到现场的测控设备中。 一般来说,Web服务器通常由以下几个部分组成: ● 服务器初始化部分。这部分主要完成Web服务器的初始化工作,如建立守护进程、创建TCP套接字、绑定端口、将TCP套接字转换成侦听套接字,进入循环结构,等待接收用户浏览器连接。 ● 接收客户端请求。由于客户端请求以文本行的方式实现,所以服务器也以文本行为单位接收。 ● 解析客户端请求。这部分工作比较复杂,需要解析出请求的方法、URL(统一资源定位符)目标、可选的查询信息及表单信息。如果请求方法为HEAD,则简单地返回响应首部即可;如果方法是GET,则首先返回响应首部,然后将客户端请求的URL 目标文件从服务器磁盘上读出,再发送给客户端:如果是POST,则比较麻烦,首先要调用相应的CGI程序,然后将用户表单信息传给CGI程序,CGI程序根据表单内容完成相应的工作,并将结果数据返回。

浅谈实用的嵌入式Web服务器设计

浅谈实用的嵌入式Web服务器设计 数字化变电站是建立在网络通信技术和电子技术基础上的一种新型变电站自动化系统,其中一个重要特征就是二次设备的网络化。目前在国内的数字化变电站试点中,已经出现了大批支持以太网和TCP/IP协议的嵌入式IED,在具体开发和应用中发现,由于现场环境的复杂多变以及客户需求的多样性,经常需要对这些IED进行参数的配置和修改。但厂家多采用专门的配置软件来进行,操作界面不够统一,给现场操作带来诸多不便。而采用Web服务器技术,则只需要浏览器便可实现对IED参数的在线修改与配置,从而极大地方便了对设备的维护和管理。目前,Web服务器功能在数字化变电站中,多用于调度与监控端设计,单纯在IED上实现Web服务器功能的报道尚不多见。本文通过对Linux平台上运行的BoA Web服务器和CGIC的研究,将原本两个独立运行的程序整合为多任务系统中的一个任务实体,并对其进行相应的精简和修改;设计并实现了一种可在一般嵌入式系统上运行的,既相对简单又响应快速的嵌入式Web服务器。目前已在相关装置上得到应用,取得了较好的使用效果。 ?BOA和CGIC是两个基于Linux的开源软件,代码采用C语言实现,程序小巧灵活、执行高效,非常适合于嵌入式系统的应用环境。但目前多用于Linux或μClinux的系统平台上。鲜见有用于其他系统的相关报道。 ?其中BOA是一个单任务的HTTP服务器,它的设计目标主要是速度和安全。因此,它不像传统的Web服务器,为每个访问连接单独开启一个进程,也不会为处理多个连接而开启多个自身的拷贝。BOA对所有活动的HTTP在内部进行连接处理,只为每个CGI连接启动新的进程,在同等硬件下相比其他服务器具有更快的访问速度。而CGIC是一个为支持通用网关接口

基于ARM简单嵌入式WEB服务器系统的设计

摘要 工程实践教学环节是为了学生能够更好地巩固和实践所学专业知识而设置的,在本次工程实践中,我们以ARM体系结构与编程课程中所学知识为基础,对基于ARM的简单嵌入式WEB服务器系统进行了简单设计。本设计利用ARM 自带的WEB服务器技术,来实现对嵌入式WEB服务器系统的控制设计。该技术基于WEB服务器之上,且用嵌入式WEB服务器来实现对于网络的访问。 本设计说明重点介绍了如下几方面的内容: 1)基于嵌入式WEB服务器的HTTP协议;1 2)Linux 下的signal()函数的使用; 3)嵌入式WEB服务器的工作原理; 4)ARM开发板上的SOCKET网络编程。 关键词:ARM体系;嵌入式WEB服务器;HTTP协议;SOCKET网络编程。

目录 第一章绪论 (3) 1.1课题简介 (3) 1.2设计目的 (3) 1.3设计内容 (3) 1.4设计用途 (3) 第二章嵌入式WEB服务器设计原理简介................................................ 错误!未定义书签。 2.1需求说明.............................................................................................. 错误!未定义书签。 2.2功能需求详细说明.............................................................................. 错误!未定义书签。 2.3数据流图(DFD) (5) 2.4数据需求 (6) 第三章嵌入式WEB服务器设计流程 (7) 3.1系统结构图 (7) 3.2整体结构图说明 (7) 3.3连接处理模块 (8) 3.4功能分配 (8) 第四章嵌入式WEB服务器设计程序分析及实践 (10) 4.1程序设计 (10) 4.2程序分析 (11) 4.3实验步骤 (15) 参考文献 (17)

基于ARM的嵌入式Web服务器设计

题目:基于ARM的嵌入式Web服务器设计与实现 学号:1308010139 姓名:吴明川 班级:1308010139 专业:计算机科学与技术 课程老师:孔军 二零一六年五月

摘要 随着计算机、网络通信和Internet 技术的飞速发展和不断进步,嵌入式系统在家庭和工业应用越来越广泛。如何将嵌入式系统和工业控制系统接入Internet,综合利用嵌入式系统资源,实现嵌入式系统的远程管理和控制,已成为倍受关注的研究课题,而实现嵌入式系统的网络化则成为嵌入式系统的发展趋势。 网络通信时,应用程序使用C/S(客户/服务器)模式进行信息交互。传统的服务器程序一般运行在大型的拥有高级操作系统的服务器的计算机上,这样服务器软件需要强大的硬件和系统软件支持。嵌入式网络服务器是利用嵌入式系统实现服务器的软件和硬件功能,是嵌入式技术和网络技术相结合的产物。与传统服务器相比,嵌入式Web服务器具有结构简单、体积小、可靠性强以及方便灵活等特点。这些让它具有很大的发展潜力。另一方面,嵌入式Web服务器与传统的web服务器相比,也受到一些限制。传统的Web服务器主要用于处理较大的客户量的同时并发访问,硬件方面有强大的处理器和内存支持,软件方面有商业数据库支持,而嵌入式Web服务器的处理能力和存储容量都有限,这就要求嵌入式Web服务器在设计过程中需要尽量合理利用资源。 将嵌入式技术与Web 技术相结合,已成为目前嵌入式系统的一个重要发展方向和必然趋势。利用源代码开放的uClinux 为操作系统平台,实现了以ARM 微处理器为核心的嵌入式Web 服务器,在分析了嵌入式Web 服务器的体系结构后,给出了系统的硬件结构组成和软件设计。对Web 服务器的测试结果表明,该服务器运行稳定、控制方便,将在智能家居、远程数据采集、工业控制等领域有着广泛的应用前景。 关键词:网络通信;嵌入式系统;ARM处理器;uClinux;Boa服务器;

基于STM32的嵌入式WEB服务器设计+(1)

毕业设计说明书

摘要 在科学技术日新月异的今天,嵌入式系统已成为计算机领域的一个重要组成部分。嵌入式系统具有软件、硬件的可裁剪性,系统精简,具有高时效性,且功耗较低。由于HTML语言的标准统一性,只要在嵌入式设备中有一个微型服务器, 就可以使用任意一种Web浏览器接收和发送信息。本论文首先讨论了基于ARM Cortex-M3的嵌入式Internet技术,介绍了嵌入式网络通信技术的基础知识,然后根据嵌入式设备的特点,对标准TCP/IP协议进行了合理的简化,实现了符合ARM Cortex-M3单片机的嵌入式精简TCP/IP协议栈。在协议栈的基础上,实现了简单的嵌入式Web服务器。 本论文结合嵌入式技术、互联网通讯技术,介绍了嵌入式Web服务器的具体实现过程。论文采用STM32F103C8T6+ENC28J60的硬件构架,基于超文本传输协议(HTTP)传输控制数据和用户信息,设计了微型嵌入式WEB服务器,通过以太网和-据传输共享以单片机应用系统为中心的小型嵌入式设备的信息,实现了嵌入式系统的Internet接入,Internet上的远程用户就可以通过浏览器访问嵌入式Web服务器,进而实现对嵌入式系统的远程控制和监测。 关键字:STM32 WEB服务器远程控制 I

Abstract This system adopts the ST company Cortex-M3 kernel STM32 microprocessor STM32F103. STM32F103 is STMicroelectronics launched a new STM32 connection type (Connectivity) is a high performance products series of micro controller, the chip integrates a variety of standard high performance industrial interface, and different types of STM32 products in the pin and software with perfect compatibility, can be easily adapted to more applications. The new STM32 standard peripherals including 10 timer, two 12 1-Msample/s AD (ADC) (rapid alternating mode 2M sample/s), two of 12 DA (DAC), two I2C ports, five USART ports and three SPI ports and high quality digital audio interface IIS, and STM32F103 with a full USB (OTG) interface, two CAN2.0B interface, and Ethernet 10/100 MAC module. This chip can meet the industrial, medical, building automation, home audio and home appliances market a variety of products demand.. System is the main content of the network control is connected with the equipment and access to the equipment status and data informa-tion can be released; the webpage; timely response control command from the remote user. In addition, the embedded equipment with simple function, low power con-sumption and portability etc. Keywords : STM32 Web server Remote control II

简单嵌入式WEB服务器及网页

简单嵌入式WEB服务器及网页实验日志 实验题目:简单嵌入式WEB服务器及网页 : 实验步骤及结果: 1、阅读理解源码 进入/root/share/exp/basic/07_httpd目录,使用vi编辑器或其他编辑器阅读理解源代码 2、编译应用程序 运行make产生可执行文件httpd [root@bc /]# cd /root/share/exp/basic/07_httpd/ [root@bc 07_httpd]# make armv4l-unknown-linux-gcc - DHTTPD_DOCUMENT_ROOT=\"/mnt/yaffs\" -c -o httpd.o httpd.c armv4l-unknown-linux-gcc - DHTTPD_DOCUMENT_ROOT=\"/mnt/yaffs\" -c -o copy.c armv4l-unknown-linux-gcc -o ../bin/httpd httpd.o copy.o -lpthread armv4l-unknown-linux-gcc -o httpd httpd.o copy.o -lpthread [root@bc 07_httpd]# ls copy.c doc httpd httpd.o Makefile copy.o Google httpd.c index.html Makefile.bak 3、下载调试 使用NFS服务方式将HTTPD下载到开发板上,并拷贝测试用的网页进行调试,本例中用的是index测试网页。 [/mnt/yaffs]ifconfig eth0 172.16.38.100

基于stm32的嵌入式web服务器的设计

基于stm32的嵌入式web服务器的设计 摘要 随着社会的进步和发展,嵌入式系统的东西也渐渐融入了我们的生活当中,比如嵌入式WEB网络服务器,LED电视机等等。通过越来越多的人使用嵌入式系统,并且随着PC机在人群中的普及,我们开始越来越希望拥有一个系统可以远程控制和使用我们身边的设备,这里我们便有了我们现在的研究,那就是基于STM32的嵌入式WEB服务器的设计。 起初对这个设计的概念是比较模糊的,大致为通过网页和单片机互联,并且做到在TCP/IP,LWIP等协议的运行下,通过网页来控制单片机。 而现在,随着技术越来越成熟和合理,我们通过智能家居等等在TCP/IP的协议下进行远程的通讯,在线的升级和访问Internet等。 这篇文章,就是我们一STM32F4为平台所设计的WEB服务器。我们主要是通过LWIP的应用程序接口LWIP API编写HTTP程序。在我们所设计的程序中,WEB服务器会处理来自网页中的信息,发送给PC机,同样,PC机也可以给WEB服务器传送信息,使网页接受来自PC机的信息,实现了PC机和网页的信息交互。 关键字:STM32;嵌入式;WEB ABSTRACT With the progress and development of society, embedded systems are gradually integrated into our lives, such as embedded WEB network server, LED TV and so on. By more and more people use embedded system, and with the popularity of PC machines in the crowd, we began to increasingly want to have a system to and the use of the remote control and equipment around us. Here, we will have the we now study, which is based on STM32 embedded web server design. At first, the concept of this design is relatively vague, roughly through the Internet and the Internet, and do in TCP/IP, LWIP and other protocols running through the web to control the microcontroller. And now, as the technology is more mature and reasonable, we are through the smart home, etc. in the TCP/IP protocol for remote communications, online upgrade and access Internet, etc..

基于ARM的嵌入式Web服务器设计与实现

河南工业大学嵌入式系统课程设计题目:基于ARM的嵌入式Web服务器设计与实现 专业课程设计任务书

说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页

目录 摘要 (4) 1 嵌入式Web服务器的软件构成 (6) 1.1 CGI技术 (6) 1.1.1 CGI概述 (6) 1.1.2CGI工作原理 (7) 2 嵌入式Web 服务器简述 (8) 2.1 嵌入式Web 服务器的主要应用 (10) 2.2 嵌入式Web 服务器的优点 (10) 2.3 嵌入式Web 服务器实现原理 (10) 3 嵌入式Web 服务器硬件整体结构 (11) (13) (1) 3.1 嵌入式Web 服务器软件构成 (13) 3.2 精简TCP/IP 协议及实现 (13) 3.2.1 ARP 协议及其实现 (13) 3.2.2 ICMP 协议及其实现 (14) 3.2.3 IP 协议及其实现 (14) 3.2.4 TCP 协议及实现 (14) 3.3 HTTP 协议 (15) 3.4 CGI 接口 (16)

4 系统软件设计 (16) 4.1 嵌入式操作系统 (16) 4.2 Boa的移植 (17) 4.3 软件实现 (17) 5 实验测试 (20) 6 结束语 (21) 参考文献 (22) 摘要 随着计算机、网络通信和Internet 技术的飞速发展和不断进步,嵌入式系统在家庭和工业应用越来越广泛。如何将嵌入式系统和工业控制系统接入Internet,综合利用嵌入式系统资源,实现嵌入式系统的远程管理和控制,已成为倍受关注的研究课题,而实现嵌入式系统的网络化则成为嵌入式系统的发展趋势。 网络通信时,应用程序使用C/S(客户/服务器)模式进行信息交互。传统的服务器程序一般运行在大型的拥有高级操作系统的服务器的计算机上,这样服

基于51单片机的嵌入式web服务器

基于51单片机的嵌入式web服务器 以下是为大家整理的基于51单片机的嵌入式web服务器的相关范文,本文关键词为基于,单片机,嵌入式,web,服务器,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。 武汉科技学院20XX届毕业设计论文 1绪论 嵌入式Internet是几年前发展起来的一项新兴概念和技术。在工业测控领域,1999年成立的“工业以太网协会(IeA)”正在积极致力于工

业以太网现场总线的研究开发[1]。与其它现场总线相比,采用以太网接口芯片和Tcp/Ip协议实现的嵌入式web服务器可以使各种家电设备、pDA、仪器仪表、工控设备和数据采集设备很容易地连接到Internet,这样就能够利用Internet实现对各种嵌入式设备的低成本远程访问和资源共享。嵌入式设备在价格、体积、实时性以及可靠性等方面都具有优势,但嵌入式系统的资源有限,在占用较小资源的情况下如何实现Tcp/Ip协议簇中的相关协议已经成为嵌入式网络开发的一个重要问题。本文在精简的Tcp协议上实现了hTTp协议,采用hTTp协议可以使不同的设备具有相同的访问接口。整个系统占用资源少,能够完成常用的相关网络通讯功能。 1.1嵌入式系统的发展及现状 嵌入式系统泛指单片机和微处理器构成的电子设备。它出现至今己经有30多年的历史[2]。嵌入式技术在经历了以单芯片为核心的可编程控制器形式的系统,和以嵌入式微处理器为基础、以简单操作系统为核心的嵌入式系统以及以嵌入式操作系统为标志的嵌入式系统这三个阶段后。而今正在进入以Internet为标志的嵌入式系统.这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术结合日益密切,嵌入式设备与工Internet的结合将代表嵌入式系统的未来。其主要应用领域可以包括: ①工业自动化:工业现场应用了大量的8,16,32位嵌入式微控制

基于ARM简单嵌入式WEB服务器系统的设计

摘要 摘要 工程实践教学环节是为了学生能够更好地巩固和实践所学专业知识而设置的,在本次工程实践中,我们以ARM体系结构与编程课程中所学知识为基础,对基于ARM的简单嵌入式WEB服务器系统进行了简单设计。本设计利用ARM 自带的WEB服务器技术,来实现对嵌入式WEB服务器系统的控制设计。该技术基于WEB服务器之上,且用嵌入式WEB服务器来实现对于网络的访问。 本设计说明重点介绍了如下几方面的内容: 1)基于嵌入式WEB服务器的HTTP协议;1 2)Linux 下的signal()函数的使用; 3)嵌入式WEB服务器的工作原理; 4)ARM开发板上的SOCKET网络编程。 关键词:ARM体系;嵌入式WEB服务器;HTTP协议;SOCKET网络编程。 I

目录 第一章绪论 (3) 1.1课题简介 (3) 1.2设计目的 (3) 1.3设计内容 (3) 1.4设计用途 (3) 第二章嵌入式WEB服务器设计原理简介 (4) 2.1需求说明 (4) 2.2功能需求详细说明 (4) 2.3数据流图(DFD) (5) 2.4数据需求 (6) 第三章嵌入式WEB服务器设计流程 (7) 3.1系统结构图 (7) 3.2整体结构图说明 (7) 3.3连接处理模块 (8) 3.4功能分配 (8) 第四章嵌入式WEB服务器设计程序分析及实践 (10) 4.1程序设计 (10) 4.2程序分析 (11) 4.3实验步骤 (15) 参考文献 (17)

第一章绪论 1.1课题简介 随着后PC时代的到来,嵌入式系统技术已经成为了一个万众瞩目的焦点。目前已广泛应用于信息家电、数据网络、工业控制、医疗卫生、航空航天等众多领域。巨大的市场潜力,无穷的商机,吸引了各路英豪纷踵沓来。 ARM单片机技术由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中,电流、电压、温度、压力和流量也都是常用的被控参数。 ARM单片机控制嵌入式WEB服务器系统,是利用ARM作为系统的主控制器,由linux 下的vi编程,来实现对于嵌入式WEB服务器的访问。本设计采用ARM技术,其具有集成度高,运算快速快,体积小、运行可靠,价值低廉的特点,适宜于绝大多数的控制过程。鉴于这样的重要性,我们打算设计一种基于ARM的嵌入式服务器系统。 1.2设计目的 通过本次工程实践,运用ARM体系结构与编程所学知识及查阅相关资料,完成嵌入式WEB服务器的设计,达到理论知识与实践更好结合、提高综合运用所学知识和设计能力的目的。 通过本次设计训练,可以使我们在基本思路和基本方法上对基于ARM的设计有一个比较感性的认识,并具备一定程度的设计能力。 1.3设计内容 熟知嵌入式WEB服务器的工作原理、SOCKET网络编程。使用Redhat Linux 9.0 操作系统环境及ARM 编译器,编译WEB服务器的驱动模块和应用程序,实现嵌入式WEB服务器的设计。 1.4 设计用途 学习使用SOCKET进行通讯编程的过程,了解一个实际的网络通讯应用程序整体设计,读懂HTTPD.C 源代码。在此基础上增加一些其他功能。在PC计算机上使用浏览器测试嵌入式WEB服务器的功能。 3

Linux下boa_web服务器的构建

嵌入式Web服务器 随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web 服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。本节主要介绍这种应用的开发和移植工作。 用户首先需要在嵌入式设备上成功移植支持脚本或CGI功能的Web服务器,然后才能进行应用程序的开发。 应用:1,发布网页。 2,视频监控系统设计。 3,远程控制系统设计。 1、嵌入式Web服务器移植由于嵌入式设备资源一般都比较有限,并且也不需要能同时处理很多用户的请求,因此不会使用Linux下最常用的如Apache 等服务器,而需要使用一些专门为嵌入式设备设计的Web服务器,这些Web服务器在存贮空间和运行时所占有的内存空间上都会非常适合于嵌入式应用场合。 典型的嵌入式Web服务器有Boa (https://www.sodocs.net/doc/4b11274131.html,)和thttpd (https://www.sodocs.net/doc/4b11274131.html,/software/thttpd/)等,它们和Apache等高性能的Web服务器主要的区别在于它们一般是单进程服务器,只有在完成一个用户请求后才能响应另一个用户的请求,而无法并发响应,但这在嵌入式设备的应用场合里已经足够了。 我们绍比较常用的Boa服务器的移植。 Boa是一个非常小巧的Web服务器,可执行代码只有约60KB。它是一个单任务Web服务器,只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全,在其站点公布的性能测试中,Boa的性能要好于Apache服务器。 第一步完成Boa程序的移植。从https://www.sodocs.net/doc/4b11274131.html,下载Boa源码,当前最新版本为0.94.13,将其解压并进入源码目录的src子目录 # tar xzf boa-0.94.13.tar.gz # cd boa-0.94.13/src 生成Makefile文件 # ./configure 修改Makefile文件,找到CC=gcc,将其改成CC = arm-linux-gcc,再找到CPP = gcc –E,将其改成CPP = arm-linux-gcc –E,并保存退出。(都要加上-static 选项) 然后运行make进行编译,得到的可执行程序为boa,将调试信息剥去,得到的最后程序只有约60KB 大小。 # make # arm-linux-strip boa 第二步完成Boa的配置,使其能够支持CGI程序的执行。 ************************************************************************ 先仔细阅读下面,主要是为了先准备好需要的东西,即先把药配置的文件修改好,最后在把他们送到需要送到的目录中去。 以下只是一个文件的配置内容: 1.Boa需要在/etc目录下建立一个boa目录,里面放入Boa的主要配置文件boa.conf。 在Boa源码目录下已有一个示例boa.conf,可以在其基础上进行修改,下面解释一下该文件的含义:

嵌入式web服务器预研报告

嵌入式web服务器预研报告 现在在嵌入式设备中所使用的web服务器主要有:boa、thttpd、mini_httpd、shttpd、lighttpd、goaheand、appweb和apache等。

Boa 1.介绍 Boa诞生于1991年,作者Paul Philips。是开源的,应用很广泛,特别适合于嵌入式设备,网上流行程度很广。它的官方网站说boa是最受人喜爱的嵌入式web服务器。功能较为强大,支持认证,cgi等。Boa 是一个单任务的HTTP SERVER,它不像传统的web服务器那样为每个访问连接开启一个进程,也不会为多个连接开启多个自身的拷贝。Boa对所有的活动的http连接在内部进行处理,而且只为每个CGI连接(独立的进程)开启新的进程。因此,boa在同等硬件条件下显示出更快的速度。测试表明boa在Pentium 300MHZ下能够每秒钟处理几千次点击,在20 MHz 386/SX下能够每秒钟处理几十次点击访问。 Boa和thttpd等,与apache等高性能的web服务器主要区别是,它们一般是单进程的服务器,只有在完成一个用户请求后才能响应另一个用户的请求,无法并发响应,但这在嵌入式设备的应用场合里已经足够了。 Boa设计主要出于速度和安全,是指不被恶意用户暗中破坏,而不是指它有很好的访问控制和通信加密。可以添加SSL来保证数据传输中的保密和安全。 2.操作系统 All POSIX (Linux/BSD/UNIX-like OSes) 3.版本 从0.90到现在的最新发布版本0.94。最新发布版本0.94:boa-0.94.13.tar大小为120k,解压后为436k,编译之后的可执行代码在60k左右。最近开发版本:boa-0.94.14rc21 4.可执行程序的大小、内存需求情况 Boa有最少的资源需求。非常少的内存需求,能耗很小。特别适合于嵌入式市场。含有gcc 2.95.3和GNU libc 2.2.5的boa的二进制文件大小为61K(495K statically linked )。使用库uClibc,boa变得更小(92K statically linked)。 有人曾做过测试:所用环境AMD Duron 700,384MB RAM, RealTek 8139,SiS900 chipset-based NICs ,LinkSys 10/100 hub,Linux 2.4,结果是:Boa的虚拟内存(VmSize)大小是1696kB,85%是库文件。虚拟内存数据(VmData size)大小是108kB。Boa每次连个并发连接消耗掉20kB的内存。 参考比较表: 5.功能、特点 支持HTTP/1.0(实验性的、有条件的支持HTTP/1.1)

嵌入式WEB服务器的实现课程设计报告

目录 一、课程设计的目的与任务 (1) 二、课程设计的基本要求 (1) 三、课程设计的地点: (1) 四、课程设计的内容 (1) 第一部分:WEB服务器的简介 (1) 第二部分:实现AD远程采集 (6) 五、课程设计的心得会: (8) 六、参考资料 (9)

一、课程设计的目的与任务: 目的:加强对嵌入式软件设计的进一步认识,在认识的基础上尝试进行一个远程数据采集的设计开发。 任务:进一步加深学生对嵌入式专业知识的了解,提高学生的专业技能及动手能力。老师首先进行讲解,讲解完后,学生通过实验箱实现。加强学生的动手能力,并进一步促进学生对所学内容的理解。 二、课程设计的基本要求: 1、学生不得无故缺席、迟到或早退,教师必须每天打考勤; 2、在听课时,学生必须做认真的笔记,教师定时检查; 3、听课完成后,教师安排学生做相关的实验,加深学生对所学知识的理解; 4、教师安排的讲课要有针对性。 三、课程设计的地点: 应用技术学院5楼4机房。 四、课程设计的内容: 第一部分:WEB服务器的简介 嵌入式Web服务器的硬件系统包含了Web通信功能的微处理器或者微控制器系统,它可以和前端的应用系统直接集成在一起,也可以通过现场总线与应用系统相连。 随着计算机、通信、自动控制、微电子等技术的发展。电器设备上网已经成为现实。与传统的单片机相比,嵌入式设备重要的突破之一就是解决了设备和internet的互连问题.近年来.嵌入式技术飞速发展.种类繁多、功能强大的CPU和片外连接.为网络应用提供了稳定、可靠的硬件环境:嵌入式操作系统对这些硬件和以太网也有很好的支持,搡作系统的移植大为简化,这就为嵌入式web服务器的实现提供了方便。嵌入式web服务器将监控系统中的各种办议的数据转换成统一的TCP/IP协议格式,以便用户通过以太网远程访问web服务器。该文结合快速发震的嵌入式技术。给出了一种基于嵌入式网络化远程监控系统的web服务器实现方案。 1、WEB浏览器 浏览器是个显示网页伺服器或档案系统内的HTML文件,并让用户与此些文件互动的一种软件。个人电脑上常见的网页浏览器包括微软的Internet Explorer、Mozilla的Firefox、Opera和Safari。浏览器是最经常使用到的客户端程序。 2、WEB服务器

基于ARM简单嵌入式WEB服务器系统的设计

基于ARM简单嵌入式WEB服务器系统的设计

摘要 工程实践教学环节是为了学生能够更好地 巩固和实践所学专业知识而设置的,在本次工程实践中,我们以ARM体系结构与编程课程中 所学知识为基础,对基于ARM的简单嵌入式WEB 服务器系统进行了简单设计。本设计利用ARM 自带的WEB服务器技术,来实现对嵌入式WEB 服务器系统的控制设计。该技术基于WEB服务器之上,且用嵌入式WEB服务器来实现对于网络的访问。 本设计说明重点介绍了如下几方面的内容: 1)基于嵌入式WEB服务器的HTTP协议;1 2)Linux 下的signal()函数的使用; 3)嵌入式WEB服务器的工作原理; 4)ARM开发板上的SOCKET网络编程。 关键词:ARM体系;嵌入式WEB服务器;HTTP 协议;SOCKET网络编程。

目录 第一章绪论 (3) 1.1课题简介 (3) 1.2设计目的 (3) 1.3设计内容 (3) 1.4设计用途 (3) 第二章嵌入式WEB服务器设计原理简介 (4) 2.1需求说明 (4) 2.2功能需求详细说明 (4) 2.3数据流图(DFD) (6) 2.4数据需求 (6) 第三章嵌入式WEB服务器设计流程 (7) 3.1系统结构图 (7) 3.2整体结构图说明 (7) 3.3连接处理模块 (8) I

3.4功能分配 (8) 第四章嵌入式WEB服务器设计程序分析及实践 (10) 4.1程序设计 (10) 4.2程序分析 (11) 4.3实验步骤 (15) 参考文献 (17) I

第一章绪论 1.1课题简介 随着后PC时代的到来,嵌入式系统技术已 经成为了一个万众瞩目的焦点。目前已广泛应用于信息家电、数据网络、工业控制、医疗卫 生、航空航天等众多领域。巨大的市场潜力,无穷的商机,吸引了各路英豪纷踵沓来。 ARM单片机技术由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中,电流、电压、温度、压力和流量也都是常用的被控参数。 ARM单片机控制嵌入式WEB服务器系统,是利用ARM作为系统的主控制器,由linux下的vi编程,来实现对于嵌入式WEB服务器的访问。本设计采用ARM技术,其具有集成度高,运算快速快,体积小、运行可靠,价值低廉的特点,适宜于绝大多数的控制过程。鉴于这样的重要性,我们打算设计一种基于ARM的嵌入式服务器系统。 1.2设计目的 通过本次工程实践,运用ARM体系结构与编程所学知识及查阅相关资料,完成嵌入式WEB 服务器的设计,达到理论知识与实践更好结合、提高综合运用所学知识和设计能力的目的。 通过本次设计训练,可以使我们在基本思路和基本方法上对基于ARM的设计有一个比较感性的认识,并具备一定程度的设计能力。 I

相关主题