电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 嵌入式系统/ARM技术 > 详细信息
嵌入式系统/ARM技术:嵌入式Web Server中EGI技术的应用
来源: 苏州大学安峰   时间: 2007-9-24 9:18:53    

  摘要 嵌入式Web Server大多应用在测试控制领域,因此,Server与外界的交互通信必不可少,传统的WebServer是在客户端请求时发送相应静态HTML页面,只是起到一个文件服务器的功能。本文基于uIP协议栈的移植,编程实现HTTP协议,详细讨论如何使嵌入式Web Scrver动态生成网页。因为传统PC机上的网络技术(CGI)并非特别适合嵌入式Weh Server,因此提出了EGI(嵌入式网关接口)技术来增强嵌入式Web的动态功能。
  关键词 uIP协议栈嵌入式Wcb Server 公共网关接口 嵌入式网关接口

1 uIP协议栈的移植
  协议栈采用瑞典计算机科学研究所Adam Dunkels开发的uIP0.9。其功能特性总结如下:完整的说明文档和公开的源代码(全部用C语言编写,并附有详细注释);极少的代码占用量和RAM资源要求,尤其适用于8/16位单片机;高度可配置性,以适应不同资源条件和应用场合;支持ARP、IP、ICMP、TCP、UDP(可选)等必要的功能特性;支持多个主动连接和被动连接并发,支持连接的动态分配和释放;简易的应用层接口和设备驱动层接口;完善的示例程序和应用协议实现范例。

  要想使uIP协议栈顺利运行,需要为其编写驱动程序,包括CS8900A的初始化、发送函数以及接收函数。接收数据放在uip_buf里,供uip_input()函数处理。发送数据长度为uip_len。首先发送uip-bur中前(40+UIP_LLH_LEN)个数据,接着发送uip-appdata指针所指向的存储区域的数据。这是因为uip-buf中前(40+UIP_LLH_LEN)个数据是物理层添加的头,即日的物理地址与本地物理地址,而后部分数据是应用层处理后返同的数据。

  另一个需要驱动程序支持的函数是uip_periodic(conn)。这个函数用于uIP内核对各连接的定时轮询,因此需要一个硬件支持的定时程序周期性地用它轮询各连接。一般用于检查主机是否有数据要发送,若有,则构造IP包。

  需要注意的问题是:一般情况下,C语言的结构体struct是4字节对齐的,但是在处理数据包时,uIP是根据结构体中不同数据的长度来读取相应数据的,所以一定要在定义struct时使用_(attrlbute)_packed关键字,让编译器放弃struct的字节对齐。

2 嵌入式Web Servor的工作过程
2.1 静态Web Server
 
  
Web Servet是基于HTTP协泌的。在实验箱上搭建的嵌入式Web Seiver一直处于监听状态,即一直判断网卡的接收数据位是否置位。若是,则调用uip_input()函数处理uip-buf[]里的数据。

  当在PC端浏览器的地址栏里输入ARM的IP地址并按下回车键时,PC端首先发一个arp查询包。接收到arp应答后,PC端与ARM建立连接。经过3次握手后,TCP1连接已经建立起来了,客户机现在向端口 80(HTTP端口)发送一个请求。具体的数据包如图1所示。

  Web服务器会处理此请求,Web页面将在接下来的数据包中返同。HTTP的GET请求并没有指定具体的HTML页面,Web服务器返回默认页面,即index.html。具体的数据包如图2所示。

  服务器处理Web页面请求:服务器基于IP地址和客户机请求的端口号来响应Web业务。该响应包括建立Web页面需要的信息,客户机的Web浏览器(如IE)得到这些消息并显示在屏幕上。如果需要从Web服务器得到更多信息(如图片、按钮、动画等),则客户端会继续发送请求,直到完整显示整个Web页面。

2.2 CGI

  如果仅仅传送静态的HTML页面,那么上述的技术已经足够。然而,在构造嵌入式Web Server时,更需要一些动态数据,如温度、电压等动态物理量。这时就需要引入通用网关接口CGI(Common Gateway Interface)。CGI是HTTP服务器与其他机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。
  CGl处理步骤:
  ◇通过Internet把用户请求送到服务器;
  ◇服务器接收用户请求并交给CGI程序处理:
  ◇CGI程序把处理结果传送给服务器;
  ◇服务器把结果送网到用户。

2.3 EGl
  
