基于WEB的远程控制Word文件下载.docx

上传人:b****7 文档编号:22365483 上传时间:2023-02-03 格式:DOCX 页数:13 大小:69.85KB
下载 相关 举报
基于WEB的远程控制Word文件下载.docx_第1页
第1页 / 共13页
基于WEB的远程控制Word文件下载.docx_第2页
第2页 / 共13页
基于WEB的远程控制Word文件下载.docx_第3页
第3页 / 共13页
基于WEB的远程控制Word文件下载.docx_第4页
第4页 / 共13页
基于WEB的远程控制Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于WEB的远程控制Word文件下载.docx

《基于WEB的远程控制Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于WEB的远程控制Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

基于WEB的远程控制Word文件下载.docx

up-Star认证考试实践板、PC机Pentium500以上,硬盘10G以上。

软件:

PC机操作系统REDHATLINUX9.0+MINICOM+ARM-LINUX开发环境

正文

#UseLocaltime

#VerboseCGILogs

ServerNamewww.your.org.here

#VirtualHost

DocumentRoot/var/web_boa/www

UserDirpublic_html

DirectoryIndexindex.html

DirectoryMaker/usr/lib/boa/boa_indexer

#DirectoryCache/var/spool/boa/dircache

KeepAliveMax1000

KeepAliveTimeout10

MimeTypes/var/web_boa/mime.types

DefaultTypetext/plain

CGIPath/bin:

/usr/bin:

/usr/local/bin

Alias/doc/usr/doc

ScriptAlias/cgi-bin//var/web_boa/www/cgi-bin/

(2)利用挂载功能将BOA执行文件复制到开发板/var的文件夹下;

(3)利用挂载功能将boa.conf文件复制到开发板/var的文件夹下。

在/var下建立web_boa目录等,根据boa.conf文件中的内容相应创建需要的目录。

另外,在虚拟机的/etc目录下拷贝mime.types文件到开发板。

将生成的执行文件boa、pass.cgi及index.html文件传到开发板指定目录(boa.conf文件中指定)。

(4)运行boa文件

up-tech:

~#cd/var

/var#./boa

打开浏览器输入开发板的IP地址运行程序

2、CGI原理及程序设计与编写

(1)CGI程序编写(详细程序见附件1)

for(i=0;

i<

(int)strlen(input);

i++)

{

if(input[i]=='

V'

j=input[i+1];

}

}

