5嵌入式系统设计实验五(简单嵌入式WEB服务器)
- 格式:doc
- 大小:185.00 KB
- 文档页数:14
基于SX52的嵌入式Web服务器的快速实现基于SX52的嵌入式Web服务器的快速实现摘要:介绍了如何利用现有软件虚拟模拟高效构筑可现场控制的嵌入式Web服务器,一些方法也可用于其他资源有限的小型嵌入式网络设备中。
关键词:单片机嵌入式系统 Internet Web服务器随着互联网的日益普及,信息共享的程度不断提高,网络仪表及网络控制设备的流行逐渐成为趋势。
如何通过互联网共享以单片机应用系统为中心的小型嵌入式设备的信息,成为当今电子界的热门话题。
传统的互联网应用以PC为中心。
如今,互联网应用正在转到以嵌入式设备为中心。
用单片机实现嵌入式互联网方案的技术难点是:如何利用单片机本身有限的资源对信息进行TCP/IP协议处理,使之变成可以在互联网上传输的IP数据包。
目前解决这个问题有两种方案:一种是PC网关+专用网,缺点是要增加布线和第三方协议转换软件;另一种是32位MCU+RTOS,弊端是开发难,成本极高。
而用软件方法实现网络协议比采用集成网络协议的芯片,具有节省空间、降低成本的优点,更重要的是可以随意配置甚至修改各种协议,且能通过软件升级方式跟随未来的发展。
八位单片机目前仍占有很大的市场份额,而通过美国Ubicom公司的SX52微控器进行网络控制更具其独特优势,主要体现在:(1)速度快,在100MHz频率下能达到100MIPS;(2)现成的协议模块供使用,即使对不熟悉网络协议的开发人员也能简单套用。
虽然其它八位单片机也能用软件实现精简的TCP/IP协议,如PICl6C76等,但上面所说两大优点是采用SX52MCU的充分理由。
套用成熟的现有程序是最具效率的开发办法,这也是避免目前国内普遍存在的低水平开发的有效途径。
虽然目前还没有单独的TCP/IP软件虚拟模块提供,但在演示板程序的基础上,可以采用其成功的网络协议模块和一些适用于小型嵌入系统的做法构筑现场控制Web服务器。
1 SX52控制器简介SX52 MCU与PIC单片机有很多地方相似,它也采用RISC指令系统,带可擦写上万次的片上Flash程序存储器,具在系统编程等。
课设报告课程名称嵌入式系统课程设计实验项目web远程控制系统设计指导教师周金和、王勇学院信息与通信工程专业电子信息工程班级/学号电信1101/学生姓名实验日期成绩____________________实验步骤一、搭建及移植web服务器搭建及移植boa服务器是本次课题的要点所在,为了能够顺利搭建服务器,前期做了大量工作对其进行学习以及研究,在基本掌握boa服务器的搭建和移植的具体操作方法还有该服务器的工作方式、流程之后,才着手进行搭建和移植,即便如此,在搭建和移植的过程中还是遇到了不少问题,下文也进行了分析和解决。
下载及配置BOA服务器下载安装boa服务器对其进行解压:还要安装必要的工具bison,flex。
否则会出现:在输入上一条命令之前需要保证虚拟机联网,虚拟机联网方式如下首先把主机联上网,虚拟机网络设置桥接改成nat$ sudo vim /etc/network/interfacesstatic改成dhcp ,在address,netmask, gateway加#注释用:wq保存并退出重启网路配置$sudo /etc/networking restart修改相关配置文件修改src/文件:打开找到这一条语句:将其修改为:这是由于本机所使用的交叉编译版本对语句用法的不同。
修改src/文件。
打开注释掉下列语句:否则会出现错误::73 unable to dup2 the error log:bad file descriptor。
修改src/文件。
打开src/注释掉下面两句话:否则会出现错误::211 - getpwuid: No such file or directory。
否则会出现问题::228 - icky Linux kernel bug!: No such file or directory。
生成boa可执行文件进入相关目录生成makefile文件:修改makefile文件。
修改CC =gcc 为CC =arm-linux-gnueabihf-gcc修改CPP =gcc -E 为CPP =arm-linux-gnueabihf-gcc -E接下来进行编译。
第1篇一、实验名称嵌入式系统设计与开发二、实验目的1. 熟悉嵌入式系统开发的基本流程。
2. 掌握嵌入式系统硬件选型和软件编程的基本方法。
3. 培养动手实践能力和团队合作精神。
三、实验时间2023年X月X日四、实验地点嵌入式实验室五、实验器材1. 嵌入式开发板(如STM32、Arduino等)2. 示波器、万用表等测试工具3. 电脑、编译器等软件工具六、实验内容1. 嵌入式系统硬件选型2. 嵌入式系统软件编程3. 系统调试与测试七、实验步骤1. 硬件选型(1)根据项目需求,选择合适的嵌入式开发板,如STM32、Arduino等。
(2)确定开发板的主要功能模块,如处理器、存储器、外设接口等。
(3)了解开发板的技术参数,如主频、功耗、存储容量等。
2. 软件编程(1)安装嵌入式开发环境,如Keil、IAR、Arduino IDE等。
(2)编写嵌入式程序,实现所需功能。
(3)编译、烧录程序到开发板。
3. 系统调试与测试(1)使用示波器、万用表等测试工具,对开发板进行初步测试。
(2)观察程序运行效果,检查是否存在错误。
(3)根据测试结果,对程序进行修改和完善。
八、实验结果与分析1. 硬件选型根据项目需求,选择STM32F103C8T6作为开发板。
该开发板具有高性能、低功耗等特点,适合进行嵌入式系统开发。
2. 软件编程(1)使用C语言编写嵌入式程序,实现以下功能:- 初始化LED灯、按键等外设。
- 实现按键控制LED灯的亮灭。
- 显示系统运行时间。
(2)编译、烧录程序到开发板。
3. 系统调试与测试(1)使用示波器、万用表等测试工具,对开发板进行初步测试。
- 测试LED灯、按键等外设是否正常工作。
- 测试程序运行是否稳定。
(2)观察程序运行效果,检查是否存在错误。
- 按键控制LED灯的亮灭功能正常。
- 系统运行时间显示正确。
(3)根据测试结果,对程序进行修改和完善。
九、实验总结通过本次实验,我熟悉了嵌入式系统开发的基本流程,掌握了嵌入式系统硬件选型和软件编程的基本方法。
河南工业大学嵌入式系统课程设计题目:基于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 协议及其实现 (14)3.2.2 ICMP 协议及其实现 (14)3.2.3 IP 协议及其实现 (14)3.2.4 TCP 协议及实现 (15)3.3 HTTP 协议 (15)3.4 CGI 接口 (16)4 系统软件设计 (16)4.1 嵌入式操作系统 (16)4.2 Boa的移植 (17)4.3 软件实现 (18)5 实验测试 (20)6 结束语 (21)参考文献 (22)摘要随着计算机、网络通信和Internet 技术的飞速发展和不断进步,嵌入式系统在家庭和工业应用越来越广泛。
如何将嵌入式系统和工业控制系统接入Internet,综合利用嵌入式系统资源,实现嵌入式系统的远程管理和控制,已成为倍受关注的研究课题,而实现嵌入式系统的网络化则成为嵌入式系统的发展趋势。
网络通信时,应用程序使用C/S(客户/服务器)模式进行信息交互。
传统的服务器程序一般运行在大型的拥有高级操作系统的服务器的计算机上,这样服务器软件需要强大的硬件和系统软件支持。
嵌入式网络服务器是利用嵌入式系统实现服务器的软件和硬件功能,是嵌入式技术和网络技术相结合的产物。
与传统服务器相比,嵌入式Web服务器具有结构简单、体积小、可靠性强以及方便灵活等特点。
嵌入式Web服务器的设计及其CGI实现作者:韩英惠来源:《科学与技术》2015年第01期摘要:由于嵌入式设备的资源有限,RAM 和 ROM 都非常小,在资源受限的情况下实现Web 服务功能是非常困难的。
在分析 HTTP1.1 的基础上,讨论了嵌入式 Web 服务器的特点及设计思想,提出了一种简化的嵌入式 Web 服务器的软件结构。
重点描述了嵌入式 Web 服务器中 CGI 的实现方法。
最后,结合 C 语言编程成功地实现了 HTTP 连接。
关键词:嵌入式;Web服务器;CGI实现在嵌入式设备中加入 HTTP 服务能将其转化成 Web Ser-ver,可以向 Internet 或内部网提供基于 Web 的图形化管理接口。
用户可以使用浏览器作为接口来访问嵌入式设备,这样不仅能使嵌入式设备的易用性大大提高,而且方便统一管理。
一、嵌入式 Web 服务器设计概述1.设计目标由于嵌入式设备的资源有限,一般来说嵌入式系统都没有文件系统或者 TCP/IP 协议栈(网络设备一般都有 TCP/IP 协议栈,但未必有文件系统)。
RAM 和 ROM 都非常小,在资源受限的情况下实现 Web 服务器功能是相当困难的。
2.软件架构本文提出的嵌入式 Web 服务器软件结构,主要功能模块说明如下:(1)Socket 层:HTTP 建立在运输层 TCP 之上,嵌入式 Web服务器则建立在安全套接口之上;(2)HTTP/XML 解析:HTTP 请求报文分析模块,分析 HTTP报文头部,支持HTTPv1.1 版本、支持请求方法 GET和 POST、支持认证、支持 CGI。
如果 HTTP Parser 发现 HTTP 报文中的有XML消息,那么HTTP Parser将把这个报文交由XMLParser来处理;(3)CGI 环境变量(CGI Environment):操作系统提供了许多环境变量,它们定义了程序的执行环境,应用程序可以存取它们。
毕业设计说明书摘要在科学技术日新月异的今天,嵌入式系统已成为计算机领域的一个重要组成部分。
嵌入式系统具有软件、硬件的可裁剪性,系统精简,具有高时效性,且功耗较低。
由于HTML语言的标准统一性,只要在嵌入式设备中有一个微型服务器, 就可以使用任意一种Web浏览器接收和发送信息。
本论文首先讨论了基于ARM Cortex-M3的嵌入式Internet技术,介绍了嵌入式网络通信技术的基础知识,然后根据嵌入式设备的特点,对标准TCP/IP协议进行了合理的简化,实现了符合ARM Cortex-M3单片机的嵌入式精简TCP/IP协议栈。
在协议栈的基础上,实现了简单的嵌入式Web服务器。
本论文结合嵌入式技术、互联网通讯技术,介绍了嵌入式Web服务器的具体实现过程。
论文采用STM32F103C8T6+ENC28J60的硬件构架,基于超文本传输协议(HTTP)传输控制数据和用户信息,设计了微型嵌入式WEB服务器,通过以太网和-据传输共享以单片机应用系统为中心的小型嵌入式设备的信息,实现了嵌入式系统的Internet接入,Internet上的远程用户就可以通过浏览器访问嵌入式Web服务器,进而实现对嵌入式系统的远程控制和监测。
关键字:STM32 WEB服务器远程控制IAbstractThis 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 controlII目录摘要 (I)Abstract ......................................................................................................................... I I 目录 ............................................................................................ 错误!未定义书签。
嵌入式系统实验报告学号:姓名:班级:13电子信息工程指导老师:苏州大学电子信息学院2016年12月实验一:一个灯的闪烁1、实验要求实现PF6-10端口所连接的任意一个LED灯点亮2、电路原理图图1 LED灯硬件连接图3、软件分析RCC_Configuration(); /* 配置系统时钟*/GPIO_Configuration(); /* 配置GPIO IO口初始化*/ for(;;){GPIOF->ODR = 0xfcff; /* PF8=0 --> 点亮D3 */Delay(1000000);GPIOF->ODR = 0xffff; /* PF8=1 --> 熄灭D3 */Delay(1000000);4、实验现象通过对GPIOF8的操作,可以使LED3闪烁5、实验总结这是第一次使用STM32开发板,主要内容是对IO端口进行配置,点亮与IO端口相连接的LED灯,闪烁周期为2S。
通过本实验对STM32开发板的硬件原理有了初步了解。
实验二:流水灯1、实验要求实现PF6-10端口所连接的5个LED灯顺次亮灭2、电路原理图图1 流水灯硬件连接图3、软件分析int main(void){RCC_Configuration();/* 配置系统时钟*/GPIO_Configuration();/* 配置GPIO IO 口初始化*/for(;;){GPIOF->ODR = 0xffbf;/* PF6=0 --> 点亮LED1 */Delay(5000000);GPIOF->ODR = 0xff7f;/* PF7=0 --> 点亮LED2 */Delay(5000000);GPIOF->ODR = 0xfeff;/* PF8=0 --> 点亮LED3 */Delay(5000000);GPIOF->ODR = 0xfdff;/* PF9=0 --> 点亮LED4 */Delay(5000000);GPIOF->ODR = 0xfbff;/* PF10=0 --> 点亮LED5 */ }}4、实验现象LED1~LED5依次点亮,亮灭的时间间隔都为1S。
嵌入式系统原理与应用实验指导书南航金城学院2013.2目录目录 (1)第一部分试验箱硬件结构 (2)第二部分实验 (11)实验一ADS1.2集成开发环境练习 (11)实验二汇编指令实验1 (17)实验三汇编指令实验2 (20)实验四汇编指令实验3 (23)实验五ARM微控制器工作模式实验 (28)实验六 C语言程序实验 (33)实验七 C语言调用汇编程序实验 (36)实验八GPIO输出控制实验 (39)实验九GPIO输入实验 (46)实验十外部中断实验 (50)实验十一UART通讯实验 (56)实验十二I2C接口实验 (64)实验十三定时器实验 (75)实验十四PWM DAC实验 (81)实验十五ADC实验 (87)实验十六RTC实验 (94)实验十七步进电机控制实验 (101)实验十八直流电机控制实验 (105)附录1 DeviceARM2410 专用工程模板 ..................................................... 错误!未定义书签。
第一部分试验箱硬件结构MagicARM2410教学实验开发平台是一款可使用μC/OS-II、Linux和WinCE操作系统、支持QT、MiniGUI图形系统、集众多功能于一身的ARM9教学实验开发平台。
采用Samsung公司的ARM920T内核的S3C2410A微处理器,扩展有充足的存储资源和众多典型的嵌入式系统接口。
MagicARM2410实验箱参考如图1.1所示。
图1.1 MagicARM2410实验箱外观图MagicARM2410实验箱功能框图如图1.2所示。
图1.2 MagicARM2410实验箱功能框图1.1 S3C2410A芯片简介S3C2410A是Samsung公司推出的16/32位RISC处理器(ARM920T内核),适用于手持设备、POS机、数字多媒体播放设备等等,具有低价格、低功耗、高性能等特点。
基于52单片机的嵌入式Web控制系统设计详解当前工业控制系统中流行的控制方式:底层设备采用RS232总线结构,而上层的管理层一般采用以太网结构。
该控制方式使信号可以在企业的Intranet上及时发布和共享,还可以在Internet/Intranet的任何位置对现场智能设备进行在线控制、功能组态以及远程诊断等,实现了控制网络真正意义上的开放性和互操作性。
而RS485总线是一种基于平衡发送和差分接收的串行总线,具有很强的抗共模干扰能力,在适当的波特率下传输距离很远。
同时由于其硬件设计简单、控制方便、易于进行网络扩展,被广泛的应用在很多工业现场。
本文所研究的嵌入式以太网适配器,就是要解决嵌入式设备网络通信的问题,方便嵌入式系统与计算机网络的通信,实现远程监控、访问及数据的传输。
一、主要芯片选择及简介1、单片机AT89S52本设计中AT89S52作为核心处理器。
AT89S52是Atmel公司生产的低功耗、高性能CMOS8位单片机,片内含有8k字节的EPROM和256字节的RAM。
具有ISP(在系统编程)功能。
它具有灵活性高、使用方便、价格低廉等优点。
因此,该芯片在嵌入式控制系统中得到了广泛应用。
单片机AT89S52经过以太网传到PC机实现远程控制。
利用AT89S52的ISP(在系统编程)功能,很方便地把编好的程序写到单片机中,并且调试、修改和升级很容易。
由于AT89S52单片机本身提供了一组全双工串行传输口,由TXD引脚来传送串行数据,而由RXD 引脚来接收数据,可是其工作逻辑电平皆为TTL电平(0V,5V)。
AT89S52最小系统如图1所示。
图1AT89S52最小系统2、网络控制芯片ENC624J600ENC624J600网络控制器是一款带有行业标准串行接口和并行接口的,专为嵌入式应用系统设计的独立以太网控制芯片。
ENC624J600通过SPI或并行接口与单片机通信,数据传输速率为14Mbit/s(对于SPI)至160Mbit/s(对于16位的并行接口),ENC624J600主要功能特性有,自适应的选择传输速率,支持10Mbit/s或100Mbit/s;充分支持半双工或全双工交换式以太网;可编程填充和CRC生成;提供24KBA片内RAM缓冲区,用于执行发送和接手操作,主单片机还可以用它来进行常规的存储操作;支持总线8位或16位CPU访问,可编程自动拒绝错误数据包;可编程为发生冲突时自动重发。
实验五简单嵌入式WEB服务器实验 (1)
5.1、实验目的 (1)
5.2、实验内容 (1)
5.3、预备知识 (1)
5.4、实验设备及工具 (2)
5.5、实验原理 (2)
5.6、程序分析 (8)
5.7、实验步骤 (12)
5.8、思考题 (13)
实验五简单嵌入式WEB服务器实验
5.1、实验目的
掌握在ARM开发板实现一个简单WEB服务器的过程。
学习在ARM开发板上的SOCKET网络编程。
学习Linux下的signal()函数的使用。
5.2、实验内容
学习使用socket进行通讯编程的过程,了解一个实际的网络通讯应用程序整体设计,阅读HTTP协议的相关内容,学习几个重要的网络函数的使用方法。
读懂HTTPD.C源代码。
在此基础上增加一些其他功能。
在PC计算机上使用浏览器测试嵌入式WEB服务器的功能。
5.3、预备知识
C语言的基础知识、程序调试的基础知识和方法,Linux环境下常用命令和Vi编辑器的操作。
HTTP1.0协议的基本知识。
SOCKET编程的几个基本函数的使用方法。
5.4、实验设备及工具
硬件:UP-TECH S2410/P270 DVP嵌入式实验平台、PC机Pentium 500以上, 硬盘10G以上。
软件:PC机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX开发环境
5.5、实验原理
1、软件需求说明
如图5.1所示:
获取服务器当前目录文件列表
解析用户请求
图5.1 软件需求
2、功能需求详细说明
◆获取服务器当前目录文件列表
将服务器当前目录下所有文件的信息发送给客户端,信息包括:文件名、大小、日期。
◆获取指定文件
将客户请求的文件发送给客户。
◆获取HTML类型文件
将客户请求的HTML类型文件发送给客户。
◆获取纯文本文件
将客户请求的纯文本发送给客户。
◆获取JPG图像文件
将客户请求的JPG图像文件发送给客户。
◆获取GIF图像文件
将客户请求的GIF图像文件发送给客户。
◆解析用户请求
分析客户的请求,将请求信息解析为几个变量,包括:
请求的命令、请求的文件名、请求的文件类型。
3、数据流图(DFD)
如图5.2所示:
图5.2 数据流图
4、数据需求
回应HTTP协议数据头格式要求,如表5.1所示:
表5.1 HTTP协议数据头格式
5、系统结构图
如图5.3所示:
图5.3 系统结构图
6、整体结构图说明
主程序:建立TCP类型SOCKET在80端口进行监听连接请求。
接收到连接请求,将请求传送给连接处理模块处理。
并继续进行监听。
7、连接处理模块
如图5.4所示:
图5.4 连接处理模块
8、功能分配
◆发送当前目录文件列表信息
将服务器当前目录下所有文件的信息发送给客户端,信息包括:
文件名、大小、日期。
◆发送HTML类型文件
将客户请求的HTML类型文件发送给客户。
◆发送纯文本文件
将客户请求的纯文本发送给客户。
◆发送JPG图像文件
将客户请求的JPG图像文件发送给客户。
◆发送GIF图像文件
将客户请求的GIF图像文件发送给客户。
◆解析客户请求HTTP协议头
分析客户的请求,包括:
1.空格处理
2.解析客户请求命令
3.解析客户请求的资源名
4.解析客户请求的资源类型。
◆客户连接处理
解析Referrer和content_length字段值并调用客户请求解析函数。
◆发送HTTP协议数据头
根据发送文件类型发送相应的HTTP协议头信息。
9、接口设计
客户连接处理
函数名:int HandleConnect(int fd)
参数:客户连接文件描述字
10、解析客户请求
函数名:int ParseReq(FILE *f, char *r)
参数:参数1:文件流FILE结构指针,用于表示客户连接的文件流指针。
参数2:字符串指针,待解析的字符串。
11、发送HTTP协议数据头
函数名:int PrintHeader(FILE *f, int content_type)
参数:参数1:文件流FILE结构指针,用于表示客户连接的文件流指针。
用于写入HTTP协议数据头信息。
参数2:信息类型,用于确定发送的HTTP协议数据头信息。
12、发送当前目录文件列表信息
函数名:int DoDir(FILE *f, char *name)
参数:参数1:文件流FILE结构指针,用于表示客户连接的文件流指针。
用于写入目录文件信息数据。
参数2:目录名,表示客户请求的目录信息。
13、发送HTML文件内容
函数名:int DoHTML(FILE *f, char *name)
参数:参数1:文件流FILE结构指针,用于表示客户连接的文件流指针。
用于写入文件信息数据。
参数2:客户请求的文件名。
14、发送纯文本(TXT)文件内容
函数名:int DoText(FILE *f, char *name)
参数:参数1:文件流FILE结构指针,用于表示客户连接的文件流指针。
用于写入文件信息数据。
参数2:客户请求的文件名。
15、发送JPEG图像文件内容
函数名:int DoJpeg(FILE *f, char *name)
参数:参数1:文件流FILE结构指针,用于表示客户连接的文件流指针。
用于写入文件信息数据。
参数2:客户请求的文件名。
16、发送GIF图像文件内容
函数名:int DoGif(FILE *f, char *name)
参数:参数1:文件流FILE结构指针,用于表示客户连接的文件流指针。
用于写入文件信息数据。
参数2:客户请求的文件名。
5.6、程序分析
1、主程序设计
1)功能说明
系统的总入口,也是系统的主要控制函数。
分别完成如下功能:
◆建立环境设置。
◆设置信号处理方式。
◆建立侦听TCP流方式SOCKET并绑定80端口。
◆建立连接侦听及客户连接处理调用主循环。
2)算法流程图
算法流程图如图5.5所示:
图5.5 算法流程图
3)命令行输入处理
用户在命令行输入参数 -i ,则将客户输入文件描述字设为0,即标准输入。
用于在本机进行测试。
其他输入全部忽略。
2、客户连接处理模块设计
1)功能说明
用于初步处理客户的连接请求,并将请求信息传递给客户请求解析函数处理。
2)算法
具体算法如图5.6所示:
图5.6 算法流程图
3、客户请求解析处理模块设计
1)功能说明
用于解析客户的请求,并根据请求信息调用相应的函数进行请求处理。
2)算法
算法流程图如图5.7所示:
图5.7 算法流程图
4、发送HTTP协议数据头模块设计
1)功能说明
根据参数的不同,发送不同的HTTP协议头信息。
2)算法
函数定义为:int PrintHeader(FILE *f, int content_type) ✧发送请求成功信息:HTTP/1.0 200 OK。
✧根据文档类型发送相应的信息:
fprintf(),函数中的第一个参数f 为客户连接文件流句柄。
5.7、实验步骤
1、阅读理解源码
进入/root/share/exp/basic/07_httpd目录,使用vi编辑器或其他编辑器阅读理解源代码2、编译应用程序
运行make产生可执行文件httpd
3、下载调试
使用NFS服务方式将HTTPD下载到开发板上,并拷贝测试用的网页进行调试,本例中用的是index测试网页。
4、本机测试
Linux下和windows下的浏览器均可(做此实验请把杀毒软件和防火墙关闭)
在台式机的浏览器中输入http://172.16.38.100(100为UP-AMR2410-S实验板的IP地址),观察在客户机的浏览器中的连接请求结果(如图5.8)和在开发板上的服务器的打印信息。
图5.8 IE显示结果
5.8、思考题
1、自己在windows下编辑一些静态网页,然后装到linux里面去,并下载到实验箱上去运行!
2、在理解源代码思想的基础上扩展一个监视功能,用于在浏览器端监视开发板上的采集数据。
可以使用仿真模拟采集数据,使在客户端的浏览器中的显示数据不断变化。
3、自定义一些功能,使用网络TCP协议实现。