基于web的嵌入式远程监控系统终结版资料下载.pdf
- 文档编号:5981646
- 上传时间:2023-05-05
- 格式:PDF
- 页数:32
- 大小:787.98KB
基于web的嵌入式远程监控系统终结版资料下载.pdf
《基于web的嵌入式远程监控系统终结版资料下载.pdf》由会员分享,可在线阅读,更多相关《基于web的嵌入式远程监控系统终结版资料下载.pdf(32页珍藏版)》请在冰点文库上搜索。
五、五、命题发出日期命题发出日期:
设计应完成日期设计应完成日期:
设计指导教师(签章)教研究室主任(签章)指指导导教教师师评评语语指导教师:
日期:
山东科技大学课程设计论文-2摘要摘要针对当前国内国外嵌入式服务器技术研究和发展状况的分析,本报告提出了将WEB服务器、嵌入式系统以及当前的一些嵌入式实验板板载功能进行融合的设计思想。
设计了结合WEB服务器技术的嵌入式监控系统。
该系统具有浏览交互式网页,对嵌入式平台进行监视和控制等功能。
通过本套嵌入式WEB服务器系统,用户可以通过HTTP协议方便的访问相应的嵌入式平台进行有效监视的同时还可以进行实时的有效控制。
该系统对硬件要求极低、响应速度快、安全性好、可扩展性强等优点,具有较高的实际应用价值。
该系统在智能家居、嵌入式组网等方面的应用将有较广阔的发展前途。
关键词关键词:
ARM嵌入式系统;
嵌入式web监控;
boa服务器;
CGI编程;
Linux操作系统山东科技大学课程设计论文-3AbstractAccordingtotheanalysisoftheresearchesaboutthestatusoftheembeddedserveroftheworld.WeriseadesignofaembeddedinternetcontrolsystembasedontheWebservicewhichintegratesthewebserver,embeddedtechnologyandthefunctionsontheembeddedexperimentBoard.Thissystemhasthefunctionofbrowsingthewebpages,monitoringtheembeddedBoardandsoon.WiththisembeddedWEBserver,theuserscanwatchtheembeddedsystemconvenientlyaccordingtheHTTPprotocol.Atthesametimetheuserscanalsomonitorthesystem.Thissystemhavealotoflongtageslikealowrequestofthehardware,limitedtimeofresponseandastablestatus.Wewillseethatthiskindofsystemusedintheapplicationofintelligentfamilyelectronics,embeddednetingandsoonwouldhaveagooddevelopment.Keywords:
ARMEmbeddedSystem;
EmbeddedWebServerSystem;
BoaServer;
CGIPrograming;
LinuxOperatingSystem山东科技大学课程设计论文-4目录目录11绪论绪论.111.1课题的提出.11.2研究目的和意义.11.3国内外发展现状.11.4课题主要研究内容及期望.21.5本次课程设计应解决的问题.222总体方案设计总体方案设计.332.1整体方案设计.32.2硬件系统设计.42.3软件环境选择.42.4小结.533硬件设计硬件设计.663.1系统硬件平台介绍.63.2s3c2410芯片介绍.63.3ARM处理器的外围设备.644软件设计软件设计.884.1设计思想.84.2BOA服务器的简介与搭建.84.3应用程序设计.104.4驱动程序设计.1255系统整体调试与分析系统整体调试与分析.14145.1linux平台下的调试.145.2嵌入式平台下的调试.145.3调试结果分析.1766设计总结设计总结.1919致谢致谢.2020参考文献参考文献.2121附录附录11主要程序清单主要程序清单.2222山东科技大学课程设计论文-111绪论绪论1.11.1课题的提出课题的提出嵌入式系统课程设计是本专业在学习完C语言、LINUX操作系统、嵌入式系统原理与接口设计、嵌入式操作系统原理之后的专业课程设计,属于专业课内容。
通过课程设计建立嵌入式系统主体环节,嵌入式系统的最小结构和系统应用设计基本技能,培养分析和解决一些简单的实际问题的能力,为今后毕业设计奠定基础。
随着嵌入式技术的发展和高速宽带网络的普及,利用网络实现远程监控已为人们广泛接受,嵌入式网络监控技术正是在此条件下逐步发展成熟起来的。
用户使用Web浏览器,通过以太网远程访问内置Web服务器的监控摄像机,不但可以实现对现场的远程视频监控,而且可以向监控现场发送指令。
在整个系统的实现过程中,嵌入式Web服务器起着十分重要的作用。
本课题就是基于该项技术,最终编程实现通过网络控制下位机嵌入式控制器的电机启动和停止。
1.21.2研究目的和意义研究目的和意义1、通过嵌入式课程设计,熟练掌握C语言的编程方法。
基于WEB的远程监控的实现,CGI的编写和使用,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过基于WEB的嵌入式远程监控系统的设计,掌握S3C2410实验箱,直流电机的工作原理,BOA服务器的使用,CGI的使用和简单程序的编写及调试方法,最终提高我们的动手实践能力。
3、本课题的研究目的是用BOA服务器、CGI、IE浏览器设计一个通过IE浏览器监控电机的系统,能够通过两个简单的按键对电机进行启动和停止的控制,并能够在IE浏览器上看到电机的当前状态。
4、由于基于WEB的嵌入式远程监控系统将成为今后远程监控技术发展的主流方向,所以需要设计出简单实用,让人们更满意的产品。
1.31.3国内外发展现状国内外发展现状网络技术和Web技术的飞速发展,正在改变着传统的监控方式。
采用Web技术通过Internet实现对工业现场进行远程监控是监控系统发展方向之一。
以嵌入式技术为核心,山东科技大学课程设计论文-2采用协议裁剪与小型化技术,设计了一个含有CGI接口的轻量级Web服务器,将底层设备通过Web方式接入互联网,实现了基于B/S方式的远程设备监控。
该方案界面友好、易于维护、扩展性好,与传统方法相比极大地扩展了人类控制设备的能力。
嵌入式远程监控技术为厂区内部局域网监控以及跨地区、跨省甚至跨国监控提供了一种新的有效的控制方法。
嵌入式远程监控系统的研究对于企业降低生产成本,提高劳动生产率以及增强企业的综合竟争实力等方面都具有十分重要的意义。
1.41.4课题主要研究内容及期望课题主要研究内容及期望本课题主要设计和研究基于WEB的嵌入式远程监控系统,要求在保证可靠运行的前提下,电路设计尽量简洁紧凑,以减小成本、提高系统的效率和安全性。
1.51.5本次本次课程设计应解决的问题课程设计应解决的问题1)设计系统网络方案2)分析网络程序结构和应用程序的使用方法3)编程实现嵌入式系统服务器功能4)编程实现嵌入式系统联网功能5)编程实现通过网络控制下位机嵌入式控制器的电机启动和停止山东科技大学课程设计论文-322总体方案设计总体方案设计2.12.1整体方案设计整体方案设计系统总体设计是基于嵌入式系统和WEB服务器结合的思想开发的,其网络拓扑结构如图2.1所示核心核心处理器处理器核心核心处理器处理器核心核心处理器处理器核心核心处理器处理器核心核心处理器处理器核心核心处理器处理器设备设备2设备设备1设备设备4设备设备3设备设备nWEB服务器WEB服务器WEB服务器WEB服务器交换机监控机图2.1系统网络拓扑图针对本次课程设计提出的系统设计如图2.2所示ARMARM99试验平试验平台台WEB服务器监控机图2.2系统方案框图山东科技大学课程设计论文-42.22.2硬件系统硬件系统设计设计核心处理器的选择核心处理器的选择核心处理芯片需要完成处理和支持整个系统的功能需求,通过运行BOA服务器要实施的接收来自各个客户端的请求和信息,并根据获得的请求和信息进行相应的后台处理以及信息的反馈。
为完成上述功能,实现服务器正常运行,对处理芯片进行选型,对比现有处理芯片的优缺点,选择ARM9S3C2410X芯片作为设计开发嵌入式服务器系统的核心处理芯片。
S3C2410X微处理器是一款由Samsung公司为手持设备设计的低功耗、高集成度的基于ARM920T核的微处理器,为了降低系统总成本和减少外围器件,这款芯片还集成了以下部件:
16KB指令Cache、16KB数据Cache、MMU、外部存储器控制器、LCD控制器、NANDFLASH控制器、4个DMA通道、3个UART通道、1个IIC总线控制器、1个IIS总线控制器、4个PWM定时器、1个内部定时器、通用IO口、实时时钟、8通道10位ADC和触摸屏接口、USB主、USB从、SD/MMC卡接口等。
2.32.3软件环境选择软件环境选择2.3.12.3.1操作系统的选择操作系统的选择当选定了硬件系统后,为了配合硬件达到系统的最优控制要求,对市面上常用的嵌入式系统进行分析比较。
(1)价格比较:
Linux是完全免费的操作系统,只需遵循GPL声明,不需支付任何费用;
WinCE是微软的商用嵌入式操作系统,使用它需要支付WinCE及其开发环境的费用,开发出来的每套产品也需交纳一定费用。
uc/osII系统,可以免费用于学习或科研,但开发商使用产品或销售都是收费的。
(2)开放性比较:
Linux是源代码完全开放的操作系统,可以自由下载,并且在遵循GPL声明的前提下可以自由地修改、移植,为系统的开发和调试带来极大的便利;
winCE是部分源码开放的商用操作系统,如果要修改其中的代码,需获得微软公司的授权;
uc/osII也是开放的实时操作系统。
(3)文件系统的比较:
Linux支持绝大部分文件系统,只需选择相应的文件系统即可;
WinCE仅支持Windows系列的FAT16、有限文件系统;
uc/osII本身没有包括文件系统,需购买或移植。
山东科技大学课程设计论文-5Linux与ARM处理器从以上可以看出,Linux系统在诸多方面都存在优势,而且本身的ARM处理器与Linux也有着紧密的联系。
因此采用Linux操作系统。
2.3.22.3.2服务器的选择服务器的选择典型的嵌入式Web服务器有Boa和thttpd两种,它们和Apache等高性能的Web服务器主要的区别在于它们一般是单进程服务器,只有在完成一个用户请求后才能响应另一个用户的请求,而无法并发响应,但这在嵌入式设备的应用场合里已经足够了。
Boa是一个非常小巧的Web服务器,可执行代码只有约60KB。
它是一个单任务Web服务器,只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。
但Boa支持CGI,能够为CGI程序fork出一个进程来执行。
Boa的设计目标是速度和安全,在其站点公布的性能测验中,Boa的性能要好于Apache服务器。
经过上述的对比和判断,选择Boa作为系统的嵌入式服务器。
2.42.4小结小结综合以上的讨论以及选择,根据系统的实际需求,最终确定了采用S3C2410X为核心处理器,Linux为嵌入式操作系统,boa为服务器以及相应的http浏览器的系统设计方案。
山东科技大学课程设计论文-633硬件设计硬件设计3.13.1系统硬件平台介绍系统硬件平台介绍我们所介绍的硬件平台是基于ARM体系结构,由北京博创兴业科技有限公司开发的UP-NetARM2410-S实验仪器。
UP-NetARM2410-S的CPU为ARM920T内核的三星S3c2410芯片,由于有MMU(内存管理单元)可以运行标准的ARM-LINUX内核。
通过这个平台,我们可以实现嵌入式LINUX中的针对无MMU的开发过程。
3.2s3c24103.2s3c2410芯片介绍芯片介绍图3.1芯片结构图3.3ARM3.3ARM处理器的外围设备处理器的外围设备3.3.13.3.1电源电路电源电路设备提供12v的电源,经LM1085-3.3V和AS1117-1.8V分别得到3.3V和1.8V的工作电压。
开发板上的芯片多数使用了3.3V电压,而1.8V是供给S3C2410内核使用的。
山东科技大学课程设计论文-75V电压供给LCD、电机、总线等电路使用。
图3.2电源电路3.3.23.3.2硬件复位电路硬件复位电路硬件复位电路由IMP811T构成,实现对电源电压的监控和手动复位操作。
2410-S主板复位电路设置专用逻辑:
IMP811T的复位电平可以使CPUJTAG(nTRST和板级系统(nRESET)全部复位;
来自仿真器的ICE_nSRST信号只能使板级复位;
来自仿真器的ICE_nTRST可以使JTAG(nTRST)复位,通过跳线选择是否使板级nRESET复位。
nRESET反相后得到RESET信号。
硬件复位电路如图3.3所示。
图3.3硬件复位山东科技大学课程设计论文-844软件设计软件设计4.14.1设计思想设计思想基于web的嵌入式监控系统设计主要的功能有简单的网页浏览,实现简单应用功能(客户端与服务器的交互)以及服务器端的控制功能。
因此软件的设计分为三个部分:
boa服务器的搭建、应用程序设计和驱动程序的加载。
4.24.2BOABOA服务器的简介与搭建服务器的简介与搭建4.24.2.1.1嵌入式嵌入式WebWeb服务器服务器BoaBoa的特点的特点Boa是一款单任务的HTTP服务器,与其他传统的Web服务器不同的是当有连接请求到来时,它并不为每个连接单独创建进程,也不通过复制自身进程来处理多链接,而是通过建立HTTP请求列表来处理多路HTTP连接请求,同时它只为CGI程序创建新的进程,这样就在最大程度上节省了系统资源,这对嵌入式系统来说至关重要。
同时它还具有自动生成目录、自动解压文件等功能,因此Boa具有很高的HTTP请求处理速度和效率,在嵌入式系统中具有很高的应用价值。
4.24.2.2Boa2Boa的功能实现的功能实现嵌入式Web服务器Boa和普通Web服务器一样,能够完成接收客户端请求、分析请求、响应请求、向客户端返回请求结果等任务。
它的工作过程主要包括:
(a)完成Web服务器的初始化工作,如创建环境变量、创建TCP套接字、绑定端口、开始侦听、进入循环结构,以及等待接收客户浏览器的连接请求;
(b)当有客户端连接请求时,Web服务器负责接收客户端请求,并保存相关请求信息;
(c)在接收到客户端的连接请求之后,分析客户端请求,解析出请求的方法、URL目标、可选的查询信息及表单信息,同时根据请求做出相应的处理;
(d)Web服务器完成相应处理后,向客户端浏览器发送响应信息,关闭与客户机的TCP连接。
嵌入式Web服务器Boa根据请求方法的不同,做出不同的响应。
如果请求方法为山东科技大学课程设计论文-9HEAD,则直接向浏览器返回响应首部;
如果请求方法为GET,则在返回响应首部的同时,将客户端请求的URL目标文件从服务器上读出,并且发送给客户端浏览器;
如果请求方法为POST,则将客户发送过来的表单信息传送给相应的CGI程序,作为CGI的参数来执行CGI程序,并将执行结果发送给客户端浏览器。
Boa的功能实现也是通过建立连接、绑定端口、进行侦听、请求处理等来实现的。
4.24.2.3.3BOABOA的搭建与移植的搭建与移植
(1)准备源代码、解压软件包,安装源代码到boa网站http:
/www.boa.org下载boa-0.94.13.tar.gz源代码,或者使用光盘的boa-0.94.13.tar.gz软件包。
$tarxzvfboa-0.94-13.tar.gz
(2)进入src目录,编译源代码。
解压后src目录下有Makefile.in文件,但没有Makefile文件,为了编译源代码,需要先生成Makefile文件,在src目录下运行configure命令即可。
$./configure生成的Makefile文件是针对X86平台的,为了生成能够在ARM上运行的boa,需要修改Makefile文件。
将Makefile的3132行内容:
CC=gccCPP=gccE应用(在交叉编译时使用):
CC=arm-linux-gccCPP=arm-linux-gccE然后输入make命令进行编译,在src目录下就会生成boa文件。
$make然后将该文件添加到文件系统中,重新下载文件系统。
如果不幸出现ickyLinuxkernelbug!
的错误,请将src下boa.c的第226行注释掉,重新编译下载即可。
225if(setuid(0)!
=-1)226/DIE(ickyLinuxkernelbug!
);
227(3)安装boa服务器山东科技大学课程设计论文-10主要是配置boa服务器。
boa启动时需要一个配置文件boa.conf,该文件的缺省目录由src/defines.h文件的SERVER_ROOT定义,或者在启动boa的时候通过参数-c指定。
其中指定的默认目录是:
/etc/boa/(4)登录boa服务器在PC机浏览器地址栏输入目标系统的IP地址(http:
/172.31.55.91),访问存在于目标系统中的网页。
4.34.3应用程序设计应用程序设计4.34.3.1.1程序设计依赖关系程序设计依赖关系通过对系统的分析以及对服务器的了解,系统确定了以下的软件开发系统方案,如图4.1所示Index.html/cgi-bin目录*.c*.cgi*.exe编译改名存储调用图4.1软件依赖关系山东科技大学课程设计论文-114.34.3.2.2应用程序流程图应用程序流程图乘法功能开始输入乘数,被乘数乘数是数字?
m=乘数输出出错信息n=被乘数被乘数是数字?
将m*n的结果输出NYNY图4.2乘法功能实现流程图程序段电机程序的流程图山东科技大学课程设计论文-12开始输入命令启动电机输入为start?
输入为stop?
停止电机输出错误信息输出电机已停止输出电机已启动YNYN图4.3电机部分流程图4.44.4驱动程序设计驱动程序设计驱动部分主要有两部分组成:
电机驱动和网卡驱动,其中以电机驱动为主。
由于在本套系统设计中,不可能每次开机都要由操作人员将驱动加入内核,这样既不方便又费时费力,所以系统采用将驱动编译进内核的模式。
4.44.4.1.1电机驱动电机驱动电机驱动程序流程1、开启设备时,配置IO口为定时器工作方式2、配置定时器的各控制寄存器3、在s3c2410_dcm_ioctl中提供调速功能接口4、应用程序dcm_main.c中调用5、实现直流电机速度的调整4.44.4.2.2驱动加载过程驱动加载过程以电机驱动为例:
1、编译直流电机模块山东科技大学课程设计论文-13cd/arm2410s/kernel-2410smakemenuconfig进入MainMenu/Characterdevices菜单,选择DCMOTOR模块加载:
编译内核模块:
makedepmakemakemodules直流电机模块的编译结果为:
/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o2、加载模块在超级终端中,通过加载NFS运行编译结果(注意:
首先要设定/arm2410s为NFS共享目录):
mounttnfs192.168.0.121:
/arm2410s/hostInsmod/host/kernel-2410s/drivers/char/s3c2410-dc-motor.o山东科技大学课程设计论文-1455系统整体调试与分析系统整体调试与分析系统的调试分了x86和arm架构下的调试,其中以进阶方式进行开发测试,根据实现难度分为三步:
第一步先实现简单的网页浏览,然后通过乘法操作的简单设计来实现人机交互最后通过电机控制的设计完成整个服务器监控系统的设计。
5.1linux5.1linux平台下的调试平台下的调试5.1.15.1.1简单网页浏览的调试与分析简单网页浏览的调试与分析结果结果:
网页正常显示分析分析:
遇到的问题主要集中在BOA服务器的搭建上,经过仔细学习参考资料成功解决了问题。
5.1.25.1.2基于基于webweb的乘法操作的调试与分析的乘法操作的调试与分析结果结果:
网页可以正常显示但在调试的开始阶段遇到了程序不能正常运行的问题,但经过同一起努力在两天后解决了问题。
分析分析:
存在的问题主要是服务器调用结构不理解导致的cgi程序无法正常调用,结果显示为乱码等问题,在正确理解了服务器、cgi-c编程的原理后,使网页能够正确运作。
5.1.35.1.3电机控制的调试与分析电机控制的调试与分析由于牵涉到硬件设备的调试所以在X86环境下只进行了程序的编写和编译,而没有实际的进行调试。
5.25.2嵌入式平台下的调试嵌入式平台下的调试5.2.15.2.1客户端与服务器交互客户端与服务器交互的调试与分析的调试与分析由于/etc目录只允许读不允许写,但我们搭建的BOA服务器的运行要求在/etc目录下有mime.types(用来指明不同文件的扩展名对应的MIME类型)并且还要在/etc/boa/下有相应的配置文件BOA.conf,则需要我们重新生成根文件系统等,将我们需要的文件填到相应的位置,然后再重新生成镜像文件并烧写文件系统。
最后在李文宏老师的帮助下完成烧写。
将编写好的html程序(名称改为index.html,因为这是输入地址后默认的访问文件)山东科技大学课程设计论文-15放到目录var/www下。
需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 web 嵌入式 远程 监控 系统 终结