新闻中心

EEPW首页>嵌入式系统>设计应用> 以ARM7为核心的嵌入式工控网络设计

以ARM7为核心的嵌入式工控网络设计

作者: 时间:2010-10-09 来源:网络 收藏

3工控Web服务器的实现
3.1Web服务器的基本实现
Web服务器可基于Socket套接字来开发,它主要由初始化模块、监听模块、请求解析模块、脚本引擎模块、输出模块和命令模块等组成,各模块之间的关系如图4所示。

12d.JPG


μClinux下主要有三个Web服务器:httpd、thttpd和Boa。其中httpd是最简单的一个Web服务器,它的功能最弱,不支持认证,不支持CGI。thttpd和Boa都支持认证、CGI等。功能都比较齐全。其中boa是一个单任务的http服务器,源代码开放,性能比较高,占用系统资源也比较少。boa服务器在接收到请求时,不启动多个服务器进程处理多个请求,而在一个进程内处理所有服务请求。为了实现动态Web技术,可选择实现一个支持CGI的、非常适合于嵌入式系统的Boa WebServer。然后再通过CGI用C语言进行编程,就可以实现动态WEB。
3.2 boa Web Server的移置
boa是一个单任务的http服务器,源代码开放、性能高。目前,μC1inux的代码中已经包含boa的源代码。在μClinux下实现Boa时,需要对Boa做一些配置和修改。boa服务器的核心文件主要有boa.conf和mime.types,本设计主要通过对boa.conf和mime.types文件进行修改来实现。
3.3 编译内核
配置过程完成后,便可重新编译内核。编译时先选中Boa选项,并把编译好的内核下载到开发板,再启动μClinux,完成IP配置,启动BoaWeb Server,然后就可以通过IE访问你的网页了。如果想启动μClinux时自动启动Boa Web Server,则可修改rc文件,并进入/μClinux-ams ung/ven-dors/Samsung/S3C44BOX目录,再在运行脚本rc中增加如下两行:
“ifconfig eth0 192.168.1.10
boa-c/home/”
修改后,重新编译内核,再下载到目标系统运行。这样,运行μClinux后,不需要配置就可以直接通过IE来访问网页了。
3.4 μClinux下的CGI监控技术
通过CGI(通用网关接口)可为Web服务器提供一个执行外部程序的通道,这种服务端技术可使浏览器和服务器之间具有交互性。CGI程序属于外部程序,需要编译成可执行文件才能在服务端运行。浏览器可将用户输入的数据送到Web服务器,Web服务器再将数据用STDIN送给CGI程序。在执行CGI程序后,还会访问存储数据的一些文档,最后使用STDOUT输出HTML形式的结构文件,再经Web服务器送回浏览器,即可显示给用户。
若CGI程序是本地程序,也需要编译成可执行文件,以便在被CGI调用时运行。Web服务器将用户数据传输给CGI程序,并重定向CGI程序的输出到Web页,这样,CGI程序在处理时,再将数据封装成HTML形式发送到输出,从而在客户端看到对应的Web页。
访问者可通过CGI程序远程控制数码管(模拟工业现场的控制),并显示相应的数字。在CGI程序的编写中,每个程序的大致框架都比较类同,其CGI程序流程如图5所示,它主要是遵循HTTP协议的通讯。也包括对输入输出的读写和控制。

12e.JPG


3.5 嵌入式工业监控系统的应用
基于Internet的远程监控有代理方案和嵌入式方案两种实现方案。两种实现方案均采用三层B/S体系结构,即表示层、应用逻辑层和数据层。三层B/S体系结构可避免两层体系结构中客户端程序单独实现应用逻辑而产生的冗余;应用逻辑可在应用逻辑层上而不是在客户层上实现。由于表示层与应用逻辑相分离,因而降低了网络传送的信息量,使系统具有更高的可伸缩性、可维护性和灵活性。本文讨论的嵌入式方案的基本结构如图6所示。

12f.JPG

4 结束语
本文推出的方案对每台现场设备均配有微型嵌入式Web服务器,可负责对现场设备进行数据采集、数据存储、数据转发以及与监控主机进行数据的交互。该方案的优点是实时性强、可靠性高、现场设备的数量不受限制等。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

关键词:嵌入式

评论


相关推荐

技术专区

关闭