基于WEB的远程控制(共12页).doc

上传人:飞****2 文档编号:15127540 上传时间:2022-05-11 格式:DOC 页数:12 大小:98KB
返回 下载 相关 举报
基于WEB的远程控制(共12页).doc_第1页
第1页 / 共12页
基于WEB的远程控制(共12页).doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《基于WEB的远程控制(共12页).doc》由会员分享,可在线阅读,更多相关《基于WEB的远程控制(共12页).doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上 嵌入式系统设计设计性实验报告 题目 基于web的远程控制设计 系 别 年 级 专 业 班 级 学 号 学生姓名 指导教师 实验时间 目 录前 言随着计算机技术和网络通信技术的飞速发展,人们日常生活和工业生产等方面对基于以太网进行远程通信和控制的要求日益强烈。现代实验设备由于其高度的精密和复杂性以及大量的信息获取和处理要求, 基本上涵盖网络化生产与商业的技术问题, 使得它成为一个非常好的前期模型。基于Web的远程控制对远程终端要求低,再加上互联网技术的普及,基于Web的远程控制这种方式将会广泛应用到工业设备远程监控,自动化农业,网络化信息家电,智能楼宇,远程安防监控系

2、统等。目前市场上虽已有成熟的Web服务器可供远程控制系统选择,但多是基于通用计算机或专用服务器,体积及成本不适合小型控制系统,尤其是在一些环境恶劣,不易值守或无法安装计算机控制系统的场所。如今嵌入式技术发展迅速,嵌入式处理器的性能不断提高,基于嵌入式的控制系统得到广泛应用。这个实验研究了基于Web 的远程控制实验系统的硬件和软件设计方法, 重点讨论了远程数据通信实现等关键技术, 并用计算机网络对Led灯的控制。引 言近年来,随着互联网在全球的飞速发展,网络技术广泛应用于各种企业和工业系统,越来越多的信息化产品需要能够接入互联网通过Web页面进行远程访问和控制。这种程序结构也就是大家非常熟悉的B

3、/S结构,即在 嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。基于Web的远程控制设计,我们首先需要在嵌入式设备上成功移植支持脚本或CGI功能的Web服务器,然后才能进行应用程序的开发。嵌入式Web服务器移植,我们常用的是Boa服务器的移植。课题要求1、 课题目的:在2440开发板上移植一个boa程序,使开发板可以作为一个WEB服务器使用。在PC计算机上使用浏览器测试嵌入式WEB服务器的功能。建立嵌入式系统的WEB服务功能(Boa服务器的建立参考实验“嵌入式WEB服务器实验”说明),利用W

4、EB页远程控制嵌入式系统中的硬件状态,如控制Led等的点亮、熄灭等动作。2、 运行环境: 硬件:up-Star 认证考试实践板、PC 机Pentium 500 以上, 硬盘10G 以上。软件:PC 机操作系统REDHAT LINUX 9.0MINICOMARM-LINUX 开发环境正 文一、 课题分析:这个实验基于Web的远程控制系统是以嵌入式Web服务器为中心,通过Internet网远程访问嵌入式Web服务器,嵌入式Web服务器通过现场总线控制各个LED灯,以达到远程监控的目的,实现PC机的浏览器可通过Internet网访问嵌入式Web服务器。通过对嵌入式系统的结构形式主要有通用平台、系统架

5、构、硬件架构、软件架构以及硬件、软件的设计方案介绍,系统的将现场数据采集设备、本地Web服务器和远端监控主机三部分构成的基于Web的远程控制系统做了较为全面的介绍和设计。二、 实验原理: 基于web 的远程控制系统开发步骤如下:1、建立可用的软件开发环境;2、移植Boa 服务器;3、开发所需的驱动程序;4、编写html 页面;5、编写CGI 程序,实现远程控制;6、登陆服务器,测试系统功能。三、 系统设计:1、配置BOA 服务器:(1) 依照实验要求编译BOA 服务器,并生成可执行文件BOA,并且在开发板的/var的文件下建立实验所需的文件夹及文件。拷贝Boa源码目录下已有的一个示例boa.c

6、onf,并在其基础上进行修改:Port 80#Listen 192.68.0.5User rootGroup 0#ServerAdmin rootlocalhostErrorLog /var/web_boa/log/error_logAccessLog /var/web_boa/log/access_log#UseLocaltime#VerboseCGILogsServerName www.your.org.here#VirtualHost DocumentRoot /var/web_boa/wwwUserDir public_htmlDirectoryIndex index.htmlDire

7、ctoryMaker /usr/lib/boa/boa_indexer# DirectoryCache /var/spool/boa/dircacheKeepAliveMax 1000KeepAliveTimeout 10MimeTypes /var/web_boa/mime.typesDefaultType text/plainCGIPath /bin:/usr/bin:/usr/local/binAlias /doc /usr/docScriptAlias /cgi-bin/ /var/web_boa/www/cgi-bin/(2)利用挂载功能将BOA 执行文件复制到开发板/var的文件夹

8、下;(3)利用挂载功能将boa.conf文件复制到开发板/var的文件夹下。在/var下建立web_boa目录等,根据boa.conf文件中的内容相应创建需要的目录。另外,在虚拟机的/etc目录下拷贝mime.types文件到开发板。将生成的执行文件boa、pass.cgi及index.html文件传到开发板指定目录(boa.conf文件中指定)。(4)运行boa文件up-tech: #cd /varup-tech:/var#./boa打开浏览器输入开发板的IP地址运行程序2、CGI原理及程序设计与编写(1)CGI程序编写(详细程序见附件1)for ( i = 0; i (int)strlen

