您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于ARM简单嵌入式WEB服务器系统的设计
摘要I摘要工程实践教学环节是为了学生能够更好地巩固和实践所学专业知识而设置的,在本次工程实践中,我们以ARM体系结构与编程课程中所学知识为基础,对基于ARM的简单嵌入式WEB服务器系统进行了简单设计。本设计利用ARM自带的WEB服务器技术,来实现对嵌入式WEB服务器系统的控制设计。该技术基于WEB服务器之上,且用嵌入式WEB服务器来实现对于网络的访问。本设计说明重点介绍了如下几方面的内容:1)基于嵌入式WEB服务器的HTTP协议;12)Linux下的signal()函数的使用;3)嵌入式WEB服务器的工作原理;4)ARM开发板上的SOCKET网络编程。关键词:ARM体系;嵌入式WEB服务器;HTTP协议;SOCKET网络编程。计算机工程实践设计说明书目录第一章绪论..................................................................................................................................31.1课题简介..............................................................................................................................31.2设计目的..............................................................................................................................31.3设计内容..............................................................................................................................31.4设计用途..............................................................................................................................3第二章嵌入式WEB服务器设计原理简介................................................................................42.1需求说明..............................................................................................................................42.2功能需求详细说明..............................................................................................................42.3数据流图(DFD)..............................................................................................................52.4数据需求..............................................................................................................................6第三章嵌入式WEB服务器设计流程........................................................................................73.1系统结构图..........................................................................................................................73.2整体结构图说明..................................................................................................................73.3连接处理模块......................................................................................................................83.4功能分配..............................................................................................................................8第四章嵌入式WEB服务器设计程序分析及实践..................................................................104.1程序设计............................................................................................................................104.2程序分析............................................................................................................................114.3实验步骤............................................................................................................................15参考文献......................................................................................................................................17计算机工程实践设计说明书3第一章绪论1.1课题简介随着后PC时代的到来,嵌入式系统技术已经成为了一个万众瞩目的焦点。目前已广泛应用于信息家电、数据网络、工业控制、医疗卫生、航空航天等众多领域。巨大的市场潜力,无穷的商机,吸引了各路英豪纷踵沓来。ARM单片机技术由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中,电流、电压、温度、压力和流量也都是常用的被控参数。ARM单片机控制嵌入式WEB服务器系统,是利用ARM作为系统的主控制器,由linux下的vi编程,来实现对于嵌入式WEB服务器的访问。本设计采用ARM技术,其具有集成度高,运算快速快,体积小、运行可靠,价值低廉的特点,适宜于绝大多数的控制过程。鉴于这样的重要性,我们打算设计一种基于ARM的嵌入式服务器系统。1.2设计目的通过本次工程实践,运用ARM体系结构与编程所学知识及查阅相关资料,完成嵌入式WEB服务器的设计,达到理论知识与实践更好结合、提高综合运用所学知识和设计能力的目的。通过本次设计训练,可以使我们在基本思路和基本方法上对基于ARM的设计有一个比较感性的认识,并具备一定程度的设计能力。1.3设计内容熟知嵌入式WEB服务器的工作原理、SOCKET网络编程。使用RedhatLinux9.0操作系统环境及ARM编译器,编译WEB服务器的驱动模块和应用程序,实现嵌入式WEB服务器的设计。1.4设计用途学习使用SOCKET进行通讯编程的过程,了解一个实际的网络通讯应用程序整体设计,读懂HTTPD.C源代码。在此基础上增加一些其他功能。在PC计算机上使用浏览器测试嵌入式WEB服务器的功能。计算机工程实践设计说明书第二章嵌入式WEB服务器设计原理简介2.1需求说明图2.1嵌入式WEB服务器需求说明2.2功能需求详细说明1)获取服务器当前目录文件列表将服务器当前目录下所有文件的信息发送给客户端,信息包括:文件名、大小、日期。计算机工程实践设计说明书52)获取指定文件将客户请求的文件发送给客户。3)获取HTML类型文件将客户请求的HTML类型文件发送给客户。4)获取纯文本文件将客户请求的纯文本发送给客户。5)获取JPG图像文件将客户请求的JPG图像文件发送给客户。6)获取GIF图像文件将客户请求的GIF图像文件发送给客户。7)解析用户请求分析客户的请求,将请求信息解析为几个变量,包括:请求的命令、请求的文件名、请求的文件类型。2.3数据流图(DFD)图2.2数据流图(DFD)计算机工程实践设计说明书2.4数据需求回应HTTP协议数据头格式要求,如表2.1所示:表2.1HTTP协议数据头格式行号字段内容举例1状态行HTTP/1.0200OK2文件类型Content-type:text/html3服务器信息Server:ARMLinux-httpd0.2.44是否过期Expires:0计算机工程实践设计说明书7第三章嵌入式WEB服务器设计流程3.1系统结构图图3.1系统结构图3.2整体结构图说明主程序:建立TCP类型SOCKET在80端口进行监听连接请求。接收到连接请求,将请求传送给连接处理模块处理。并继续进行监听。计算机工程实践设计说明书3.3连接处理模块图3.2连接处理模块3.4功能分配1)发送当前目录文件列表信息将服务器当前目录下所有文件的信息发送给客户端,信息包括:文件名、大小、日期。2)发送HTML类型文件将客户请求的HTML类型文件发送给客户。3)发送纯文本文件将客户请求的纯文本发送给客户。4)发送JPG图像文件将客户请求的JPG图像文件发送给客户。5)发送GIF图像文件将客户请求的GIF图像文件发送给客户。6)解析客户请求HTTP协议头分析客户的请求,包括:1.空格处理计算机工程实践设计说明书92.解析客户请求命令3.解析客户请求的资源名4.解析客户请求的资源类型。7)客户连接处理解析Referrer和content_length字段值并调用客户请求解析函数。8)发送HTTP协议数据头根据发送文件类型发送相应的HTTP协议头信息。计算机工程实践设计说明书第四章嵌入式WEB服务器设计程序分析及实践4.1程序设计4.1.1、接口设计客户连接处理函数名:intHandleConnect(intfd)参数:客户连接文件描述字4.1.2、解析客户请求函数名:intParseReq(FILE*f,char*r)参数:参数1:文件流FILE结构指针,用于表示客户连接的文件流指针。参数2:字符串指针,待解析的字符串。4.1.3、发送HTTP协议数据头函数名:intPrintHeader(FILE*f,intcontent_type)参数:参数1:文件流FILE结构指针,用于表示客户连接的文件流指针。用于写入HTTP协议数据头信息。参数2:信息类型,用于确定发送的HTTP协议数据头信息。4.1.4、发送当前目录文件列表信息函数名:intDoDir(FILE*f,char*name)参数:参数1:文件流FILE结构指针,用于表示客户连接的文件流指针。用于写入目录文件信息数据。参数2:目录名,表示客户请求的目录信息。4.1.
本文标题:基于ARM简单嵌入式WEB服务器系统的设计
链接地址:https://www.777doc.com/doc-2568360 .html