if(j=='

1'

{

ioctl(fd,1,0);

ioctl(fd,0,1);

ioctl(fd,0,2);

if(j=='

2'

ioctl(fd,0,0);

ioctl(fd,1,1);

3'

ioctl(fd,0,1);

ioctl(fd,1,2);

close(fd);

printf("

YourPOSTMessageis%s<

br>

<

\n"

input);

return0;

(2)CGI文件的生成

在虚拟机的终端环境中打开文件所在的文件夹

输入arm-linux-gcc-opass.cgipass.c

3、网页文件index.html设计

(1)网页(html文件)设计(见附件2)

(2)利用挂载功能将文件复制到开发板的/var/web_boa/www的文件夹下

(3)运行结果

4、LED灯的驱动

驱动的编译:

makemodules;

将驱动程序下载到开发板上;

加载驱动程序命令:

insmod驱动名;

手动创建设备节点:

mknod/dev/ledc2310。

一、实验现象

连好实验设备后,执行boa,在远程联网计算机上通过浏览器输入开发板IP,就可以远程控制实验板上led灯的亮灭。

按0即第一个灯亮,按1即第二个灯亮,按2即第三个灯亮。

二、实验注意点及问题

1、实验注意点:

(1)容量较大的文件上传到开发板要用ftp。

如果需要用挂载则要将nolock改为nolockrsize=1024,wsize=1024这样才能顺利的上传。

(2)生成文件夹mkdir***,生成文件touch***。

(3)文件的移动:

mv文件的复制:

cp

(4)CGI文件的生成:

arm-linux-gcc-opazss.cgipass.c

2、问题:

(1)挂载挂不上:

可能是没连接开发板,也可能是本地网络连接禁用错误的原因。

(2)压缩包的解压缩:

解压缩时我们不能像平常一样直接右击解压缩到当前文件,而是应该将压缩包拷到自己文件下,用[root@localhostwebserver]#tar–zxvfboa-0.94.13.tar.gz。

(3)Boa执行后打不开网页或者打开网页错误:

可能是网页出现了错误,也许是cgi自身出了问题,或是配置文件的路径发生了错误,这些问题可以通过检查路径和文件解决。

(4)无法控制Led灯:

最可能的原因是未添加Led灯的驱动,异是Led灯的驱动程序出现错误。

(5)开发板ping出错:

1.自动桥接2.换个IP地址再激活。

(6)源文件的拷贝:

实验过程中,一些源文件在虚拟机上修改以后,应该重新将其加载到开发板上,并将原来的文件覆盖掉。

总结体会

此次实验课题是基于web的远程控制设计。

通过本次实验,我熟悉了基于Web下远程控制Led的方法,对CGI原理有了进一步了解,掌握了BOA的移植方法。

这次实验是嵌入式实验的最后一个综合性设计实验,前前后后经历了两周时间。

第一周我只是大概了解了一下整个过程,完成了网页的设计,和boa的移植。

因为课前预习了实验讲义,所以过程还是顺利的。

第二周根据我们课前编好的CGI代码,进行实验的整体操作。

在这个过程中问题还是蛮多的。

然而我通过询问老师还有同学以及自己的查资料,更多地了解嵌入式的一些基本术语还有这些术语的作用,以及在什么时候使用它改如何使用它。

还有就是当我遇到问题或麻烦的时候我该怎样去解决问题,我该怎么运用我所学的知识走出这个谜团,以及以最好的方式解决当前的问题。

通过这次实验我总结了要如何学习嵌入式。

首先要保持良好的心态,不能急于求成,要一步一个脚印的坚持;

然后要有清晰的学习规划,明确学习步骤,明确先学什么,再学什么,比如C语言是学习嵌入式的基础,所以在学习时必须要踏踏实实,把地基给打好;

最后要有良好的学习氛围。

嵌入式学习的难度和高度决定了嵌入式的学习要有个良好的学习讨论氛围,不能一味自己闷头学,要多去讨论和探讨或是想老师寻求答案但自己一定要明白其中的道理,汲取大家的智慧才能更好的提高。

在整个学期中,虽然嵌入式很难学习,很难掌握,但我还是挺喜欢嵌入式的,因为它可以带给我许多接触不到的事物,也渐渐习惯了看满屏代码的感觉。

希望如果有机会还能对嵌入式有所学习。

附件1:

CGI程序

#include<

stdio.h>

#include<

stdlib.h>

string.h>

char*getcgidata(FILE*fp,char*requestmethod);

intmain()

{

char*input;

char*req_method;

//charled[10][64];

charled2[64];

chara;

inti=0;

intj=0;

intfd;

printf("

Content-type:

text/plain;

charset=iso-8859-1\n\n"

);

text/html\n\n"

Thefollowingisqueryreuslt:

"

fd=open("

/dev/led"

0);

if(fd<

0)

{

perror("

opendevice/dev/led"

exit

(1);

}

ioctl(fd,1,0);

req_method=getenv("

REQUEST_METHOD"

input=getcgidata(stdin,req_method);

//根据input中的字符串信息确定led灯的点亮关闭

//以下补充完善代码

for(i=0;

{

if(input[i]=='

j=input[i+1];

}

if(j=='

ioctl(fd,0,1);

ioctl(fd,0,2);

if(j=='

ioctl(fd,0,0);

ioctl(fd,1,1);

ioctl(fd,1,2);

close(fd);

return0;

}

char*getcgidata(FILE*fp,char*requestmethod)

char*input;

intlen;

intsize=1024;

if(!

strcmp(requestmethod,"

GET"

))

input=getenv("

QUERY_STRING"

returninput;

elseif(!

POST"

len=atoi(getenv("

CONTENT_LENGTH"

));

input=(char*)malloc(sizeof(char)*(size+1));

if(len==0)

input[0]='

\0'

;

while

(1)

input[i]=(char)fgetc(fp);

if(i==size)

input[i+1]='

--len;

if(feof(fp)||(!

(len)))

i++;

input[i]='

returnNULL;

附件2:

网页(html文件)程序

html>

head>

title>

Led远程控制<

/title>

/head>

body>

formname="

form1"

action="

/cgi-bin/pass.cgi"

method="

>

palign="

center"

&

nbsp;

b>

fontsize="

4"

<

/font>

5"

嵌入式LED远程控制系统<

/b>

/p>

fieldsetstyle="

width:

300;

height:

40;

padding:

20"

/legend>

200;

2"

legend>

亮灯位置<

inputtype="

radio"

value="

V1"

checkedname="

R1"

0&

V2"

1&

V3"

2&

/fieldset>

tablealign="

width="

130"

tr>

tdalign="

left"

/td>

/tr>

tdwidth="

101"

height="

60"

submit"

执行"

/table>

/form>

/body>

/html>

设计性实验报告成绩:

指导教师签名:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1