3062|1

56

帖子

0

TA的资源

一粒金砂(中级)

嵌入式教程_DSP技术_DSP实验箱操作教程:2-28 搭建轻量级WEB服务器实验 [复制链接]

  实验目的

本节视频的目的是学习TCP/IP协议的通信原理和Wed服务器的工作原理,实现搭建轻量级Web服务器。

 

实验原理

硬件原理图

实验过程中使用的是网口。

 

 

image-20230811150824-2.png  

 

  WEB服务器

(WORLD WIDE WEB,环球信息网)

       即万维网,主要功能是提供网上信息浏览服务。 WWW 是 Internet 的多媒体信息查询工具,是 Internet 上近年才发展起来的服务,也是发展最快和目前用的最广泛的服务。正是因为有了WWW工具,才使得近年来 Internet 迅速发展,且用户数量飞速增长。

       Web服务器是在运行在物理服务器上的一个程序,它永久地等待客户端(主要是浏览器,比如Chrome,Firefox等)发送请求。当收到请求之后,它会生成相应的响应并将其返回至客户端。Web服务器通过HTTP协议与客户端通信,因此也被称为HTTP服务器。

          当我们在浏览器输入URL后,浏览器会先请求DNS服务器,获得请求站点的 IP 地址。然后发送一个HTTP Request(请求)给拥有该 IP 的主机,接着就会接收到服务器给我们的 HTTP Response(响应),浏览器经过渲染后,以一种较好的效果呈现给我们。这个过程中,正是Web服务器在幕后默默做贡献。    

 

Web服务器的工作原理并不复杂,一般可分成如下4个步骤:

  1. 建立连接

       客户机通过TCP/IP协议建立到服务器的TCP连接。

       在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。

       Web浏览器向Web服务器发送请求命令一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。

 

  1. 请求过程

       客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档。

      浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。

 

  1. 应答过程

       服务器向客户机发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言的解释引擎负责处理“动态内容”,并将处理得到的数据返回给客户端。由客户端解释HTML文档,在客户端屏幕上渲染图形结果。

 

(4)关闭连接

 

       Web服务器关闭TCP连接.

       一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码:Connection:keep-alive,TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

 

 

image-20230811150824-3.png  

 

 

 

HTTP协议

(HyperText Transfer Protocol,超文本传输协议)

       HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议,是基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请求和响应构成,永远都是客户端发起请求,服务器回送响应,是一个标准的客户端服务器模型。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

       HTTP是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。

 

LwIP协议栈

       LwIP是一个轻量级的TCP/IP协议栈,可用于各种嵌入式的系统中。LwIP协议是一套用于嵌入式系统的开放源代码TCP/IP协议栈。LwIP含义是light weight(轻型)IP协议,在实现时保持了TCP协议的主要功能基础上减少对RAM的占用,一般它只需要几十K的RAM和40K左右的ROM就可以运行,这使LwIP协议栈很适合在低端嵌入式系统中使用。

       LwIP协议栈的设计采用分层结构的思想,每一个协议都作为一个模块来实现,提供一些与其它协议的接口函数。所有的TCP/IP协议栈都在一个进程当中,这样TCP/IP协议栈就和操作系统内核分开了。而应用程序既可以是单独的进程也可以驻留在TCP/IP进程中,它们之间利用ICP机制进行通讯。如果应用程序是单独的线程可以通过操作系统的邮箱、消息队列等,与协议栈进程通讯。如果应用程序驻留在协议栈进程中,则应用程序可以通过内部回调函数和协议栈进程通讯。

 

EMAC

(Ethernet Media Access Controller,以太网媒体访问控制器)

       简单介绍集成在器件中的以太网媒体访问控制器(EMAC)和物理层(PHY)器件管理数据输入/输出(MDIO)模块的功能描述。 EMAC 模块用于在器件(device)和连接到同一网络的其他主机(host)之间搬移数据,遵从以太网协议。EMAC 控制从系统到 PHY 的包数据流。 MDIO 模块控制 PHY 配置以及状态监控。EMAC 和 MDIO 模块都是通过自定义接口连接到系统内核的,它允许高效率的数据发送和接收。这个自定义接口被称为 EMAC 控制模块,是 EMAC/MDIO 不可或缺的外设。