9、(input); i+ ) if ( inputi = V ) j=inputi+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); ioctl(fd, 0, 2); if(j=3) ioctl(fd, 0, 0); ioctl(fd, 0, 1); ioctl(fd, 1, 2); close(fd); printf(Your POST Message is %s n, input); return 0;(2)CGI文件的生成在虚拟机的

10、终端环境中打开文件所在的文件夹输入arm-linux-gcc -o pass.cgi pass.c3、网页文件index.html设计(1)网页(html文件)设计(见附件2)(2)利用挂载功能将文件复制到开发板的/var/web_boa/www的文件夹下(3)运行结果4、LED灯的驱动驱动的编译:make modules;将驱动程序下载到开发板上;加载驱动程序命令: insmod 驱动名;手动创建设备节点:mknod /dev/led c 231 0。四、 实验现象 连好实验设备后,执行boa,在远程联网计算机上通过浏览器输入开发板IP,就可以远程控制实验板上led灯的亮灭。按0即第一个灯亮

11、,按1即第二个灯亮,按2即第三个灯亮。五、 实验注意点及问题1、实验注意点:(1)容量较大的文件上传到开发板要用ftp。如果需要用挂载则要将nolock改为nolock rsize=1024,wsize=1024这样才能顺利的上传。(2)生成文件夹mkdir *,生成文件touch *。(3)文件的移动:mv 文件的复制:cp(4) CGI文件的生成:arm-linux-gcc -o pazss.cgi pass.c2、问题:(1)挂载挂不上:可能是没连接开发板,也可能是本地网络连接禁用错误的原因。(2)压缩包的解压缩:解压缩时我们不能像平常一样直接右击解压缩到当前文件,而是应该将压缩包拷到自

12、己文件下,用rootlocalhost webserver#tar zxvf boa-0.94.13.tar.gz 。(3)Boa执行后打不开网页或者打开网页错误:可能是网页出现了错误,也许是cgi自身出了问题,或是配置文件的路径发生了错误,这些问题可以通过检查路径和文件解决。(4)无法控制Led灯:最可能的原因是未添加Led灯的驱动,异是Led灯的驱动程序出现错误。(5)开发板ping出错:1.自动桥接 2.换个IP地址再激活。(6)源文件的拷贝:实验过程中,一些源文件在虚拟机上修改以后,应该重新将其加载到开发板上,并将原来的文件覆盖掉。总结体会此次实验课题是基于web的远程控制设计。通过本

13、次实验,我熟悉了基于Web下远程控制Led的方法,对CGI原理有了进一步了解,掌握了BOA的移植方法。这次实验是嵌入式实验的最后一个综合性设计实验,前前后后经历了两周时间。第一周我只是大概了解了一下整个过程,完成了网页的设计,和boa的移植。因为课前预习了实验讲义,所以过程还是顺利的。第二周根据我们课前编好的CGI代码,进行实验的整体操作。在这个过程中问题还是蛮多的。然而我通过询问老师还有同学以及自己的查资料,更多地了解嵌入式的一些基本术语还有这些术语的作用,以及在什么时候使用它改如何使用它。还有就是当我遇到问题或麻烦的时候我该怎样去解决问题,我该怎么运用我所学的知识走出这个谜团,以及以最好的

14、方式解决当前的问题。通过这次实验我总结了要如何学习嵌入式。首先要保持良好的心态,不能急于求成,要一步一个脚印的坚持;然后要有清晰的学习规划,明确学习步骤,明确先学什么,再学什么,比如C语言是学习嵌入式的基础,所以在学习时必须要踏踏实实,把地基给打好;最后要有良好的学习氛围。嵌入式学习的难度和高度决定了嵌入式的学习要有个良好的学习讨论氛围,不能一味自己闷头学,要多去讨论和探讨或是想老师寻求答案但自己一定要明白其中的道理,汲取大家的智慧才能更好的提高。在整个学期中,虽然嵌入式很难学习,很难掌握,但我还是挺喜欢嵌入式的,因为它可以带给我许多接触不到的事物,也渐渐习惯了看满屏代码的感觉。希望如果有机会

15、还能对嵌入式有所学习。附件1:CGI程序 #include #include #include char* getcgidata(FILE* fp, char* requestmethod);int main() char *input; char *req_method; / char led1064; char led264; char a; int i = 0; int j = 0; int fd; printf(Content-type: text/plain; charset=iso-8859-1nn); printf(Content-type: text/htmlnn); prin

16、tf(The following is query reuslt:); fd = open(/dev/led, 0); if (fd 0) perror(open device /dev/led); exit(1); ioctl(fd, 1, 0); req_method = getenv(REQUEST_METHOD); input = getcgidata(stdin, req_method); /根据input中的字符串信息确定led灯的点亮关闭 /以下补充完善代码 for ( i = 0; i (int)strlen(input); i+ ) if ( inputi = V ) j=i

17、nputi+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); ioctl(fd, 0, 2); if(j=3) ioctl(fd, 0, 0); ioctl(fd, 0, 1); ioctl(fd, 1, 2); close(fd); printf(Your POST Message is %s n, input); return 0;char* getcgidata(FILE* fp, char* requestmethod) cha

18、r* input; int len; int size = 1024; int i = 0; if (!strcmp(requestmethod, GET) input = getenv(QUERY_STRING); return input; else if (!strcmp(requestmethod, POST) len = atoi(getenv(CONTENT_LENGTH); input = (char*)malloc(sizeof(char)*(size + 1); if (len = 0) input0 = 0; return input; while(1) inputi = (char)fgetc(fp); if (i = size) inputi+1 = 0; return input; -len; if (feof(fp) | (!(len) i+; inputi = 0; return input; i+; return NULL;附件2:网页(html文件)程序Led远程控制  嵌入式LED远程控制系统亮灯位置0 1 2   设计性实验报告成绩: 指导教师签名: 专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