tag 标签: web服务器

相关博文
  • 热度 3
    2014-12-22 17:02
    392 次阅读|
    0 个评论
    网络出现后,带给人们生活上的改变是,我们可以随时随地在www网络浏览器网页上获取想要的信息。由于www内容丰富,浏览方便,也已经成为互联网重要要的服务。 那么超文本传输协议HTTP(Hypertext transfer protocol),是一种从www服务器传输超文本到本地浏览器的传送协议。简单地说,HTTP协议就是用户通过浏览器访问Web服务器的方式,并具备B/S(Browser/Server )结构。 今天就来与大家分享一下HTTP协议的学习。 在TCP/IP协议栈中的位置 HTTP协议承载于TCP协议之上,是一个应用层协议。有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示: HTTP的请求响应模型 HTTP协议永远都是客户端发起请求,服务器回送响应。HTTP协议是一个无状态的协议,不会记得“上一个请求是什么”。 协议流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)建立连接。只要单击某个超级链接,HTTP的工作开始。 2)客户端发送请求。请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。 3)服务器响应。其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 4)连接断开。当服务器的响应信息显示到客户端的浏览器上,一次HTTP操作结束 那么,先来看一下建立连接的过程: 建立连接 HTTP/1.0 每次请求都需要建立新的TCP连接,连接不能复用。HTTP/1.1 新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用。 请求消息格式 请求消息格式如下所示: 请求行   通用信息头 | 请求头 | 实体头  CRLF( 回车换行 )  实体内容 其中“请求行”为:请求行 = 方法 请求URI 版本号 请求方法 HTTP的请求方法常用如下几种: 1、GET:对服务器资源的简单请求,从服务器上获取数据。 2、POST:向服务器传送数据,主要是向服务器提交表单数据,尤其是大批量的数据。 3、HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头。 那么,相对应的响应过程也与连接过程类似: HTTP响应 响应消息格式 HTTP响应消息的格式如下所示: 状态行  通用信息头| 响应头| 实体头 CRLF  实体内容 其中:状态行 = 版本号 状态码 原因 继续阅读:http://www.iwiznet.cn/blog/?p=6692
  • 热度 5
    2014-12-22 16:59
    467 次阅读|
    2 个评论
    网络出现后,带给人们生活上的改变是,我们可以随时随地在www网络浏览器网页上获取想要的信息。由于www内容丰富,浏览方便,也已经成为互联网重要要的服务。 那么超文本传输协议HTTP(Hypertext transfer protocol),是一种从www服务器传输超文本到本地浏览器的传送协议。简单地说,HTTP协议就是用户通过浏览器访问Web服务器的方式,并具备B/S(Browser/Server )结构。 今天就来与大家分享一下HTTP协议的学习。 在TCP/IP协议栈中的位置 HTTP协议承载于TCP协议之上,是一个应用层协议。有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示: HTTP的请求响应模型 HTTP协议永远都是客户端发起请求,服务器回送响应。HTTP协议是一个无状态的协议,不会记得“上一个请求是什么”。 协议流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)建立连接。只要单击某个超级链接,HTTP的工作开始。 2)客户端发送请求。请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。 3)服务器响应。其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 4)连接断开。当服务器的响应信息显示到客户端的浏览器上,一次HTTP操作结束 那么,先来看一下建立连接的过程: 建立连接 HTTP/1.0 每次请求都需要建立新的TCP连接,连接不能复用。HTTP/1.1 新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用。 请求消息格式 请求消息格式如下所示: 请求行   通用信息头 | 请求头 | 实体头  CRLF( 回车换行 )  实体内容 其中“请求行”为:请求行 = 方法 请求URI 版本号 请求方法 HTTP的请求方法常用如下几种: 1、GET:对服务器资源的简单请求,从服务器上获取数据。 2、POST:向服务器传送数据,主要是向服务器提交表单数据,尤其是大批量的数据。 3、HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头。 那么,相对应的响应过程也与连接过程类似: HTTP响应 响应消息格式 HTTP响应消息的格式如下所示: 状态行  通用信息头| 响应头| 实体头 CRLF  实体内容 其中:状态行 = 版本号 状态码 原因 HTTP的状态响应码 200段是成功,300段需要对请求做进一步的处理,400段表示客户端请求错误,500段是服务器的错误。 ① 客户方错误 100  继续:表示已收到请求的第一部分,正在等待其余部分。 101  交换协议:请求者已要求服务器切换协议,服务器已确认并准备切换。 ② 成功 200  OK:表示服务器提供了请求的网页。 201  已创建:请求成功并且服务器创建了新的资源。 202  接收:表示服务器提供了请求的网页。 203  非认证信息:服务器已成功处理了请求,但返回的信息可能来自另一来源。 204  无内容:服务器成功处理了请求,但没有返回任何内容。 205  重置内容:服务器没有返回任何内容。此响应要求请求者重置文档视图。 206  部分内容:服务器成功处理了部分 GET 请求。 ③ 重定向 300  多路选择:服务器可根据请求者选择一项操作,或提供操作列表供请求者选择。 301  永久转移:请求的网页已永久移动到新位置。 302  暂时转移:服务器目前从不同位置的网页响应请求,但申请人应当继续使用原有位置来响应以后的请求。 303  参见其它:请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。 继续阅读: http://www.iwiznet.cn/blog/?p=6692
  • 热度 1
    2014-10-9 11:23
    414 次阅读|
    0 个评论
    基于XSCALE PXA270处理器平台和开源Linux系统搭建ARM-Linux物联网服务器。使用51单片机连接温湿度传感模块、LED灯等外围设备,使用基十XSCALE PXA270处理器的Up-Tech嵌入式实验箱为核心服务器运行平台。首先介绍了嵌入式设备的ARM-Linux系统搭建、守护程序和CGI程序之间的通信设计,然后详细介绍了Web服务器的搭建和网络程序设计所使用的iQuery类库和AJAX技术的设计实现。 物联网是互联网应用的扩展,是一种新兴的联网技术,其核心是物与物之间的信息通信交流,也是物与人之间的交互控制。物联网技术,主要是利用各种传感器设备,例如:无线技术、射频识别(RFID)技术,各类传感器等技术设备将物理世界中的各种信息,如温度、光强、位置等信息通过网络传输,达到物与物之间、物与人之间的信息交互目的。 要使人们能方便地访问物联网信息,监测和控制各类传感节点和电气设备,一个友好的用户界面是前提。基于B/S架构的解决方案以其客户端通用性成为构建系统的首选。本文将设计开发一个通用的基于ARM处理器平台和Linux嵌入式操作系统的物联网服务器,在硬件平台上,将使用基于XSCALEPXA270处理器的UPTECH嵌入式开发实验箱、51单片机及各种传感控制设备。在此嵌入式设备上使用ARM LinuX系统,在嵌入式Linux系统下搭建服务器,采用B/S架构,以BOA为WEB服务器,通过CGI通信方式实现远程的信息传递和智能交互。 1 系统体系结构 为了突出现代物联网服务器系统的低功耗、低成本、服务水平高、处理效率高的特点,服务器将运行在基于XSCALE PXA270处理器的UP—Tech嵌入式设备上,利用51单片机连接各种传感控制设备。 在UP-Tech嵌入式设备上移植了2.6.28内核的ARM Linux操作系统。在Linux系统上面,编写一个守护程序来与51单片机通信,从而在Linux系统上与各种传感控制设备进行通信控制。在Linux上面移植Boa WEB服务器,用来搭建用户可交互式的访问界面。使用户通过浏览器访问页面就可以实时进行查看或控制各种传感控制设备。 系统架构如图1所示。 图1 系统架构 【分页导航】 第1页: 系统体系结构 第2页: 物联网数据采集与处理子系统设计 第3页: 人机交互子系统-WEB服务器设计(1) 第4页: 人机交互子系统-WEB服务器设计(2) 2 物联网数据采集与处理子系统设计 2.1 基于51单片机的数据采集系统 在物联网终端设备方面,采用51单片机,通过其丰富的外扩接口和温度传感器、湿度传感器,以及LED灯等模块进行连接。在软件上采用“C语言+驱动库”的开发模式,通过这样的开发模式,不仅可以提高开发效率,还能很好地完成多个传感器的信息收集和处理。在连接ARM-Linux嵌入式平台方面,采用UART虚拟串口与嵌入式平台进行连接通信。 本系统的基本实现功能如下: (1)连接各个传感模块,通过输入输出接口获取传感器传递过来的信息并且记录; (2)设置定时器,在规定的单元时间内,采集各个传感设备的信息和控制设备的状态。将他们的信息、状态合成数据包,通过虚拟串口发送; (3)利通虚拟串口通信,时刻检测来自ARM-Linux平台发送过来的控制信号; (4)分析串口传递过来的数据包,检测数据来源确定是否合法,然后根据特定的控制代码对单片机和各个控制模块进行控制。 2.2 基于ARM—Linux平台的数据处理系统 ARM-Linux平台是指利用开源的Linux内核经过特定需求的裁剪后,经过交叉编译后得到一个能够运行在ARM处理器的Linux内核,同时还定制一个Linux根文件系统,整个系统容量控制在几百KB到几十MB。系统主要由三部分组成:BootLoader、ARM-Linux内核、Linux根文件系统。 在嵌入式设备上,主要的数据处理系统由守护程序实现。守护程序一方面负责接收处理单片机发送过来的信息;一方面接受WEB服务器传来的查询控制请求。 在物联网服务器端,来自客户端访问的请求,由服务器接收并检验后,将请求查询、控制指令传递给守护程序,守护程序接收到来自服务器的请求,通过验证后再向单片机发送请求查询、控制指令。 守护程序的通信过程分为两部分,第一部分为守护程序向服务端的CGI程序告知更新数据,第二部分为服务端CGI程序向守护程序发送指令控制,由守护程序监听到后执行控制程序。 【分页导航】 第1页: 系统体系结构 第2页: 物联网数据采集与处理子系统设计 第3页: 人机交互子系统-WEB服务器设计(1) 第4页: 人机交互子系统-WEB服务器设计(2) 3 人机交互子系统-WEB服务器设计 由于嵌入式设备的硬件资源一般都比较有限,不能同时处理多个用户的请求。因此,在WEB服务器的选取方面,选择一些专为嵌入式设备而开发的WEB服务器。这些服务器具有占用内存空间低、处理效率高、安全性高等优点,相当适合嵌入式应用领域。另一方面,在实际的应用当中,由于互联网的高速发展,3G网络的到来,每个人都希望可以通过手上的手持式设备来访问控制自己的物联网设备,使用一个轻量级的WEB服务器当作访问控制服务器,可以相当出色地完成任务。 3.1 服务器工作原理 嵌入式WEB服务器的体系结构采用B/S架构,也即由服务端和客户端构成。在此架构上,将会通过以下几个步骤来与WEB服务器互相通信。 (1)在客户端的浏览器(Browser)输入WEB服务器的IP地址; (2)客户端首先通过TCP发起建立连接请求,然后服务器通过认证后,确认请求合法后立即建立连接。在这个过程中,采用的是TCP/IP协议的“三次握手”方式建立连接的; (3)通过TCP/IP建立连接后,浏览器再用HTTP协议发出HTTP请求; (4)当服务器端接收到HTTP请求后,对其进行解析等操作,然后根据不同的处理结果服务器再执行相应的返回操作。 (5)客户端收到服务器的返回结果后,解析HTML数据包,然后将之显示在浏览器上。 3.2 Boa WEB服务器的移植 Boa是一个处理单任务的WEB服务器。也就是说只有在完成一个请求后才能响应另外一个连接请求,虽然无法实现并发响应,但是已经足够应付嵌入式的应用处理了。另外,Boa也是一个相当轻量级的WEB服务器,交叉编译所得到的可执行文件只有60kB左右。出于设计的精简和应用需求,Boa仅支持CGI。 在WWW.boa.org上下载boa的源代码。通过以下步骤完成其交叉编译: #tar—bxzf boa-0.94.1 3.tar. gz #cd./boa-0.94.13/src #./configure #vi./Makefile 修改CC=gcc为CC=arm-unknownlinux-gcc,CPP=gcc -E为CPP=arm-unknownlinux-cpp -E,保存退出。执行如下命令: #make #arm-linux-strip./boa 得到能在arm平台下的可执行文件boa,大小只有60KB 将可执行文件Boa下载到嵌入式设备后,还需对其进行一些配置。首先需要在/etc/boa目录下建立一个boa配置文件boa.conf。表1为Boa配置文件部分配置说明: 表1 Boa配置文件配置参数说明 【分页导航】 第1页: 系统体系结构 第2页: 物联网数据采集与处理子系统设计 第3页: 人机交互子系统-WEB服务器设计(1) 第4页: 人机交互子系统-WEB服务器设计(2) 3.3 通用网关接口CGI CGI是通用网关接口的简称。该接口定义了WEB服务器和其他可执行程序之间的通信接口标准。一般这些可执行程序我们也简称为CGI程序。在客户端浏览器上面,可以请求执行CGI程序,并会附带传送的参数。当服务器收到此请求后,执行对应的CGI程序,与此同时,会把来自客户端的传输传递给CGI程序。在服务器和CGI程序之间,他们足利用标准输入输出来实现参数传递和信息返回的。 在本物联网服务器的设计当中,CGI程序不仅仅与WEB服务器通信,它还需要和守护程序进行通信。由于守护程序是负责连接外围设备,并与之通信的,所以可以通过CGI程序来对外围设备进行通信。通过这样的通信过程实现了客户端与物联网设备终端的交互。其通信过程如下: (1)客户端利用TCP/IP协议和WEB服务器建立连接; (2)客户端利用HTTP协议发出URL指向一个CGI程序的请求; (3)服务器收到请求后,执行对应的CGI程序; (4)CGI应用程序执行,可以通过读取标准输入或环境变量(QUERY STRING)获取来自客户端的参数; (5)应用程序利用进行标准输出方式来输出返回结果给WEB服务器。 (6)WEB服务器将结果传送给客户端,完成整个请求返回过程。 3.4 网络应用程序的访问与控制 网站的访问和控制使用JavaScript语言,调用jQuery类库和利用AJAX技术,实现动态显示页面的效果。而页面的参数传递和CGI反馈都是使用JSON数据格式。 JSON即JavaScript Object Notation,它是一种轻量级的数据交换格式。本设计使用JSON数据格式中的”名称/值”对的集合为基本数据结构,它作为页面与CGI程序之间的参数传递和运算结果返回的数据格式。基本格式如下: {device:"value",model:"value",type:"value",data:“Value”} 利用jQuery类库,每隔1 s中通过请求./cgi-bin/web_cgi。得到请求结果作为当前状态。 4 总结 本文实现了一个基于ARM-Linux平台的通用物联网服务器的设计,本设计可以为用户提供通过WEB页面对物联网中数据采集的实时监测和控制功能,具有较好的实用意义。下一步将继续完善系统的功能,如:增加对更多传感器的支持,系统如何更方便地应用于不同的领域等,系统的安全性也有待完善。 【分页导航】 第1页: 系统体系结构 第2页: 物联网数据采集与处理子系统设计 第3页: 人机交互子系统-WEB服务器设计(1) 第4页: 人机交互子系统-WEB服务器设计(2)
  • 热度 2
    2014-5-20 02:42
    523 次阅读|
    0 个评论
      远程医疗是网络科技与医疗技术相结合的产物,随着我国经济的发展、科技的进步以及进入老龄化社会的需要,发展远程医疗已成为一种必然趋势。远程医疗从使用对象上可分为:面向医院的远程医疗系统和面向家庭的远程医疗系统。面向家庭的远程医疗系统的功能包括:远程“看医生”、远程监护、远程医学信息查询/咨询等。   国外的远程家庭医疗更加注重远程“看医生”,个人/ 患者在家中就可与医生进行实时语音、图像信息交流,可实现在线检测人体生理信号并给出诊断。这种系统是以视频会议系统为核心,但目前还难以在我国普及,原因一是该系统的价格太贵,一般家庭承受不起;原因二是受到通信信道带宽的限制,国外一般使用综合业务数字网(ISDN),而我国现在普及到家庭的是普通电话系统(POTS),尽管通过这也可实现双向视频传输,但在图像分辨率、每秒传输图像桢数等方面,难以达到远程医疗的要求。作为远程医疗的重要内容之一的远程监护,其传输的只是人体生理信号,其所需的通信速度通过普通电话线就可以满足。因此,考虑到我国互联网用户呈逐年增长趋势,发展远程监护更加符合我国国情。    系统结构与功能   系统采用B/S(Browser/Server,浏览器/服务器)模式设计,使用该模式的最大好处是减少开发工作量、运行维护比较简便。将B/S模式引入嵌入式网络设计,改变了过去需要同时开发上位机和下位机软硬件的做法,现在只需要在下位机(服务器端)的嵌入式设备中集成一个微型服务器,利用HTML(超文本标记语言)设计网页模块,就可在上位机(浏览器端)使用IE等浏览器接收和解析此模板,从而为用户提供一个视觉效果好、操作方便的工作界面。   首先基于ARM9处理器S3C2410A和嵌入式Linux操作系统,设计出支持嵌入式Web Server的开发平台,再通过移植嵌入式Web Server—boa,配合数据采集和处理等模块,构造一套适用于家庭的便携式远程医疗监护终端。在监护终端,利用生物电引导电极采用标准三导联方式将人体心电信号拾取出,经导联线传输到信号调理模块,经该模块的滤波、放大后得到初级的生物电信号,再经由S3C2410自带的ADC引脚送入Web服务器模块,心电信号在此模块中经过各种运算分析后得到反映心脏特征的信号, LCD上实时的显示心电波形和病人的个人信息,同时将心电信号存储于片外Flash ROM中,终端通过以太网口接入以太网,以实现与监控中心的远程交互。系统框图如图1所示。 图1  系统框图    硬件电路设计   信号调理电路模块   心电信号的检测是属于强噪声背景下的微弱信号检测,信号具有微弱、低频、高阻抗、不稳定和随机等特点。此信号的主要频率范围为0.05~100Hz, 幅值范围为0.5~5mV。微弱的心电信号还受到多种干扰,其特征被淹没在复杂的信号之中。又由于生物电引导电极在拾取人体电信号时与人体接触会产生极化电压。因此,为了满足检测要求,信号调理电路必须要较好的抑制各种干扰、不失真的放大心电信号。本设计中,信号调理电路模块主要包括前端电路、信号放大电路和陷波电路。电路框图如图2。 图2  信号调理电路框图    前端电路   前端电路作为信号调理电路的第一级,其功能主要是为了抑制环境中的干扰噪声、提高前置放大器的共模抑制能力。缓冲放大器一般采用电压跟随器实现,其缓冲隔离作用减小了生物信号源对放大器的过高要求,提高了电路的输入阻抗,减少心电信号衰减和匹配失真。使用屏蔽层驱动电路可以较好的去除导联线屏蔽层分布电容的不等量衰减造成对放大器总CMRR(共模抑制比)的影响。由于人体本身可通过各种渠道从环境中拾取工频50Hz交流电压,在心电测量中形成交流共模干扰,这种干扰常在几伏以上,采用右腿驱动电路后能够使50Hz共模干扰电压降到1%以下。电路图如图3。 图3  前端电路     信号放大电路   信号放大电路采用两级放大,如图4,差动放大U805为前置级,同相放大U809构成第二级。根据心电信号检测的特点,通常要求放大器具有高输入阻抗、高共模抑制比、低噪声、低漂移、非线性度小、合适的频带和动态范围的性能。前置放大器的输入电阻一般要求>2兆欧,输入电阻越大,因电极接触电阻不同而引起的波形失真越小,共模抑制比就越高。由于极化电压的存在, 为防止前置放大器工作于饱和或截止区,前置级的增益不能太高,实验表明放大10倍左右效果较好。因此选用仪表放大器MAX4196,该芯片可采用单电源供电,其功耗最低达到8mA,共模抑制比为115dB,输入偏移电压为50mV,-3dB带宽可达250kHz,输入阻抗为1000MW,增益固定为10(V/V)。 图4  两极放大和滤波电路   前置放大器部分总的共模抑制比为:   其中: 放大器闭环差模增益,Ac:共模增益,CMRRD:运放本身的值;CMRRR:外电路电阻匹配精度限定的CMRR,d:电阻精度。因此在电路中,要精确匹配外电路电阻R812=R813,以使共模输出变得更小。   主放大器采用MAX4197(特性与MAX4196一样),其增益固定为100(V/V)。信号调理电路的总放大倍数为1000倍。在图4中,电容C805具有去除极化电压功能,并与电阻R820构成高通滤波电路,用于抑制直流漂移和放大器通带外的低频噪声。    陷波电路   工频干扰是心电信号的主要干扰,虽然前端电路和前置放大器已对共模干扰具有较强的抑制作用,但有部分工频于扰是以差模信号进入电路的,且频率处于心电信号频带之内,加上电极和输入回路不稳定等因数,前级电路输出的心电信号仍然存在较强的工频干扰,因此必须将其滤除。本设计采用的是无限增益多路反馈型二阶陷波器,电路如图5。 图5  陷波电路    嵌入式Web服务器模块   考虑本系统定位于家庭使用,且系统需要连续长时间工作,又由于系统需要良好的人机交互环境、存储大量数据以及支持网络通信,所以要求处理器具有功耗低、成本低、丰富的接口和支持操作系统。本设计选用ARM9处理器S3C2410A,S3C2410A主要面向手持设备以及高性价比、低功耗的应用上。其CPU内核采用的是ARM公司的16/32位ARM920T RISC处理器。ARM920T实现了MMU、AMBA总线和Harvard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据Cache。S3C2410A集成的片上功能主要包括:1.8V/2.0V内核供电,3.3V存储器供电,3.3V外部I/O供电;外部存储器控制器;LCD控制器提供1通道LCD专用DMA; 8通道10位ADC接口,转换速率最大为500KSPS(Kilo Sample Per Second,千采样点每秒);117位通用I/O口和24通道外部中断源;电源控制模式包括正常、慢速、空闲和掉电4种模式;支持NAND Flash的启动装载。   对心电信号采样精度的考虑主要出于对ST段异常分析处理的要求,ST段电平变化约为0.05mV,因此采样精度至少为0.025mV。当采用10位A/D转换器工作在正极性、满刻度电压为2.5V时,可分辨的最小输入电压为2.5mV,而信号调理电路放大倍数为1000倍,则输入端的最小分辨率约为0.0025mV,故S3C2410A具有的10位A/D的精度完全满足系统需求。   为了使用户能够直观的观察心电和便于控制设备,设计采用东华公司的TFT彩屏YL-LCD35套件用于人机交互界面。为满足移植操作系统以及存储心电信号、网页等数据的要求,系统外扩了64M的NAND Flash(使用一片K9F1208UOB)和64M的SDRAM(使用两片HY57V561620)。为满足终端联网的需求,选用CS8900A用于设计网络适配器,CS8900A是一个真正的单芯片、全双工的以太网解决方案产品,更方便的是在Linux内核中提供有CS8900A适配器的驱动程序。    电源部分   为增加安全性、降低功耗、节省成本,设计采用9V碱性电池供电,通过电源转换芯片AS1117-3.3将9V转换为3.3V可供给放大器芯片和S3C2410使用。    软件设计   软件设计主要包括Linux的移植,嵌入式Web Server-Boa的移植,CGI(通用网关接口)程序的设计,功能程序的设计。 图6  系统软件框图    Linux的移植   本设计采用linux-2.4.18内核。正确进行Linux移植的前提是具备一个与Linux配套、易于使用的BootLoader,它能够正确完成硬件系统的初始化和Linux的引导。本系统中采用vivi,它是由韩国MIZI公司提供的一款针对S3C2410芯片的BootLoader。   Linux内核的目录/arch中包含了所有与硬件体系结构相关的内核移植代码,目录/arch中的每个子目录代表了一种Linux支持的处理器。移植Linux到S3C2410平台主要是修改/arch/arm目录及其子目录下相关的makefile文件和配置文件。例如:修改内核根目录下的Makefile文件,指明要移植的硬件平台为ARM:ARCH:=arm,指明使用的交叉编译器CROSS_COMPILE=/opt/host/armv41/bin/armv41-unknown-linux-;修改arm/arm目录下的config.in文件,配置S3C2410的相关信息;为初始化处理器,还需在arch/arm/boot/compressed目录下添加head-s3c2410.s文件。内核修改完成后,用命令make menuconfig配置Linux,再用make zImage命令编译内核,编译通过后则在目录arch/arm/boot下生成zImage内核文件,还需利用工具软件MKCRAMFS制作cramfs文件系统。最后,在minicom终端的vivi命令行下利用load命令将内核和文件系统下载到目标系统,至此移植完成。    Boa的移植和CGI程序设计   由于嵌入式设备资源有限,并且不需要同时响应多用户请求,因此一般使用一些专门的Web服务器用于嵌入式应用设计。Boa是单任务web服务器,源代码开放,性能高,支持CGI,能为CGI程序fork出一个进程来执行,其设计目标是速度和安全,可执行代码只有约60KB。移植Boa的过程如下:从sourceforge.net上下载 boa-0.94.13,在其解压目录下生成并修改makefile文件,然后运行make得到可执行程序,利用命令armv4l-unknown-linux-strip将调试信息剥去,然后修改Boa的配置文件boa.conf,使其能支持CGI程序的运行。最后将生成的可执行程序Boa挂载到目标系统,若能成功访问静态HTML网页和运行测试用的CGI程序,则表明配置成功。   通用网关接口CGI可将Web服务器连接到外部应用程序,它主要完成两件事情:一是收集从Web浏览器发送给Web服务器的信息,并将这些信息提供给外部程序利用;二是对提出请求的Web浏览器发送程序的输出。CGI具有平台独立性、语言独立性和层次感等优点。利用CGI程序则可以实时执行并输出动态信息,且其占用资源少。CGI程序的执行过程为:浏览器将表单数据以POST方法提交给Web服务器,服务器根据收到的数据设置环境变量,并新开一子进程来执行CGI程序,CGI程序从环境变量中读取所需要的数据,通过调用用户自定义的外部功能函数完成数据处理后,再读取相应的HTML模板文件,根据注释标记将对应的数据填充到HTML文件中,生成新的HTML页面经Web服务器返回给浏览器。   为快速开发符合应用要求的CGI程序,在设计时添加了CGIC库和gd库。CGIC是一个功能强大的支持CGI开发的开放源码的标准C库。Thomas Boutell编写的gd库是标准的C语言库,具有基本的绘图等功能。为实现在网页上动态显示心电波形,将每次采集的数据经过功能程序处理后存储的同时送给CGI程序,利用gd库提供的函数来创建图像。通过在网页模块上设定刷新时间(使用HTML语言的META标记),从而实现在网页上心电波形的动态显示。    主程序设计   主程序首先完成对系统的初始化,然后阻塞监听网络接口是否有连接请求,一旦客户端发出连接请求,则在服务器端产生中断;读取网络数据,然后对网络数据进行解析,这一步主要是解析HTTP协议,需要判断连接请求是否符合服务器规定的请求格式,判断是连接请求的请求方法,判断请求的文件是否存在服务器上,判断认证信息是否正确等等;在处理A/D采集的数据这一过程中,首先要将采集后的心电信号进行滤波处理,主要是抑制心电信号中的50Hz工频干扰,再完成滤波后,将数据送到本地的LCD上显示,同时将当前的数据以网页数据的格式发送到网口。    结语   本系统的设计定位于家庭医疗监护,通过在用于生理特征信息监测的嵌入式系统中集成Web服务器实现Internet的接入,从而实现用于远程家庭医疗的监护系统。其意义在于:设计出一套价格低且易于推广的远程家庭医疗监护系统,改变目前我国家庭医疗监护落后的状况;有效提高中老年人群心血管等慢性疾病的监护水平,有利于提高中老年人群突发疾病患者的整体救治率;为医疗机构提供大量有价值的我国中老年人群疾病的原始数据进行科研工作。
  • 热度 4
    2014-1-14 13:50
    434 次阅读|
    0 个评论
    2013年10月,Elektor 期刊介绍了XMEGA web服务器板,使用的网络模块是WIZnet WIZ820io。 这篇文章在欧洲地区已经用六种语言刊登出版,并对WIZnet产品产生了一定的市场效应。 这个项目介绍文章在这期82页的杂志中占据了11页。 下面是主标题,详述了这个模块和关于此项目的一些基本信息。 你可以在如下的其他页面看到WIZ820io模块更详细的信息。 期刊中很多的WIZnet相关参考如下: (1)由于篇幅原因没有办法在这里进行完整描述,但可以从韩国WIZnet原厂获得文档 。 驱动是用C编译的,广泛用于单片机,给应用代码提供一个接口(比如一个web服务器) == www.wiznet.co.kr/WIZ820IO (2) 现存的ElektorBus库, KöpLe的一个小显示库和WIZnet驱动都在"嵌入式固件库"的发展中扮演一定角色。 (3)WIZ820io 模块的socket, Elektor提供(#130076-91) 请看WIZnet820 全图 下面这些与接口相关: 久经考验的UART接口仍然用于最常见的板间通信。所需编程很简单,这是因为硬件UART已经在单片机中建好。更重要的是,还有许多转换器可用,例如RS-485和USB。我们的微处理器包括6个UART模块,其中三个在板上直接可用。 来自其中一个UART的信号PC2和PC3用于一个RS-485驱动设备,通过RS-485A和B引出了一个接线端子。 阅读全文,点击以下链接: 文章URL:http://www.elektor.com/products/kits-modules/modules-%28-91%29/120126-91-xmega-web-server-board.2562752.lynkx 如你想得到更多关于此项目和此模块的信息,请点击以下链接: http://www.elektor-labs.com/project/embedded-firmware-library-efl.12528.html http://www.elektor-labs.com/project/xmega-webserver-board.12454.html   查看更多WIZnet信息: WIZnet官方网站:http://www.wiznet.co.kr WIZnet官方微博:http://weibo.com/wiznet2012 
相关资源
  • 所需E币: 3
    时间: 2019-12-26 01:13
    大小: 71.59KB
    上传者: 微风DS
    嵌入式Web服务器的网络视频监控……
  • 所需E币: 3
    时间: 2019-12-26 01:12
    大小: 16.82KB
    上传者: 978461154_qq
    基于TCP_IP套接口的嵌入式Web服务器实现……
  • 所需E币: 4
    时间: 2019-12-25 21:07
    大小: 56KB
    上传者: 微风DS
    介绍一个适用于8/16位单片机的嵌入式TCP/IP协议栈(uIP)在发电机远程监测系统中的应用。重点阐述uIP的功能特性、体系结构和相关接口,并详细介绍如何在该协议栈上实现一个嵌入式Web服务器。目前uIP已成功地移植到51单片机上。……
  • 所需E币: 4
    时间: 2019-12-25 16:47
    大小: 246.73KB
    上传者: 2iot
    easyarm2210web服务器……
  • 所需E币: 4
    时间: 2019-12-25 10:31
    大小: 658.51KB
    上传者: 16245458_qq.com
    Linux概况及安装……
  • 所需E币: 3
    时间: 2019-6-3 20:52
    大小: 1.81MB
    上传者: royalark_912907664
    设计了一种基于boa嵌入式服务器的智能家居系统。采用ARMExynos4412作为核心处理器,并和以太网控制器DM9621组成硬件平台,并搭载多种外设。能够通过网络上的手机、电脑等终端实时监控室内状态,借助多个摄像头监控是否有非法侵入,控制智能家居的开关与启停,升降窗帘;借助各种传感器监测室内温度和湿度,感知窗外下雨状态,并在需要的时候发出报警。同时在系统LCD上实时显示所有监测项目。本系统具有较低的待机功耗、体积小便于安装调试以及性能强且灵活可扩展的优点,有较强的应用价值。
广告