EMAC/MDIO 具有以下特点:
(1)同步 10/100 Mbps 操作。
(2)到物理层器件(PHY)的标准媒体独立接口(MII)或简化媒体独立接口(RMII)。
(3)EMAC 作为到器件内外存储空间的 DMA 主控 。

 

 

程序流程

image-20230811150824-4.png  

 

 

 

操作现象

硬件设备

本实验使用的硬件接口为网口,所需硬件为实验板、仿真器、网线、RS232 交叉串口母母线、USB转RS232串口线和电源。

 

 

image-20230811150824-5.png  

 

 

硬件连接

(1)使用网线连接实验板的网口和路由器,程序默认是动态获取IP的。如果没有路由器,则使用网线连接实验板的网口和电脑的网口,请根据实验手册修改程序以及设置电脑的静态IP。

(2)使用 RS232 交叉串口母母线和 USB 转 RS232 串口线连接实验板的UART2串口和电脑的 USB口。

(3)连接仿真器和电脑的USB接口,

(4)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。

 

image-20230811150824-6.jpeg  

 

 

软件操作

(1)先在设备管理器查看串口的端口号;

(2)再设置串口调试工具,波特率设置为115200。

 

image-20230811150824-7.jpeg  

 

 

设置好串口调试工具后,在CCS里进行相关操作。

导入工程,选择Demo文件夹下的对应工程

编译工程

将CCS连接实验箱并加载程序

点击运行程序,串口终端会打印自动获取到的实验箱IP地址

 

image-20230811150824-8.jpeg  

 

在 Windows 开始菜单底部输入 cmd 进入控制台窗口,执行 ping 命令,确认实验箱的网络部分工作正常。

打开浏览器输入网址 http://192.168.0.116,就可以看到网址内容。

实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

 

 

image-20230811150824-9.png  

最新回复

其实根本的是LwIP协议栈关注如何减少内存使用量和代码大小   详情 回复 发表于 2023-8-13 21:57

回复
举报

1580

帖子

0

TA的资源

五彩晶圆(初级)

其实根本的是LwIP协议栈关注如何减少内存使用量和代码大小


回复
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
汇编语言程序设计[下载]

第1章 基础知识1.1 汇编语言及特点1.2 数据表示1.3 8086CPU和寄存器组1.4 存储器物理地址的形成 第2章 寻址方式和指令系统2.1 寻 ...

Protel99se鼠标滚轮放大缩小工具以及转快捷键整理

分享一个比较好用的Protel99se增加鼠标滚轮放大缩小功能【见附件】 功能就不用多说了,就是可以用鼠标滚轮代替page up和page dow ...

简单但你却不一定能说得通的JTAG接口

JTAG接口 1JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测 ...

TI大学计划培训材料-精密信号链部分

本帖最后由 dontium 于 2015-1-23 11:28 编辑 TI大学计划培训材料-精密信号链部分

把STM32F746-Disco做AppleⅡ

本帖最后由 dcexpert 于 2016-1-4 11:25 编辑 今天是2016年的第一天,来一个有重量的帖子,在STM32F746-Disco上跑Basic。就是 ...

程序

#include"reg51.h" #include"XPT2046.h" //--定义使用的IO--// #define GPIO_DIG P0 sbit LSA=P2^2; sbit LSB= ...

TI处理器TMS320F2812的编程实例例程

475650 475651

【测评入选名单】雅特力AT-START-F403A开发板免费测评试用

活动详情:https://bbs.eeworld.com.cn/elecplay/content/141 恭喜以下网友入选测评,请在9月22日前进论坛确认个人信息, ...

在RISC-V上使用RT-Thread完全学习手册(基于龙眼Longan开发板)

RISC-V完全学习手册(基于龙眼Longan开发板) 前言 前段时间本人对RISC-V产品产生了浓厚的兴趣, 希望能够上手一探究竟, 在此 ...

关于天线接收功率及功率放大

647222 问题1:对于一个天线,发出去的能量为dbm,接受到部分能量,单位应该还是dbm,问题在于,即使进PCB时,得到信号应该还 ...

关闭
站长推荐上一条 1/10 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表