CGI适用于PC机上,然而在嵌入式系统中并不是很好用,因此程序员被迫要用print声明创建整个网页,而不是通过更新已存在页的变量来整合出想要的数据。因此人们提出了一种新的技术——EGI(Embeded(Gateway In-terface)。下面结合uIP协议栈在嵌入式系统中的移植来具体探索EGI技术在嵌入式Web Server的应用。

  如上所述,当客户端浏览器的地址栏输入Web Server地址后,客户端与Web Server建立了连接,并在这个连接之上传输数据。

  在server端,系统通过A/D转换采集模拟量,得到的结果存放在2个全局变量ADl和AD2里。在PC端,浏览器发出的请求包已经改变为图3所示的情况。

  比较图1和图3可以很清楚地看到,划线部分是两种请求的不同之处。服务器会判断是否为EGI请求。如果是,服务器就调用EGI程序。下面是EGI的执行步骤:
   ①判断客户端申请的页面,并发出HTML页面头;服务器的文件组织是一个队列的结构形式。以笔者的课题为例,文件服务器包括:index.htm、about.htm、contro1.html等静态页面,也包括file_headr_html.htm、file_cgi、file_foot_html.plain等动态页面。找出/cgi/后,空格(0x20)前的字符串,也就是“files”,然后用这个字符串在队列中的文件名中进行查找。如果匹配,就对该文件进行字符处理,即对file_cgi进行处理。预先规定cgi文件里包括3部分:I/文件头/;c(a.b,c);I/文件尾/。I包含文件头或文件尾,c是EGI处理,有a、b、c三种EGI处理方法。服务器第1步就是发送I/文件头/中的文件头。即file-headr_html.htm。
  ②处理完cgi文件里第1部分后,进入第2部分,即c(a.b,c)。这里可以进行A/D转换,并将结果发送出去。
  ③处理cgi文件里第3部分,发送文件尾,即file_foot_html.plain。
  EGI技术的出现使我们可以根据申请,即时构造页面。这在数据采集、实时监控领域有着广泛的应用。下面是本课题中应用EGI技术,在浏览器里以图表形式实时显示采集到的模拟量。如图4所示,用两个类似温度计的图形来显示服务器端采集到的数据。客户端每隔一段时间就自动刷新显示,发送EGI请求,服务器端把最新的数据所构造的网页发送过来。

3 结论
  
目前,嵌入式Web Server应用在多种场合,EGI技术的引入使嵌入式Web具有动态交互功能,如使得远程监控、测量成为现实。

相关信息
发表评论
打印本页 关闭本页
基于Web Server的无线视频终端在线配置方案与实现
  摘要 在多模式无线视频传输系统中嵌入Web服务器通过WLAN来实现对系统中的一些参数进行重新配置,介绍了在嵌入系统中架设Web服务器及进行参数配置的具体方法。实验结果表明,本文的方法实现灵活方便,达到了设计的目标。   1、前言   本文的工作基于“多模式无线视频传输系统”[1-3]的框架,如图1所示,该系统的前端是多模式无线视频终端,既可以通过公共移动网络GPRS和CDMA1x提...
>>详细内容
SOMA Networks日前宣布推出FlexMAX MS-G100 Gateway网关产品
    流动微波存取全球互通(WiMAX)主要供应商SOMA Networks日前宣布推出FlexMAX MS-G100 Gateway网关产品。这是基于802.16e-2005标准的户内可自行安装无线宽带网关系列产品。此精致多功能用户网关是FlexMAX移动式WiMAX系列产品之一。它使用三种天线技术,提供超绝的非视距覆盖范围及更强的户内无线网络渗透率,并充分应用基于标准的用户宽带装置的功能。   MS-G100 Gateway是按支持第...
>>详细内容
Fingerprint Cards公司近日宣布推出指纹生物处理器
    瑞典Gothenburg的Fingerprint Cards公司近日宣布推出指纹生物处理器ASIC—FPC2020,其用途是作为FPC1011C传感器的数据处理子系统,并连接到用于存储指纹模板的外部闪存。该处理器是第三代指纹处理器,其目标应用是门锁、读卡器及安防或其它需要嵌入式生物安全性的应用。 FPC2020能够创建指纹模板并把它们存储在闪存当中,该公司表示,芯片的工作模式包括:一对一验证模式以及一对多...
>>详细内容
嵌入式移动数据库SQL Server for Windows CE的应用研究
  摘要:SQL Server for Windows CE是应用于嵌入式移动设备的数据库产品。本文介绍了.NET Compact Framework下嵌入式移动数据库SQL Server CE 2.0的开发方法,并结合仓库物料移动巡查系统分析说明了SQL Server CE 2.0与SQL Server 2000数据同步的解决方案。 关键字:嵌入式移动数据库 SQL Server CE 1 引言 嵌入式移动数据库系统或简称为移动数据库(EMDBS),是专门运行在各种智能型嵌...
>>详细内容
PGI编译器使天气预报模型运行在Windows Server平台上
  意法半导体全资子公司Portland Group(PGI)日前宣布,国家气候研究中心利用PGI的高性能64位并行Fortran编译器和工具,成功地将其广泛使用的天气研究预报模型(WRF)移植到Microsoft Windows Compute Cluster Server 2003操作平台。近日一个64位的WRF原型将在2006年国际超级计算机大会微软展台上向观众展出。 WRF项目是一个由几个公司组织联合成立的合作项目,合作目标是研发下一代地区天...
>>详细内容
HOLTEK新推出16 Channel A/D MCU with SPI Interface
    HT82J30R为HOLTEK新一代八位A/D型微控制器,具备有4K OTP程序内存、216 Byte Data RAM、并具有16-bit Timer及8-bit Timer各一个、多达35个I/O、2个SPI、具备有看门狗(Watchdog)及LVR的功能用以加强MCU防当机能力。   其内嵌式之A/D converter为8-bit*16 channel及1个8-bit PWM D/A Converter,用在设计产品及控制系统时,能省略外部 A/D 及 PWM组件,以降低成本,并使整个产品在生...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com