2012年6月29日星期五

如何用W7100A實現HTTP伺服器(一)

大家好,这篇文档将介绍如何利用iMCU7100EVB实现HTTP服务器,同时也会介绍代码并且显示一个简单的demo测试。今天为大家分享第一部分,周末过后将继续为大家分享后面的部分,希望对大家有帮助~
注意: 这篇文档是基于W7100A 100引脚封装,因为W7100A 64引脚封装的芯片在GPIO引脚数目上比100引脚封装的要少,所以用GPIO口控制LED和LCD的示例可能不能正常工作。



1. HTTP服务器
HTTP是超级文本传输协议(HyperText Transfer Protocol)的简称。更多关于HTTP协议的细节,请参考下面的链接。(http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol)如果使用W7100A的全硬件TCP/IP协议栈可以很容易地实现HTTP服务器。下面的图1显示了HTTP服务器和客户端之间的通信。
1 HTTP通信


HTTP服务器的通信过程大概可以分为三个步骤:
1. 连接 : W7100A指定HTTP服务器的socket,打开socket并且监听的过程。
2. 通信 :已经建立的连接。W7100A在接收到来自客户端的HTTP请求之后发送HTTP响应。
3. 关闭 : 在所有的HTTP请求/响应之后完成连接的过程。


2. HTTP服务器实现
2.1 网络设置

W7100A HTTP服务器代码中的网络设置和MAC地址都保存在W7100A255字节用户数据存储器中。如果用户想要改变网络设置或者MAC地址,运行WizISP程序,设置“Flash Operation Mode”为“Data”,然后点击Erase按钮来擦除用户数据存储器。完成之后,MAC地址和网络设置都会变成W7100A task_config.c文件下default_network()函数中的默认设置。初始化后的MAC地址和网络设置将会再次被写入到用户数据存储器。
另外一个改变网络设置的方法是连接到W7100A的HTTP服务器网页,并且使用网页配置页面。



2.2 默认主页设置
当HTTP客户端作为W7100A的IP地址被连接时,W7100A HTTP服务器代码主要是连接到‘index.html’(例如: http://192.168.1.2)。 如果用户想要改变基本的页面,需要从main.c文件下按照下面的代码来修改。

2.3 生成Romfile
示范网页必须作为一个Romfile组合在一起,并且和固件程序一起写入到W7100A的闪存中。提供的ROMFILEMaker.exe程序用来将示范网页组合到一个Romfile。可以通过WIZnet’shomepage -> download center (http://www.wiznet.co.kr/en/)来下载该程序。下图为ROMFILEMaker.exe运行的屏幕截图。
2 ROMFILEMaker程序

在W7100A代码中的区域1为types.h文件分配相关的路径。点击2区中的Add Files按钮,添加应该组合的网页。如果同时添加太多的网页,将会发生错误;因此,用户要组合很多网页,就需要重复添加步骤。此时,网页存在于相同的文件夹下。用户点击3区中的Make Image按钮,组合的文件就会被生成以4区中的名称命名的文件。由于改变4中的Rom Image文件的名称将会致使用户修改用来组合程序二进制和网页的批处理文件命令,所以不要修改该名称。
 
 

没有评论:

发表评论