1 概述
随着互联网应用的普及,越来越多的信息化产品需要接入互联网通过web页面进行远程访问。嵌入式web系统提供了一种经济、实用的互联网嵌入式接入方案。这里结合一种嵌入式web server boa来介绍嵌入式linux系统下的cgi程序设计技术。
2 web server boa的实现与配置
2.1 uclinux下,主要有三个web server:httpd、thttpd和boa。
httpd 是最简单的一个web server,它的功能最弱,不支持认证,不支持cgi。thttpd和boa都支持认证、cgi等,功能都比较全。boa是一个单任务的小型http服 务器,源代码开放、性能优秀,特别适合应用在嵌入式系统中。目前的uclinux的代码中已经包含boa的源代码。在uclinux下实现boa,只需要 对boa做一些配置和修改。以下是配置的过程。
(1)编译boa到内核
首先,需要把boa编译到内核,即执行make menuconfig,在应用程序选单中network application项下面选择boa。该操作需要重新编译内核。
(2)编制配置文件boa.conf
在linux操作系统下,应用程序的配置都是以配置文件的形式提供的,一般都是放在目标板/etc/目录下或者/etc/config目录下。但boa的配置文件boa.cont一般都旋转在目标板/home/httpd/目录下。
例如,一个典型的boa.conf文件格式如下:
servername samsung-arm
documentroot/home/httpd
scriptalias/cgi-bin/home/httpd/cgi-bin/
scriptalias/index.html/home/httpd/index.html 它指定了html页面必须放到/home/httpd目录下,cgi外部扩展程序必须放到/home/httpd/cgi-bin目录下。
(3)编译烧写内核
重 新编译内核后,通过烧写工具烧写内核,就可以在pc上通过ie浏览器访问开发板上的web server。例如,输入开发板的ip地址http://192.168.0.101,即可访问到自己做的网页index.html了。并且,通过编写 cgi外部扩展程序,可以实现动态web技术,下面将详细介绍。
2.2 具有mmu平台的linux下b0a的实现与配置
对于有mmu(内存管理单元)的平台,如armlinux和ppclinux,可以到网上下载一个主流版本的boa发行包。因为是运行在目标系统,所以要用交叉编译工具编译,即需要修改boa/src/makefile里面的编译器。例如:
cc=/linuxppc/cdk/bin/powerpc-linux-gcc
cpp=/linuxppc/cdk/bin/powerpc-linux-g++ 然后直接在boa/src目录下执行make,即可生成boa可执行文件;将其编译入内核,并烧写到存储设备,就可以实现访问boa服务器。
3 cgi程序设计技术
cgi(common gateway interface)是外部应用扩展应用程序与www服务器交互的一个标准接口。按照cgi标准编写的外部扩展应用程序可以处理客户端浏览器输入的数据, 从而完成客户端与服务器的交互操作。而cgi规范就定义了web服务器如何向扩展应用程序发送消息,在收到扩展应用程序的信息后又如何进行处理等内容。通 过cgi可以提供许多静态的html网页无法实现的功能,比如搜索引擎、基于web的数据库访问等等。
3.1 工作原理
国美K1评测 超额完成任务价格略高
跨界融合将是未来智能家电行业发展的主要趋势
多核网络处理器及其开发考虑
中国光伏组件彻底摆脱“三头在外”困扰
dfrobot高速双向直流电机(红色)简介
嵌入式Linux操作系统CGI程序设计技术
苏宁焕新节12小时订单量增长164%,悟空榜揭露消费趋势
CANopen通信系统基础知识分享
LTE迈入全电调时代
使用74LS164的并行输出端接8支发光二极管
采用UBA2025功率Ic的23w节能灯镇流器,UBA2025 CFL Ballast
5G下中国手机配件行业或将迎来“春天”,预计2025年销售额将超1万亿
彩色电视机的高压嘴打火的维修
高通骁龙670:“2+6”八核,标准频率430-650Mhz
微型空气自动监测站哪家好
音圈电机可在低温环境下工作?
5G时代下 智能网联汽车赋能新的商业模式
谷歌发布TensorFlow用于人工智能模型的隐私保护
中国PCB制造业在全球顶级制造商排名占有比例更高
扣式电池高低温箱的作用与用途