首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
单片机嵌入式Internet技术的Web应用实现
来源:本站整理  作者:佚名  2010-08-08 17:53:09




2.2 uIP驱动底层网络设备RTL8019AS
    uIP是一个仅包含3层网络层核心协议的协议栈,uIP自身不包含任何类型的底层网络驱动和上层应用程序,它只提供接口函数供用户开发使用。因此为了完成与底层网络设备的交互,用户必须根据网络设备的类型,在uIP中自行实现对底层网络设备的驱动。本文采用的网络设备是RTL8019AS网卡,因此需要在uIP中实现对RTL8019AS网卡的驱动[4]。
    RTL8019AS驱动程序包括:RTL8019AS芯片初始化、芯片复位以及数据的发送和接收。RTL8019AS芯片初始化可以通过初始化函数void init_8019(void)完成。芯片复位通过芯片上的RSTDRV引脚执行复位操作,该引脚高电平有效。
3 单片机上嵌入式Web服务器的软件实现
3.1 Web服务器的建立

    在进行以上的工作之后,用户就可以建立Web服务器,通过uIP协议实现不同的微控制器或工作站之间的通信。Web服务器和客户端浏览器间的通信采用HTTP协议。嵌入式系统经常需要根据用户的指令,采集系统的当前数据信息传送给客户端浏览器,为实现这种客户端浏览器和Web服务器的动态交互,需要在服务器端采用通用网关接口CGI(Common Gateway Interface)技术。CGI是一个在服务器上运行的程序,它分析处理用户发送到服务器上的数据信息,完成动态文件资源的创建和处理,再将用户信息返回给客户端。
    Web服务器初始化完成后,服务器等待客户端的连接请求,客户端浏览器输入服务器的IP地址后发一个物理地址解析协议(ARP)请求包,服务器收到后进行应答。客户端收到应答包后发送超文本传输协议(HTTP)包,服务器收到HTTP包后开始建立与客户端的TCP连接并作出对此包的响应。客户端收到响应包后即断开连接,服务器侦测到客户端断开了连接也同时断开连接。
3.2 Web服务器数据处理流程
    当系统的网卡接收到从网络传送来的数据包后,首先分析目的地址是否与自己的物理地址一致,如果不一致,则丢弃此包;如果一致,则读取网络数据并分析。如果是ARP请求包,则转入ARP处理程序,并发送一个ARP应答包给客户端。如果是IP包,则交由IP层处理,同时去掉以太网首部[4-5]。IP层根据IP首部的协议字段分析该IP包属于什么数据包,如果是UDP包则,丢弃;如果是ICMP请求包,则发送一个ICMP应答包给客户端;如果是TCP包且IP地址和端口号正确,则接收数据包,数据解包后,将数据部分通过串口输出,控制MAX232现场设备。反之,如果现场通过串口发送数据到单片机,单片机将数据按照TCP协议格式打包,送入RTL8019AS,由RTL8019AS将数据发送到局域网中。根据需要还可以在收到串口数据时,先完成数据预处理,再将处理好的数据送到局域网。具体的处理过程如图2所示。

3.3 单片机上的Web服务器编程
    uIP协议栈提供了一个称为宏的UIP_APPCALL的应用程序接口供用户设计应用程序时使用[4]。要在单片机上实现Web Server服务,首先将该宏定义为一个应用程序函数名,然后在此函数中实现HTTP协议。完成后,用户可以从局域网内的任何客户机访问该单片机Web服务器。如果分配一个公网IP地址,则也可以从Internet上访问此Web服务器。实现的程序如下:

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:12,445.31000 毫秒