基于嵌入式网络设备的远程监控系统设计(样例5)

时间:2019-05-13 01:13:26下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《基于嵌入式网络设备的远程监控系统设计》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《基于嵌入式网络设备的远程监控系统设计》。

第一篇:基于嵌入式网络设备的远程监控系统设计

基于嵌入式网络设备的远程监控系统设计

摘要: 针对目前大量嵌入式网络设备应用于工业控制的监控领域,监控网络的性能、带宽、成本成为目前工业控制领域普遍关心的问题。而影响这一性能的是核心控制服务器的管理及设计结构优劣,为此本文提出了一个适于通用嵌入式设备的网络远程监控系统服务器结构,分析了该服务器需要提供了功能需求,其中重点研究了该网络监控系统的通信协议、嵌入式技术和现场总线技术等。

关键词: 嵌入式;监控;服务器;网络设备;工业控制前言

随着控制、计算机、通信、网络等技术的发展,信息交换沟通的领域迅速扩大,覆盖了从企业的现场设备到控制、管理的各个层次,从工段、车间、工厂、企业乃至世界各地的市场。所以,如何更好的实现企业内现场控制、过程监控、经营管理、市场管理等各层次的汇通和数据共享,即实现“管理监控一体化”,是各个企业迫切需要解决的问题。工业控制网络和 Internet的无缝连接能够促进企业的网络化发展,顺应工业监控系统的发展潮流,具有强大的社会推动力和生命力。

嵌入式系统与网络技术的结合是顺应着低成本、高性能、网络化的时代潮流,是嵌入式系统迅速发展的方向,开创着嵌入式技术的美好未来。嵌入式系统与网络技术结嵌入式网络设备服务器联网系统的研究与实现,就是开发基于TCP/IP协议栈的Internet互联的嵌入式系统,即嵌入式Internet设备。它可以实现远程监控、管理、诊断和维护现场设备,实现各种智能设备,例如家用电器、工业控制装置或仪器、安全监控系统、汽车电子等与Internet网络的互联。

如果在工业控制网络体系结构的纵向上,可以实现工业控制网络和Internet网络的无缝连接,那么整个工控网络就好像只有一种通信协议,可以满足控制系统各个层次的要求,实现生产、管理和控制一体化。如果在工业网络体系结构的横向上,可以使多种工业控制网络统一协议标准,那么企业生产底层具有各种总线类型接口的现场仪表和设备就可以通讯,实现设备无差别化。嵌入式设备服务器组成结构

嵌入式网络设备服务器广泛应用于工业控制领域,实现对工业现场设备和仪器仪表的监控。针对各种工业现场的不同应用需求,嵌入式网络设备服务器在设计时按用途分为两大类,一类适用于对系统成本敏感,数据量少,对通讯指标要求低的场合,价格低廉、货源充足的8/16位嵌入式控制器是首选,即低端嵌入式服务器系统;另一类适用于数据量大,对通讯的实时性和可靠性要求高的场合,性价比高的16/32位的嵌入式微处理器是最佳选择,即中高端嵌入式服务器系统。因此,在设计前期需要考虑系统的应用环境,选择合适的方案最大程度的满足工业现场各方面的需求。

在嵌入式网络设备服务器联网系统的软件设计上,完成服务器和网络接口功能的是嵌入式HTTP协议、EGI接口函数、嵌入式TCP/IP协议栈、异构协议转换程序、网络芯片驱动程序、CAN协议驱动程序和RS485协议驱动程序。只要实现了低端嵌入式服务器接口的软件,在其基础上做适当的修改,就可以成功移植到中高端嵌入式服务器接口。

基于51单片机的嵌入式网络设备服务器应用于工业监控系统,连接现场总线和以太网,使得以太网中的管理层工作人员可以远程监控现场总线设备。考虑到单片机系统的资源局限性,基于51单片机的嵌入式系统就仅仅作为网络设备,完成网络设备服务器和网络接口功能,监控具有自诊断功能的智能型现场设备。智能型设备的自诊断功能能够处理设备运行中的突发问题,需要监控的信息主要是运行信息、报警信息和参数设置信息,传输数据量小,基于51单片机的嵌入式网络设备服务器能够满足其传输指标要求。考虑到现场总线协议的多样性,无法顾及,仅以CAN总线为例,设计嵌入式网络设备服务器系统的现场总线模块。

根据功能需要,本系统设计包括以下模块:嵌入式微控制器(Micro Control Unit简称MCU)的主控模块、工业现场总线CAN模块和RS485模块、与以太网连接的网络控制模块、系统调试用的串口RS232模块、键盘输入模块和LCD显示模块以及电源模块。整个系统的实现框架如图一所示。

图 一:嵌入式网络设备服务器系统的硬件结构图

嵌入式网络设备服务器系统需要实现网络功能,为了适应网络的传输速度以及有足够的时间解析数据包,仅仅依靠RTL8019AS内部的RAM是远远不够的,所以单片机外扩了一个32K的RAM存储器。外扩的存储器缓存以太网帧。嵌入式网络设备服务器不仅要实现与以太网、CAN、RS4851232的通讯,还要提供人机交互接口LCD和键盘。因此,微控制器W77E58B需要访问多个外部设备,又不能占用太多的引脚。译码器74HC 138为W77E58B访问外部设备提供方便,只需W77E58B通过三个引脚A15,A14和A13就可以分别片选外扩RAM存储器HM62256B,网络接口芯片RTL8019AS, CAN总线控制器SJA1000, LCD显示芯片的ACM12232-E1和ACM12232-E2。

X5325芯片为单片机系统提供复位信号、32K的存储空间和看门狗机制。X5325中的EEPROM是掉电不丢失信息的数据存储器,所以用户通过人机交互接口键盘输入的信息可以存储在X5325中。当系统再次上电,W77E58B会从X5325的EEPROM中读取用户的设置信息在LCD上显示。因此,嵌入式网络设备服务器的最小系统由微控制器芯片W77E58B、静态RAM存储器芯片HM62256B、地址锁存器74HC373、译码器74HC138、晶振电路和复位芯片X5325组成。系统设计中,W77E58B的参考时钟由11.0592 MHz的晶体振荡器产生。工业现场总线CAN和RS485的接口部分需要使用光电隔离措施。使用光耦6N137组成的光电隔离电路,隔离CAN的收发控制模块PCA82C250和RS485的电平转换模块MAX485的电源。

完整的以太网接口除了以太网控制芯片外,还需要RJ45插座连接网络传输的物理介质双绞线。除此之外还需要隔离变压器进行信号隔离以及两个指示灯指示以太网的工作状态。一个指示灯指示以太网是否连通,另一个指示灯指示嵌入式系统是否接收或发送以太网帧。3 嵌入式UDP/IP协议栈的实现

UDP/IP协议栈是一个复杂的综合体,在实际运用中,并不需要实现其全部协议。根据系统需要对网络协议进行裁剪,设计并实现UDP/IP协议簇的一个子集,即嵌入式UDP/IP协议栈只实现ARP。IP和UDP协议,如此便避免了单片机的系统速度和内存的瓶颈。这样,嵌入式UDP/IP协议具有向下兼容性和易移植性,不仅满足嵌入式微处理器的高质量通讯任务的基本需求,必要时可方便增加部分协议处理,又可以满足单片机的联网需要。嵌入式UDP/IP协议栈符合经济型嵌入式工业设备联网的设计要求。

系统采用以太网的接入方式,因此必须实现IEEE802.3标准,主要由RTL8019AS完成。为了保证系统能够在以太网内通信,还需要实现ARP协议。ARP协议的本质就是完成网络地址到物理地址的映射,从而保证网络的正确传输。整个ARP处理过程由ARP请求和ARP应答两个函数实现。根据ARP报头格式定义ARP报头结构体ARPHeader如下所示。其中,当Operation=1时表示ARP请求数据包;当Operation =2时表示ARP应答数据包。实现协议栈的主要函数分发送部分和接收部分,发送函数有:①void fun_NetSendEther(void):封装以太网帧。将上层协议的数据包封装在以太网帧的数据部分,从EthernetHeader结构体中读取信息,填充以太网帧的帧头并发送以太网帧。②void fun_NetSendIP(void):封装IP数据包。将上层协议的数据包封装在IP数据包的数据部分,从IpHeader结构体、数组Deslp和数组NodeIp中读取信息,调用fun_NetCheckSum函数计算校验和,填充IP数据包的报头部分,判断上层协议是TCP协议(协议标识06)还是UDP(协议标识17)协议,并将不同的协议标识添加到IP数据包报头,发送IP数据包。③void fun_NetSendUDP(void):封装UDP数据包。将上层协议的数据包封装在UDP数据包的数据部分,从UdpHeader结构体、数组DesIp和数组Nodelp中读取信息,调用fun NetCheckSum函数计算校验和,填充UDP数据包的报头部分,并发送UDP数据包。

接收的函数主要有:①void fun_NetRecEther(void):该函数从接收的数据包中提取发送方的MAC地址,以便发送回复信息时,填充数据包的接收方MAC地址。查看网络层协议,判断是IP协议还是ARP协议,并针对各种协议调用相应的处理函数。②void fun_NetRecARPReq(void):将相应的信息存储在ARP结构体中,以便回复时填充ARP数据包的报头部分。分析ARP的请求数据包,若是发送给本IP的ARP请求,则将发送ARP应答数据包,告知本IP地址对应的MAC地址。③void funwe NetRecIP(void): IP协议的处理程序。首先检验校验和,若校验和正确,就将IP信息存储在IP结构体中,以便回复时填充IP数据包的报头,否则丢弃整个数据包。查看下层协议是UDP还是TCP协议,调用相应的函数处理程序。④void fun_etRecUDP(void):首先检验校验和,若校验和正确,就将UDP信息存储在UDP结构体中,以便回复时填充UDP数据包的报头,否则丢弃整个数据包。

图 二:数据收发流程

数据的整个收发流程如图二所示。嵌入式网络设备服务器系统接收到以太网数据帧,就调用嵌入式UDP/IP协议栈的接收函数接收,并按照协议栈的层次关系分析数据包。需要注意的是系统自动丢弃ARP应答数据包。4 现场总线技术实现

现场总线上连续传输的N个CAN协议帧。每帧10个字节,其中控制字段占2个字节,包括标准CAN协议帧的仲裁场和控制场,信息字段占8个字节,包括标准CAN协议帧的数据场。其中,信息字段由8个字节组成,发送CAN数据帧时,信息字段由单片机W77E58B通过写SJA1000的发送缓冲器的TXDATAO-TXDATA8设定。信息字段的数据信息内容也由通讯双方自定义。为适应实际应用的需要,数据信息分成了功能码和数据信息两个部分。功能码有两个作用,一是区分设备类型,另一个是区分信息类别。工业现场中有多种类型的设备都集成了CAN总线接口,都需要进行CAN总线通讯,所以在设计CAN协议帧时就需要提供可以区分不同设备的标识,利用一个字节(8bits)的3 bit可以区分8种不同的设备。设备在通讯过程中需要交互各种类型的信息,例如动态遥测数据,报警遥测数据和设置参数等,就必须有标识能够区分,使得通讯方分析CAN协议帧时知道是何种类型信息的数据,那么余下的5 bit就用于信息类别的区分。5bit能够区分32种信息类别。接收到CAN协议帧,W77E58B读SJA 1000的接收缓冲器的RDIDO, RDIDI和RDDATAO-RDDATA8,分析接收的数据信息。工作人员在监控软件的查询或设置子菜单中填写从机的寄存器信息发送到嵌入式网络设备服务器联网系统上,嵌入式系统分析此信息,根据从机的寄存器信息表,填充Modbus请求数据帧,发送到对应的从机设备。当从机设备返回Modbus应答数据帧后,分析数据帧,提取寄存器的数据信息,将信息回复给工作人员。实际上,监控软件中工作人员发送的查询信息,例如A相电流,从机接收的是该信息所对应的内部寄存器地址。两者之间的对应转换,由嵌入式网络设备服务器联网系统根据从机设备的寄存器信息表完成。5 创新点总结

本文的创新点是提出了嵌入式网络设备联网服务器实现方案,根据嵌入式网络设备的性能特点和实际工控领域的环境要求,提出了一种以单片机机为核心CPU的,适合嵌入式网络设备的联网服务器架构。实现了现场总线和以太网相结合的“管控一体化”。设计的嵌入式系统通过实验,测试和验证了系统的安全性、可靠性和实时性性能。参考文献: 陈俊,余兵.工业以太网络技术的应用与发展[J].PLC & FA, 2006, 3 2 韩党群.CAN控制器SJA 1000及其应用[J].电子技术应用,2003, 1:66-69 3 部宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996, 10 4 张曦煌 基于嵌入式Web的远程仪表接口[J],微计算机信息,2005,12-1:147-149。

第二篇:基于ARM嵌入式的远程监控系统设计

基于ARM嵌入式的远程监控系统设计

摘要:基于ARM 内核的嵌入式系统在远程监控报警系统中的设计实现与应用。核心部分主要包 括 ARM 嵌入式平台设计及 μC-OS 嵌入式实时操作系统移植;人机交互界面 μCGUI 的设计与实现;远程通讯及自动报警等;系统的设计还考虑到了扩展性和通用性以及与其他监控设备无缝连接等问题。

关键词: ARM;μC/OS-II;μCGUI;远程监控 引言

监控系统现已成为现代化生产、生活中不可缺少的重要组成部分。目前,监控系列产品 种类繁多,大部分广泛应用于交通、医院、银行、家居、学校等安防领域。

随着嵌入式系统的出现,尤其是基于 ARM 内核芯片的嵌入式系统的出现,使得监控系统的应用领域更为广泛。本文设计的远程监控报警系统除了作为安防功能外,还可以应用于以下领域:通讯领域:远程通讯、视频会议和视频点播、证券、远程教育等。医疗领域:病房监护、远程诊断等。工业领域:远程设备诊断、维护、维修,远程生产监控等。家用领域:家用电器远程维护;电、气、火等重大事故自动报警等。

系统设计

2.1系统组成

本文设计的远程监控系统主要由中心控制器、数据终端、传感器模块、通讯模块、接口模块等几部分组成。系统组成图(如图 1)。

2.2中心控制器 系统核心负责数据采集判断处理。为了提高系统工作效率,这里使用的是三星公司的 S3C2410芯片作为处理器。S3C2410 芯片是一款高性价比的 ARM 芯片,非常适合作手机、PDA 等手持设备。主要特性包括: ARM920T 内核,最高工作频率 203MHz,LCD 控制器:可直接驱动真彩液晶屏,最高支持 2048×1024 真彩液晶屏,2 个 USB Host端口,1 个USB Device端口,支持 Nand flash 启动模式,SD 卡接口,UART、IIC、SPI、IIS 等多种类 型串行接口,4 通道DMA。

本文的监控系统的 CPU 核心部分使用的是标准的 SO-DIMM200 金手指接口,便于后期维护和升级。如果该监控系统的使用环境较为苛刻,可以将 CPU替换为S3C2440芯片。S3C2440完全兼容S3C2410全部特性(注意:芯片引脚不完全兼容)。与S3C2410芯片相比,S3C2440的性能更为优越:最高工作频率可达500MHz,内部集成CMOS摄像头接口,但价格较昂贵。

图1 监控系统组成框图

2.3数据终端 数据终端的主要功能是对监控数据进行分析、处理,及时将数据汇报给监控人员。同时,监控人员可以根据现场情况,使用数据终端对监控的设备进行远程控制。数据终端最大优势 就是安全、可靠、便于携带。一般情况下为了节约成本,可以将手机、PDA 等移动通讯设备作为数据终端使用。但是如果作为对高危环境或精密仪器的监控系统,数据终端需要专业定制。这里使用的是中心控制器的作为数据终端,即中心控制器既作为数据采集发送中心,也可数据接收处理中心使用。

2.4通讯模块

通讯模块主要负责远程数据通讯。带有 RS232/485、GPRS、CDMA 等一种或多种通讯 方式。需要根据现场环境和用户需要进行定制。通讯模块与控制器通过接口总线连接,连接 方式为 TTL/RS232/RS485 等。

2.5传感器模块

传感器模块的主要功能是感知外部环境,对外部环境进行实时监测。由人体红外传感器、振动传感器、超声波传感器、可燃气体传感器、温度传感器、湿度传感器等一种或多种传感 器组成。可根据现场监测环境不同进行定制。

2.6接口模块

接口模块主要作为系统扩展功能使用,将控制器的 A/D 转换、I2C、SPI 等多种接口进行 外部扩展。接口模块没有特定的功能,但可以根据需要与其他设备连接,例如可以与工业仪 器仪表或设备连接,实时对仪器或设备进行监控。

接口模块虽然不是监控系统的主要部分,但是对于整个系统来说却是不可缺少。因为本文的监控系统主要考虑到了系统的可扩展性和与其它系统无缝连接。通过接口模块可以很方 便的对监控系统进行升级,并且可以实现与其他系统或设备的无缝连接。这也是本系统区优 于其他监控系统的主要功能。软件设计

3.1工作软件

系统的软件设计较为复杂,这里只给出了整个工作软件流程(如图 2)。

图2 软件流程图

3.2操作系统移植

S3C2410 芯片支持多种嵌入式操作系统,如 WINCE、uCLinux 等。但考虑到监控系统 的实时性要求,这里使用的是 μC/OS-II 嵌入式实时操作系统。μC/OS-II 是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。其绝大部分源码是用 ANSI C 写的。整个嵌入式系统分为两大层:硬件层和软件层。这里主要研究软件层的架构。软件层主要分为四个部分:实时操作系统内核,与处理器相关部分,与应用程序相关部分,用户的应用程序。移植 μC/OS-II 系统需要修改的文件有:应用程序相关文件: OS_CFG.H INCLUDE.H; 处理器相关文件: OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C。

3.2.1 与处理器相关的代码

这是移植中最关键的部分。内核将应用系统和底层硬件有机的结合成一个实时系统,要 使同一个内核能适用于不同的硬件体系,就需要在内核和硬件之间有一个中间层,这就是与 处理器相关的代码。处理器不同。这部分代码也不同。我们在移植时需要自己移植这部分代 码。

a)OS_CPU.H

包括了用#define 定义的与处理器相关的常量,宏和类型定义,有系统数据类型定义,栈 增长方向定义,关中断和开中断定义,系统软中断的定义等等。

b)OS_CPU_A.ASM

这部分需要对处理器的寄存器进行操作,所以必须用汇编语言来编写。包括四个子函数: OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。OSStartHighRdy()在多任务系统启动函数 OSStart()中调用。完成的功能是:设置系统运行标志位 OSRunning = TRUE;将就绪表中最高优先级任务的栈指针 Load 到 SP 中,并强制中断返回。这样就绪的最高优先级任务就如同从中断里返回到运行态一样,使得整个系统得以运转。OSCtxSw()在任务级任 务切换函数中调用的。任务级切换是通过 SWI 或者 TRAP 人为制造的中断来实现的。ISR 的向 量地址必须指向 OSCtxSw()。这一中断完成的功能:保存任务的环境变量(主要是寄存器的值, 通过入栈来实现),将当前 SP 存入任务 TCB 中,载入就绪最高优先级任务的 SP,恢复就绪最高优先级任务的环境变量,中断返回。这样就完成了任务级的切换。OSIntCtxSw()在退出中断 服务函数 OSIntExit()中调用,实现中断级任务切换.由于是在中断里调用,所以处理器的寄存器入栈工作已经做完,就不用作这部分工作了。具体完成的任务;调整栈指针(因为调用函数会使任务栈结构与系统任务切换时堆栈标准结构不一致),保存当前任务 SP,载入就绪 最高优先级任务的 SP,恢复就绪最高优先级任务的环境变量,中断返回。这样就完成了中断级任务切换。OSTickISR()系统时钟节拍中断服务函数,这是一个周期性中断,为内核提供

时钟节拍。频率越高系统负荷越重。其周期的大小决定了内核所能给应用系统提供的最小时 间间隔服务。一般只限于 ms 级(跟 MCU 有关),对于要求更加苛刻的任务需要用户自己建立中断来解决.该函数具体内容:保存寄存器(如果硬件自动完成就可以省略),调 OSIntEnter(),调用 OSTimeTick(),调用 OSIntExit(),恢复寄存器,中断返回。

c)OS_CPU_C.C

该文件中共定义了 6 个函数,但是最重要的是 OSTaskStkInit().其他都是对系统内核的扩展 时用的.OSTaskStkInit()是在用户建立任务时系统内部自己调用的,对用户任务的堆栈进行初始化。使建立好的进入就绪态任务的堆栈与系统发生中断并且将环境变量保存完毕时 的栈结构一致。这样就可以用中断返回指令使就绪的任务运行起来。

3.2.2与应用相关的代码

这部分包括两个文件:OS_CFG.H, INCLUDES.H。用户根据自己的应用系统来定制合适 的内核服务功能。OS_CFG.H 来配置内核,用户根据需要对内核进行定制,留下需要的部分,去掉不需要的部分,设置系统的基本情况。比如系统可提供的最大任务数量,是否定制邮箱服务,是否需要系统提供任务挂起功能,是否提供任务优先级动态改变功能等等。INCLUDES.H 系统头文件,整个实时系统程序所需要的文件,包括了内核和用户的头文件。

3.3用户图形接口

虽然 μC/OS-II 操作系统具有很高的实时性,但不像 WINCE、uCLinux 等操作系统那样 有良好的图形界面支持。所以,在使用液晶和触摸屏的情况下需要移植用户图形接口程序。这里使用的是 μC/GUI。μC/GUI 是一个软件模块集合,通过该模块可以在我们的嵌入式产品 中加入用户图形接口(GUI)。μC/GUI 具有很高的执行效率,并且与处理器和 LCD 控制器相 独立。该模块可以工作在单任务或者多任务环境,可以支持不同大小的显示方式。

通过 μC/GUI 我们可以很方便的在液晶屏绘制图形和界面。如果需要多种字体支持,必 须自己将相应的字体字库加入到 μC/GUI 中。为了避免出现乱码,尽量使用 GB2312 国标字库。

3.4关于字库的兼容性问题

我们国内通常使用的汉字字库是 GB 码,但国际上使用的是 UNICODE 码,所以如果数据终端使用的是手机、PDA 等移动通信设备,那么在数据发送前必须进行字码转换,即 GB 码 转换为 UNICODE 码或者 UNICODE 码转换为 GB 码。由于 GB 码与 UNICODE 码在排列组合上没有任何规律,所以通常字码转换的方法就是 查表法。

4结束语

基于 ARM9 嵌入式系统的远程监控系统与以往的监控系统不同,高性能的处理器芯片大大提高了系统的性能。使监控系统能够工作在比较恶劣的环境中。并且在设计上充分考虑到了系统的可扩展性和兼容性问题,实现了本系统与其他系统的无缝连接。以满足不同工作环 境的需要。

作者创新观点:本文设计的远程监控系统应用范围更广,更灵活、方便。通过各个功能模块 的不同组合,可以十分方便快速的应用于各个领系域,真正实现智能化、自动化且具有较高 的性价比。

第三篇:基于web的嵌入式远程监控系统

基于web的嵌入式远程监控系统

第1页

共33页

基于web的嵌入式远程监控系统

学生:刘 仁

指导老师:蔡 硕

摘要: 随针对当前国内国外嵌入式服务器技术研究和发展情况的分析,本报告提出了将 WEB 服务器、嵌入式系统以及当前的一些嵌入式实验板板载功能进行融合的设计思想。设计了结合 WEB 服务器技术的嵌入式监控系统。该系统具有浏览交互式网页,对嵌入式平台进行监视和控制等功能。通过本套嵌入式WEB 服务器系统,用户可以通过 HTTP 协议方便的访问相应的嵌入式平台进行有效监视的同时还可以进行实时的有效控制。该系统对硬件要求极低、响应速度快、安全性好、可扩展性强等优点,具有较高的实际应用价值。该系统在智能家居、嵌入式组网等方面的应用将有较广阔的发展前途。

关键词:ARM 嵌入式系统;嵌入式 web 监控;boa 服务器;CGI 编程;Linux 操作系统

关键词:自动化、奏乐器、VHDL、数字电路

基于web的嵌入式远程监控系统

第2页

共33页

Abstract: According to the analysis of the researches about the status of the mbeddedserver of the world.We rise a design of a embedded internet control system basedon the Web service which integrates the web server,embedded technology and thefunctions on the embedded experiment Board.This system has the function of browsing the web pages,monitoring theembedded Board and so on.With this embedded WEB server,the users can watchthe embedded system conveniently according the HTTP protocol.At the sametime the users can also monitor the ystem.This system have a lot of longtageslike a low request of the hardware,limited time of response and a stable status.Wewill see that this kind of system used in the application of intelligent familyelectronics,embedded neting and so on would have a good development.Keywords: ARM Embedded System;Embedded Web Server System;Boa Server;CGI Programing;Linux Operating System

基于web的嵌入式远程监控系统

第3页

共33页

引 言

嵌入式系统课程设计是本专业在学习完 C 语言、LINUX 操作系统、嵌入式系统原理与接口设计、嵌入式操作系统原理之后的专业课程设计,属于专业课内容。通过课程设计建立嵌入式系统主体环节,嵌入式系统的最小结构和系统应用设计基本技能,培养分析和解决一些简单的实际问题的能力,为今后毕业设计奠定基础。随着嵌入式技术的发展和高速宽带网络的普及, 利用网络实现远程监控已为人们广泛接受, 嵌入式网络监控技术正是在此条件下逐步发展成熟起来的。用户使用 Web 浏览器, 通过以太网远程访问内置 Web 服务器的监控摄像机, 不但可以实现对现场的远程视频监控, 而且可以向监控现场发送指令。在整个系统的实现过程中, 嵌入式 Web 服务器起着十分重要的作用。本课题就是基于该项技术,最终编程实现通过网络控制下位机嵌入式控制器的电机启动和停止。

1.1研究目的和意义

1、通过嵌入式课程设计,熟练掌握 C 语言的编程方法。基于 WEB 的远程监控的实现,CGI 的编写和使用,将理论联系到实践中去,提高我们的动脑和动手的能力。

2、通过基于 WEB 的嵌入式远程监控系统的设计,掌握 S3C2410 实验箱,直流电机的工作原理,BOA 服务器的使用,CGI 的使用和简单程序的编写及调试方法,最终提高我们的动手实践能力。

3、本课题的研究目的是用 BOA 服务器、CGI、IE 浏览器设计一个通过 IE 浏览器监控电机的系统,能够通过两个简单的按键对电机进行启动和停止的控 3

基于web的嵌入式远程监控系统

第4页

共33页

制,并能够在 IE 浏览器上看到电机的当前状态。

4、由于基于 WEB 的嵌入式远程监控系统将成为今后远程监控技术发展的主流方向,所以需要设计出简单实用,让人们更满意的产品。

1.2 本设计任务和主要内容

1.基本要求

本课题主要设计和研究基于WEB的嵌入式远程监控系统,要求在保证可靠运行的前提下,电路设计尽量简洁紧凑,以减小成本、提高系统的效率和安全性。

2.应解决的问题 1)设计系统网络方案

2)分析网络程序结构和应用程序的使用方法 3)编程实现嵌入式系统服务器功能 4)编程实现嵌入式系统联网功能

5)编程实现通过网络控制下位机嵌入式控制器的电机启动和停止

3.扩展功能

演奏时可以通过按键选择是手动演奏还是自动演奏,手动演奏是通过按键进行简易乐曲的演奏。

基于web的嵌入式远程监控系统

第5页

共33页总体方案设计

2.1 整体方案设计

系统总体设计是基于嵌入式系统和 WEB 服务器结合的思想开发的,其网络拓扑结构如图 2.1 所示

图 2.1 系统网络拓扑图

针对本次课程设计提出的系统设计如图 2.2 所示

图 2.2 系统方案框图

基于web的嵌入式远程监控系统

第6页

共33页

2.2 硬件系统设计

2.3.1 核心处理器的选择

核心处理芯片需要完成处理和支持整个系统的功能需求,通过运行 BOA 服务器要实施的接收来自各个客户端的请求和信息,并根据获得的请求和信息进行相应的后台处理以及信息的反馈。为完成上述功能,实现服务器正常运行,对处理芯片进行选型,对比现有处理芯片的优缺点,选择 ARM9 S3C2410X 芯片作为设计开发嵌入式服务器系统的核心处理芯片。S3C2410X 微处理器是一款由 Samsung 公司为手持设备设计的低功耗、高集成度的基于ARM920T 核的微处理器,为了降低系统总成本和减少外围器件,这款芯片还集成了以下部件:16KB 指令 Cache、16KB 数据 Cache、MMU、外部存储器控制器、LCD 控制器、NAND FLASH 控制器、4 个 DMA 通道、3 个 UART 通道、1 个 IIC 总线控制器、1 个 IIS总线控制器、4 个 PWM 定时器、1 个内部定时器、通用 IO 口、实时时钟、8 通道 10 位ADC 和触摸屏接口、USB 主、USB 从、SD/MMC 卡接口等。

2.3 软件环境选择

2.3.1 操作系统的选择

当选定了硬件系统后,为了配合硬件达到系统的最优控制要求,对市面上常用的嵌入式系统进行分析比较。

(1)价格比较:Linux 是完全免费的操作系统,只需遵循 GPL 声明,不需支付任何费用;WinCE 是微软的商用嵌入式操作系统,使用它需要支付 WinCE 及其开发环境的费用,开发出来的每套产品也需交纳一定费用。uc/os—II 系统,可以免费用于学习或科研,但开发商使用产品或销售都是收费的。

(2)开放性比较:Linux 是源代码完全开放的操作系统,可以自由下载,并且

基于web的嵌入式远程监控系统

第7页

共33页

在遵循GPL 声明的前提下可以自由地修改、移植,为系统的开发和调试带来极大的便利;winCE是部分源码开放的商用操作系统,如果要修改其中的代码,需获得微软公司的授权;uc/os—II 也是开放的实时操作系统。

(3)文件系统的比较:Linux 支持绝大部分文件系统,只需选择相应的文件系统即可;

WinCE 仅支持 Windows 系列的 FAT16、有限文件系统;uc/os—II 本身没有包括文件系统,需购买或移植。Linux 与 ARM 处理器从以上可以看出,Linux 系统在诸多方面都存在优势,而且本身的 ARM 处理器与 Linux 也有着紧密的联系。因此采用 Linux 操作系统。2.3.2 服务器的选择

典型的嵌入式 Web 服务器有 Boa 和 thttpd 两种,它们和 Apache 等高性能的 Web 服务器主要的区别在于它们一般是单进程服务器,只有在完成一个用户请求后才能响应另一个用户的请求,而无法并发响应,但这在嵌入式设备的应用场合里已经足够了。Boa 是一个非常小巧的 Web 服务器,可执行代码只有约 60KB。它是一个单任务 Web服务器,只能依次完成用户的请求,而不会 fork 出新的进程来处理并发连接请求。但 Boa支持 CGI,能够为 CGI 程序 fork 出一个进程来执行。Boa 的设计目标是速度和安全,在其站点公布的性能测验中,Boa 的性能要好于 Apache 服务器。经过上述的对比和判断,选择Boa 作为系统的嵌 入式服务器。

综合以上的讨论以及选择,根据系统的实际需求,最终确定了采用 S3C2410X 为核心处理器,Linux 为嵌入式操作系统,boa 为服务器以及相应的 http 浏览器的系统设计方案。

基于web的嵌入式远程监控系统

第8页

共33页硬件设计

3.1 系统硬件平台介绍

我们所介绍的硬件平台是基于 ARM 体系结构,由北京博创兴业科技有限公司开发的UP-NetARM2410-S 实验仪器。UP-NetARM2410-S 的 CPU 为 ARM920T 内核的三星S3c2410 芯片,由于有 MMU(内存管理单元)可以运行标准的 ARM-LINUX 内核。通过这个平台,我们可以实现嵌入式 LINUX 中的针对无 MMU 的开发过程。

3.2 s3c2410 芯片介绍

图 3.1 芯片结构图

基于web的嵌入式远程监控系统

第9页

共33页

3.3 ARM 处理器的外围设备

3.3.1 电源电路

设备提供 12v 的电源,经 LM1085-3.3V 和 AS1117-1.8V 分别得到 3.3V 和 1.8V 的工作电压。开发板上的芯片多数使用了 3.3V 电压,而 1.8V 是供给 S3C2410 内核使用的。5V 电压供给 LCD、电机、总线等电路使用。

图 3.2 电源电路

3.3.2 硬件复位电路

硬件复位电路由IMP811T构成,实现对电源电压的监控和手动复位操作。2410-S主板复位电路设置专用逻辑:IMP811T 的复位电平可以使CPU JTAG(nTRST和板级系统(nRESET)全部复位;来自仿真器的ICE_nSRST 信号只能使板级复位;来自仿真器的ICE_nTRST 可以使JTAG(nTRST)复位,通过跳线选择是否使板级nRESET复位。nRESET反相后得到RESET 信号。硬件复位电路如图3.3所示

基于web的嵌入式远程监控系统

第10页

共33页

图3.3 硬件复位

基于web的嵌入式远程监控系统

第11页

共33页软件设计

4.1 设计思想

基于 web 的嵌入式监控系统设计主要的功能有简单的网页浏览,实现简单应用功能(客户端与服务器的交互)以及服务器端的控制功能。因此软件的设计分为三个部分:boa 服务器的搭建、应用程序设计和驱动程序的加载。

4.2 BOA 服务器的简介与搭建

4.2.1 嵌入式 Web 服务器 Boa 的特点

Boa 是一款单任务的 HTTP 服务器, 与其他传统的 Web 服务器不同的是当有连接请求到来时, 它并不为每个连接单独创建进程, 也不通过复制自身进程来处理多链接, 而是通过建立 HTTP 请求列表来处理多路 HTTP 连接请求, 同时它只为 CGI 程序创建新的进程,这样就在最大程度上节省了系统资源, 这对嵌入式系统来说至关重要。同时它还具有自动生成目录、自动解压文件等功能, 因此 Boa 具有很高的 HTTP 请求处理速度和效率, 在嵌入式系统中具有很高的应用价值。4.2.2 Boa 的功能实现

嵌入式 Web 服务器 Boa 和普通 Web 服务器一样, 能够完成接收客户端请求、分析请求、响应请求、向客 户端返回请求结果等任务。它的工作过程主要包括:

(a)完成 Web 服务器的初始化工作, 如创建环境变量、创建 TCP 套接字、绑定端口、开始侦听、进入循环结构, 以及等待接收客户浏览器的连接请求;

(b)当有客户端连接请求时,Web 服务器负责接收客户端请求, 并保存相关请求信息;

(c)在接收到客户端的连接请求之后,分析客户端请求, 解析出请求的方法、基于web的嵌入式远程监控系统

第12页

共33页

URL 目标、可选的查询信息及表单信息, 同时根据请求做出相应的处理;

(d)Web 服务器完成相应处理后, 向客户端浏览器发送响应信息, 关闭与客户机的TCP 连接。嵌入式 Web 服务器 Boa 根据请求方法的不同,做出不同的响应。如果请求方法为HEAD,则直接向浏览器返回响应首部;如果请求方法为 GET,则在返回响应首部的同时,将客户端请求的 URL 目标文件从服务器上读出,并且发送给客户端浏览器;如果请求方法为 POST,则将客户发送过来的表单信息传送给相应的 CGI 程序,作为 CGI 的参数来执行 CGI 程序,并将执行结果发送给客户端浏览器。Boa 的功能实现也是通过建立连接、绑定端口、进行侦听、请求处理等来实现的。4.2.3 BOA 的搭建与移植

(1)准备源代码、解压软件包,安装源代码到 boa 网站 http://www.xiexiebang.comTB0 = DCM_TCNTB0;/* less than 10ms */ TCMPB0 = DCM_TCNTB0/2;TCON &=~(0xf);TCON |=(0x2);TCON &=~(0xf);TCON |=(0x19);})在 s3c2410_dcm_ioctl 中提供调速功能接口: case DCM_IOCTRL_SETPWM: return dcm_setpwm((int)arg);应用程序 dcm_main.c 中调用:

ioctl(dcm_fd, DCM_IOCTRL_SETPWM,(setpwm * factor));实现直流电机速度的调整。a.编译直流电机模块 cd /arm2410s/kernel-2410s

基于web的嵌入式远程监控系统

第20页

共33页

make menuconfig 进入 Main Menu / Character devices 菜单,选择 DC MOTOR 为模块加载: b.编译内核模块: make dep make make modules 直流电机模块的编译结果为:

/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o c.编译应用程序

cd /arm2410s/exp/basic/10_dcmotor/ make 生成 dcm_main d.挂载驱动模块

insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o e.运行程序

mount –t nfs 192.168.0.xxx:/arm2410s /host insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o cd /host/exp/basic/10_dcmotor/./dcm_main 程序运行结果:直流电机转动 1 秒,停转 1 秒。由于是根据原有变速程序稍做改动完成的程序,所以遇到的问题不是很多,经过几次尝试就得到了期望的结果。

基于web的嵌入式远程监控系统

第21页

共33页

5.3 调试结果分析

5.3.1 调试结果

1、静态网页

图 5.1 静态网页

2、乘法网页

图 5.2 乘法网页

基于web的嵌入式远程监控系统

第22页

共33页

3、电机控制网页

图 5.3 电机控制网页

图 5.4 返回结果

5.3.2 结果分析

经过 x86 下的调试和基于 ARM 的下载与调试后,系统能够实现静态网页浏览,简单人机交互以及电机控制的功能,系统工作稳定,响应速度快,组网方便快捷,如果与 DNS 服务器或者 WINS 服务器相结合即可实现用主机名就能登录相应平台的功能。

基于web的嵌入式远程监控系统

第23页

共33页设计总结

经过三个周的学习与努力,经过系统分析、方案论证、硬件和软件设计、调试 等阶段完成了基于 web 的嵌入式远程监控系统的设计制作。在这三个周的课程设计中,我得到了老师和同学很大的帮助,有时候觉得进行不下去了,老师或同学一句话就能让我茅塞顿开。即使听不懂,他们也会耐心的讲解。

在系统的设计制作过程中,确实遇到了各种各样的问题,如调试思路正确但是没有能够进行找到合适的方法进行进一步的实验,设计中对于程序的编写以及目录结构的认知上存在偏差,其主要原因还是基础功不扎实,把握系统的能力不足,这为我们以后的学习和工作提了一个醒。在问题的解决过程中,也提高了组员的动手动脑能力,学到了许多在书本上学不到的知识。在具体的设计当中解决了诸如 boa 服务器的搭建,C 程序的修改及 CGI编程的理解,程序的调试和系统的整体认识等问题,小组成员收获很大。

基于web的嵌入式远程监控系统

第24页

共33页

致谢

在这次课程设计中,学校和学院给予了大力的支持,提供了与设计有关的环境,方便了课程设计的顺利进行。在这其中我确实学到了很多知识,在此仅代表个人衷心的感谢学校和学院的大力支持。本论文是在指导老师蔡烁的悉心指导和严格要求下完成的。在整个课程设计过程中,蔡烁老师时时督促和引导,并在设计过程中进行了方向指导,在总体方向不出错的基础上,施展自己的所学,发挥个人的所长。他不仅在学习上和生活上给予了我们多方面的指导和无微不至的关怀,而且他渊博的学识、严谨的治学态度、孜孜不倦的工作作风和宽以待人的处事风格使我终身受益,并且还从中学会了分析问题和解决问题的方法此外,在本次设计过程中,还得到了其他老师和的热情关心和帮助,值此论文完成之际,谨向老师表示崇高的敬意和最诚挚的谢意。

基于web的嵌入式远程监控系统

第25页

共33页

参考文献

[1]郑灵翔编著 《嵌入式 LINUX 系统设计》 北京航空航天大学 2008 年 [2]孙纪坤、张小全编著 《嵌入式 LINUX 系统开发技术详解-基于 ARM》人民邮电出版社 2007.9、[3]王进德 编著 《嵌入式 LINUX 程序设计与应用案例》 中国电力出版社 2007.5 [4]郑慕德 编著 《嵌入式微型计算机系统实例教程-ARM 与 LINUX》 科学出版社2006.7 [5]刘淼 编著 《嵌入式系统接口设计与 LINUX 驱动程序开发》 北京航空航天大学出版社,2006.5 [6]魏洪兴等编著 《嵌入式系统设计与实例开发 II-基于 ARM9 微处理器与 LINUX 操作系统》 清华大学出版社 2005.12 [7]魏洪兴等编著 《嵌入式系统设计与实例开发实验教材 II-基于 ARM9 微处理器与LINUX 操作系统》清华大学出版社 2005.12 [8]金敏等编著 《嵌入式组成、原理与设计编程》 人民邮电出版社 2007.6

基于web的嵌入式远程监控系统

第26页

共33页

附录 1 主要程序清单

乘法网页的HTML表单: 测试

 测试

请在下面填入乘数和被乘数,按下确定后可以看到结果

第四篇:基于嵌入式Web的远程监控系统设计

基于嵌入式Web的远程监控系统设计

摘 要:本文结合机房环境设备的管理需要,分析了远程监控系统的特点,提出基于嵌入式Web服务器的远程监控系统设计思路、体系架构方法,并对基于OPC技术的互联与基于嵌入式Web服务器的互联作了简要对比。文章结合CGI程序的设计,着重探讨了嵌入式Web服务器的实现方法。关键词:嵌入式平台,Web服务器,远程监控,CGI程序

⒈引言

随着计算机和网络技术的普及,计算机系统的数量与日俱增,计算机机房已成为各大型单位的信息枢纽。机房中的环境设备(如空调、UPS电源、配电柜、消防设备等)为网络系统的安全运行提供了环境保障。同时,环境设备自身的安全运行,也成为机房管理的重要内容之一。一旦机房的环境设备出现故障,就会直接影响计算机系统的正常运行,严重的还会造成机房内的相关设备损坏,甚至导致网络系统瘫痪[1]。因此,对机房环境设备的运行状态进行实时监控,是保证机房设备安全运行的关键措施。

⒉远程监控系统的需求分析

对机房环境设备的监控主要涉及以下几个方面的内容:对配电系统、UPS系统、空调系统工作状态的监视;对机房的温湿度、生活用水和供暖制冷系统漏水情况等进行监测、报警,以及对门禁系统、消防系统、保安系统等的管理。由于这些环境设备是连续工作的,因此要求监控系统也必须是长时间连续工作的。这样就对系统设计的可靠性、安全性、可维护性等方面提出了更高的要求[1],具体表现在以下几个方面:

⑴高可靠性。要求监控系统可长时间不间断运行,无故障运行时间要长,且系统的维护快速简便。

⑵高安全性。系统应能够提供多种安全保护措施,对异常状态进行分析、记录、及时报警,以便让管理人员能够尽快了解所发生的情况并及时处理。

⑶较强的实时性。监控系统对信息的传输要及时,不能有过大的延时,否则难以及时跟踪被监控对象的当前状况。

⑷易用性和易维护性。机房环境设备监控系统,应以GUI的方式提供良好的人机界面,便于人机交互。同时,监控系统要有通用性和灵活性,即可以在对系统进行少量修改或扩充就可增加新的监控项目,扩充监测点数,以满足新的监控要求。

⑸丰富的系统功能。要求监控系统不仅能够提供一般的报警功能,对采集的当前数据进行记录且保存

历史数据,并以图形方式对环境设备运行状态和参数进行直观显示。

实施监控的主要方法,即是在现场控制器的控制之下,实时地采集数据并与预设的值进行比较,如果超出相应的阀值则给出报警,以提示有关人员进行相应处理。根据对环境设备监控的位置不同,可把监控系统分为本地监控和远程监控两大类。本地监控方式往往需要派人长期现场值守,管理成本较高;而借助于公共的Internet或企业内部的Intranet网络实施远程监控则可做到无人值守,从而大幅度地节约管理成本、提高机房管理水平和效率,因此成为监控系统发展的主流方向。

⒊远程监控系统的设计

基于对远程监控系统的需求分析,进行系统设计时应重点考虑如下几种因素:首先,要考虑现场总线与数据网的互联问题。由于被监控对象的信号种类较多,所采用的现场总线标准各异,因此不同总线标准之间的转换以及现场总线与数据网之间的互联是系统设计时需要重点考虑的问题[2]。其次,实时性要求是远程监控网络系统区别于普通网络系统的基本特征。如果监控系统的实时性得不到保障,现场监控就失去了实用价值。第三,为满足监控系统的高可靠性要求,应分别对硬件系统和软件系统进行抗干扰设计。第四,根据远程连接方式不同,应采用不同的安全措施以保证信息的安全传输。3.1监控系统的功能设计

监控系统的基本功能主要包括:现场数据的实时采集、发送和显示;对采集到的数据进行处理和存储;对数据处理的结果进行分析、判断和报警;提供多种业务支持功能。3.1.1实时数据采集

实时数据采集是实施系统监控的基础。在环境设备的监控系统中,需要实时采集的数据主要包括高低压配电系统及UPS电源的电压、电流、电源开关状态等参数,空调机的冷热水温度、流量、送风量、送风温度、新风量等状态参数,以及机房内部的环境参数(如温度、湿度、水浸、烟感、门禁等)。不同的参数采用的总线标准不同(如RS232/485总线、Lonworks总线),只有把它们统一到TCP/IP协议上,才能实现真正意义上的远程监控。

3.1.2报警功能

报警是监控系统的基本功能之一。监控系统对采集到的数据进行分析、处理,如果发现相关数据超限、数据异常,则说明环境设备出现异常情况,此时应发出相应报警。设计报警功能时,需要考虑被监控对象的自身特性、优先级别等因素,对多个报警信号进行加权处理,以保证系统的所有重要报警都能被及时处理。

3.1.3多种业务支持功能

灵活的查询和丰富的报表功能是对监控系统基本功能的扩展。通过对设备运行状态的实时数据、历史数据进行对比分析,从不同角度向管理者提供设备运行和维护信息,为设备的维护、大修、更新、改造等质量管理提供可靠依据。3.2监控系统的结构设计

远程监控系统由现场数据采集设备(可以为多个设备)、本地Web服务器和远端监控主机三部分构成[3]。Web服务器通过现场总线与本地数据采集设备直接相连,并负责把本地传感器采集到的数据进行简单处理,通过网络发送到远端的监控主机上,从而为实现无人值守的管理方式创造条件。

远程监控系统在设计时需要解决的关键问题,就是将不同类型的现场总线或控制网络与以太网进行互联互通,从而实现监控信息的远程实时传输。目前,实施远程监控主要有如下几种方法:①基于PSTN的传统方法,即通过Modem连接异地的现场设备;②基于OPC技术。采用支持多种现场总线规范的OPC Server,通过OPC 接口实现现场总线到Internet或Intranet网络的无缝连接;③基于嵌入式平台实现远程监控。在嵌入式平台上完成对现场数据的实时采集,通过现场总线与数据网的互连,将Server端的数据通过TCP/IP协议提供给远端的监控主机(即Client端);④采用其它自定义方法实施远程监控。3.2.1基于OPC的监控系统

OPC 是以OLE/COM/DCOM机制作为应用程序级的通信标准,采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式向用户提供通用的接口,解决了软、硬件厂商之间的矛盾,提高了系统的开放性和互操作性[4]。基于OPC架构的监控系统结构如图1所示。其中,OPC DA Server为数据采集服务器,OPC AE Server为报警服务器。OPC Server 提供多种接口规范,应用程序和Web浏览器(即OPC Client)可以通过这些接口取得与OPC Server相连的硬件设备信息,从而实现OPC Client通过以太网对OPC Server的访问。同时OPC Server也可以将采集到的数据或报警信息通过网络发送到客户端或Web浏览器端。

在基于OPC的体系架构中,由于 COM/DCOM 已被视为网络功能的具体实现方法,使得Client对OPC Server的远程访问成为标准的网络访问方式。但是OPC技术的缺点也是非常明显的,由于LE/COM/DCOM机制是一个纯软件的架构,对系统资源配置的要求高。当系统规模较大或监控点数较多时,系统的实时性将会明显下降。

3.2.2基于嵌入式平台的监控系统

实时监控系统需要长时间不间断地工作,对系统的可靠性和实时性均有较高要求。为此必须从系统功能、体系架构、软硬件系统的稳定性、设备功耗等方面进行综合考虑(例如选用工控级的产品),设计小型化的智能型监控系统。而建立在RTOS之上的嵌入式系统为控制系统的网络化、小型化提供了有效途

径,嵌入式网络控制已成为监控系统未来发展的重点方向之一。

基于嵌入式平台的远程监控系统结构如图2所示。其中,嵌入式Web服务器既是远程监控系统的中心节点,也是控制网络与数据网络进行互联的网关,通过TCP/IP协议将其连接到以太网上,监控主机则通过以太网(或Internet)在远程实时地监视现场信号的动态变化,从而实现远程监控的目标。对于能够直接支持TCP/IP协议的现场检测设备,则可以将其直接连接到以太网上,图中的液体泄漏检测仪即是如此;对于采用其他总线标准的现场设备,则需要通过嵌入式Web服务器进行信号转换之后把现场总线连接到以太网上。

图2 远程监控系统结构图

⒋嵌入式Web服务器的设计

在基于嵌入式平台的远程监控系统中,监控系统的中心节点主要承担两方面的任务:一方面负责对现场数据的采集,即Web服务器以定时巡检的方式通过现场总线对传感器的信号进行采集;另一方面负责协议转换,把现场总线来的数据转换成TCP/IP协议的格式,通过以太网将其发送到远端的监控主机上。在本设计中实现了从RS232、RS485到TCP/IP协议之间的相互转换。4.1开发环境简介

考虑到系统开发的简便性,本方案选用uCLinux操作系统平台作为系统的OS环境,辅助开发工具选用MiceTek公司的HiTool。嵌入式Web服务器的硬件环境选用MiceTek公司的Samsung44B0X开发板,利用其丰富的接口功能,可实现嵌入式Web服务器与传感器的直接连接。4.2 嵌入式Web服务器的硬件设计

嵌入式Web服务器硬件环境的自定义,是根据监控系统的需要,重新制作嵌入式系统的主板。该主板的CPU仍选用Samsung的S3C44B0X,1M的BootFlash,8M的SDRAM,并提供10M/100M的以太网端口,2个RS232接口和6个RS485接口。如果待检测的参数较少,则选用一块嵌入式Web服务器主板即可;如果待检测的参数较多,则可选用多个同样的Web服务器主板,并对每个Web服务器进行参数配置(设置不同的IP地址),构成分布式的Web服务器。如果监控系统要求存储的数据量很大,则可以采取以下两种方法加以解决:一是嵌入式Web服务器外接硬盘;另一种方法是外加一台由工业控制级的服务器,对多台嵌入式Web服务器进行统一管理。4.3 嵌入式Web服务器的软件实现

嵌入式Web服务器的软件开发主要包括以下几项内容:首先,完成嵌入式操作系统的移植和TCP/IP协议的剪裁;第二,编写数据采集、数据处理应用子程序;第三,编写远程通信子程序;第四,报警处理子程序;第五,数据查询和报表生成子程序。这些功能应先在上述的开发环境中进行初步实现之后,再移植到自定义的环境中。

由于嵌入式系统的资源有限,因此对上述功能的实现应尽量简洁,例如对HTTP协议的移植,只需要保留基本的Get和Post方法即可,而Options、Head、Put、Delete和Trace方法在此可不考虑实现,因为对RAM(或EEPROM)中的数据存储可以采用循环覆盖的方式。

在此方案中,嵌入式Web服务器与Web浏览器及其他应用程序之间的交互,可以通过调用CGI(Common Gateway Interface)程序来实现。CGI规定了Web服务器与浏览器及其他可执行程序的接口协议标准。当Web浏览器将请求信息发送给Web服务器时,Web服务器触发一个可执行的CGI程序,该程序根据用户请求的内容做出相应的处理,并将处理结果以Web服务器可识别的方式输出,Web服务器再将该结果回送给Web浏览器[5]。

CGI程序中的信息传递是通过标准输入设备stdin和标准输出设备stdout来完成的。Web服务器在调用CGI程序之前,需要预先设置好所有的环境变量,以便把客户的请求转化为参数后存入环境变量,然后就可以调用CGI程序了。CGI程序根据不同的请求方法确定如何获取客户的请求内容,而Web服务器则通过标准输入设备stdin获得客户请求;对于CGI程序的输出结果,Web服务器则是通过标准输出设备stdout来获得,Web服务器对其进行语法分析之后,再传送给客户浏览器。至于CGI程序的实现,本方案选用C语言,以保证CGI程序的快速、高效和安全。

⒌结语

基于嵌入式平台的监控系统,以其体积小、可连续工作时间长、性能稳定等特点,得到人们的广泛认可,成为网络化远程监控系统的主流方向。在本设计中,借助于相对稳定和成熟的软硬件开发环境,设计了一套较为完整和实用化的远程监控方案并加以实现。经使用证明,该设计方案是成功的并取得了较为理想的效果。

参考文献

[1]关光富,计算机机房环境设备监控系统与设计分析,电工技术杂志,2004.2 [2]周祖德编著,基于网络环境的智能控制,国防工业出版社,2004.1,第1版 [3]宋广军,张敬,王睿,基于web的温湿度远程监控系统,微计算机信息,2004.1 [4]孙敏,顾德英,汪晋宽,基于OPC技术的监控组态程序的开发,仪器仪表学报(增刊),2003.8 [5]汤碧玉,曾楠,郑灵翔等,嵌入式系统中基于Web的远程监控设计与实现,厦门大学学报(自然科学版),vol.43(5),2004.9

第五篇:基于嵌入式Linux远程图像监控系统的设计

本文由wangyong1179贡献

pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。2010年第 11期 文章编号: 1006 2475(2010)11 0031 04 计 算 机 与 现 代 化 JISUAN JI YU X IAN DA I UA H 总第 183期

基于嵌入式 L inux远程图像监控系统的设计

唐人财, 刘连浩

(中南大学信息科学与工程学院, 湖南 长沙 410083)摘要: 系统以嵌入式微处理器 S3C2440和 L inux为核心平台, 采用 U SB摄像头作为图像采集设 备, 利用 L inux 下视频设备 应用编程接口 V 4L2和 Q t/Em bedded实现图像的采集, 实时 显示和 JPEG 格式 图片保 存, 利 用 libjpeg 库来实 现视频 数据 的编解码以及通过以太网进行远程传输, 实现一种功耗低、可靠性高和低成 本的网络图像采集与传输系统设计方案。关键词: L inux 图像采集;Q t/Em bedded V 4L2;S3C2440;;中图分类号: T P391 41.文献标识码: A do: 10 3969 /.j issn.1006 2475.2010.11.009 i.D esign of R emote I age M on itoring System Based on Em bedded L inux m TANG R en ca, L IU L ian hao i(Institu te of Infor ation Science and Eng ineer ing, C entra l South U niversity Changsha 410083, China)m , Ab stract T he syste uses e : m mbedded m icroprocesso r S3C2440 and L inux as the core platfo r T he applica tion prog ramm ing in m.te rface V 4L2 and Q t /Embedded library are tw o key techno log ies to realize i age acqu isition, rea l ti e display and JPEG p icture m m sav ing by using U SB ca era T his design of i age acqu isition and trans ission is a low powe r consumption, h igh reliab ility and m.m m inexpensive syste m, wh ich ach ieves encod ing o r decod ing of i ages by lib jpeg library and remo te transm ission o f E therne t m.K ey w ords L inux;i age acquisition;Q t/Em bedded V4L 2;S3C2440 : m;0 引

友好图形操作界面, 实现现场图像在终端上的实时显 示和 JPEG图片的保存。利用 L inux 下 lib jp eg库编码 压缩图像, 通过以太网接口实时传输到视频监控中心 PC机上, 通过接收解码显示现场图像, 实现远程视频 图像监控功能。系统总体设计结构如图 1所示。

随着嵌入式技术、多媒体技 术及网络技术 的发 展, 基于嵌入式技术、视频压缩编码技术和网络传输 控制技术的综合应用, 已成为数字化网络视频采集监 控领域的核心 技术。系统是基于 ARM 9和 L inux平台的远程视频图像监控设计方案, 整个系统建立在嵌 入式结构上, 实现了高质量的视频图像采集和实时处 理功能。

系统总体设计

远程视频图像监控系统分为嵌入式视频监控终 端和监控中心 PC 机两部分。嵌入 式视频监控终端 基于嵌入式微处理器 S3C2440和 L inux 核心平台, 采 用通用 USB 摄像头捕捉现场图像, 通过 USB 接口将 数据传输到 ARM 开发板上, 由开发板上的图像采集 处理模块进行图像数据处理, 通过 LCD 触摸屏显示

图 1 系统总体设计框图 2 系统硬件设计

系统选取 m in i2440开发板作为系统设计的硬件

收稿日期: 2010 06 28 作者简介: 唐人财(1978), 男, 海南海口人, 中南大学信息科学与工程 学院硕 士研究 生, 研 究方向: 嵌入 式系统 及应用;刘连 浩(1959), 男, 湖南 澧县人, 教授, 博士, 研究方向: 单片机及嵌入式系统。32 计

2010年第 11期

平台, 监控终端硬件由主控模块和扩展模块两部分组 成。主控模块采用嵌入式微处理器 S3C2440 它是一 , 款基于 ARM 920T 核的 16/ 32位 RS I 结构的嵌入式微 C 处理器, 主频 400 z 最高可达 533 MH , MH z 片内外资源 , 丰富, 具有强大的处理能力, 从硬件上保证了系统快速 的响 应 速 度。系 统 存 储 扩 展 了 128 B 的 NAND M FLAS 64 B的 SDRAM。扩展模块包括通用 USB摄 H, M 像头、9000以太网控制器和带触摸屏的 NEC3 5英 DM.寸 TFT 真彩液晶屏。主控模块通过 USB 接口电路、LCD接口电路、以太网接口电路与扩展模块相连接构 成整个硬件系统。系统硬件结构如图 2所示。

配置内核编译选项时把 UVC 驱动编译进内核。UVC 不是摄像头的品牌或型号, 它是一种视频设备的技术 规范, 全称为 U SB V ideo C lass 这是一个为 USB 视频 , 设备提供驱动的开源项目。UVC 驱动支持 V 4L 2应 用编程接口, 系统设计中使用的 USB 摄像头为 T op Speed U SB 2 0 C a era UVC 驱动提供支持。.m , 3 3 V4L2图像采集程序的实现.V4L2 是 V id eo For L inux Two 的 简称, 是 V id eo Fo r L in ux AP I的第二版本, 是 L inux 下开发视频设备 程序的接口标准, 使用分层方法对所有视频设备的驱 动和应用编 程提 供一 套完备 的接 口规 范。基于 V4L 2标准, 视频图像采集处理流程如图 3所示。[ 3] 图 2 系统硬件结构框图 3 系统软件设计

1 系统软件平台.系统软件平台以嵌 入式 L inux 和 Q t/Em bedded 为基础, 具体构建步骤为: 在宿主机上建立交叉编译 环境, 完成引导加载程序 v ivi的编译移植, 编译移植 linux 2 6 29 内核, 包括 DM 9000 网卡、..通用 USB 摄 像头和 LCD 触摸 屏等驱动 的移植, 基于 busybox 1.13.3构建文件系统。基于系统设计的需求, 还要完 成 QTE 4 5 3图形库与 tslib 1 4触摸屏支持库以及...lib jp eg库向开发板的移植。lib jp eg 库主要用于实现 内存中图像数据的编解码, QTE 4 5 3是面向嵌入式..系统的 Q t版本, 采用了 fram ebuffer作为底层图形接 口, 采用 C ++ 封装, 具有丰富的控件资源和良好的可 移植性, 系 统中的应 用程序 以及环 境都是 基于 Q t / Em bedded来开发的。最终形成基于 ARM 的嵌入式 [ 1 2] L inux 操作系统平台 , 在系统软件平台上可进行嵌 入式应用程序的开发。限于篇幅, 系统软件平台的构 建在此只作简单介绍。3 2 嵌入式 L inux下 USB 摄像头驱动.为了使用 L in ux下 V4L2应用编程接口编写图像 采集应用程序, 在开发板上移植版本为 linux 2 6 29..的内核, 此内核版本支持 UVC 驱动 USB 摄像头, 在图 3 视频图像采集处理流程图

3 1 视频设备结构体初始化..程序中定义一个视频设备的数据结构 struct vde vice 结构体的成员变量是对视频设备和图像属性的 , 描述。

init_ vdata(struct vdevice * vdev , char * dev _na e un m , signed int w idth unsigned int he ight int fo r at);, , m 通过参数完成对视频设备结构体变量 vdev的赋 值初始化。视频设备名称 dev_na e 视频图像宽度 m , w idth 视频图像高度 heigh, 视频图像格式 for a, 以 , t m t 及申请分配两个内存缓冲区 fram ebuffer和 rgbbu ffer , 分别为采集到的一帧图像 数据缓冲区和 24位 RGB 图像数据缓冲区。3 3 2 视频设备初始化..函数 in it_vdev(struct vdev ice * vdev)根据参数

2010年第 11期

唐人财等: 基于嵌入式 L inux远程图像监控系统的 设计

vdev传递的值对视频设备进行初始化, 这是进行视频 图像采集前必须完成的工作。视频设备结构体 vdev 包含了要设置的设备信息, 初始化视频设备到适合的 图像采集工作方式。视频设备初始化具体实现如下:(1)打开摄像头设备文件。利用系统调用 函数 vdev > fd = open(vdev > dev_nam e O_RDWR)实现, 该函数的功能是打开参 , 数 vdev > dev_nam e指定的设备, 对于摄像头用设备 文件名 /dev /v ideo0 表示, vdev > fd 是设备打开后 返回的文件描述符, 在程序中可使用它来对设备文件 进行操作。(2)查询设备信息和设置采集属性。在 L inux 编程中, io ct l函数是设备驱动程序中对 设备的 I /O 进行管理的函数, 用户程序一般使用 ioctl 函数来对设备的一些特性进行控制。调用带 V ID I C _ O QUERYCAP命令参数的 io ct l函 数来取得设备文件的属性参数, 并存储于 struct v4l2_ capab ility 结构体变量 vdev > cap 中, 然后可 逐项验 证 vdev > cap的属性, 看设备是否符合采集的要求。

ioctl(vdev > fd V ID I _QU ERYCAP, & vdev > cap);, OC m em 间建立映射, 调用带 V I I C _QBUF 命令参数的 DO ioct l函数将所申请的设备缓存加入等待输入缓存队 列, 内存映射初始化完成。3 3 3 采集图像数据..函数 capture(struct vdevice * vdev)完成一帧视 频图像数据采集, 采集到的视频图像数据存放到设备 缓存 vdev > bu f中, 通过映射的程序内存空间可处理 视频图像, 函数调用成功返回视频设备采集的图像数 据大小。在设备缓存加入等待输入队列后, 调用带 VIDI C_ O STREAMON命令参数的 ioctl函数使能视频设备。

type= V 4L2_BU F _TYPE_V IDEO _CA PTURE;ioctl(vdev > fd V ID I _STREAM ON, & type);, OC 图像数据缓存采用 F IFO 的方式, 缓存队列将已 采集到视频图像数据的设备缓存出队列, 此时与之映 射的内存空间就存储了采集到的视频图像数据, 处理 完毕重新使设备缓存加入队列。这个过程需要调用 两次 io ctl函数。

ioctl(vdev > fd V ID I _DQBUF, & vdev > buf);, OC ioctl(vdev > fd V ID I _QBUF, & vdev > buf);, OC 接着设置视频图像采集格式, 可根据需求修改摄 像头缓冲区中图像参数如分辨率、格式等。具体方法 为先给 struct v4 l2 _for at结构体变量 vdev > f t分量 m m 赋新值, 再调用 带 V ID I C _S _FMT 命令参数 的 ioctl O 函数完成采集属性的设置。ioctl(vdev > fd V ID I _S_FM T, & vdev > fm t);, OC 调用带 VIDIOC_DQBUF 命令参数的 ioct l函数使 设备缓存出队列, 利用系统函数 m em cpy 将所采集的 一帧视频图像数据拷贝的所分配的内存空间 vdev > fram ebuffer以 方 便 后 续 图 像 处 理。然 后 调 用 带 V IDI C _ O QBUF 命令参数的 io ctl函数把设备缓存重新 加入输入缓存队列, 至此完成一帧视频图像数据采集。系统采用的摄像头初始化为 YUV422图像格式, 图像要在 LCD 上显示, 必须进行图像数据格式转换 处理, 将 YUV422格式转换为 RGB24格式。

yuv2 rgb24(vdev > fra ebuffer vdev > rgbbuffer vdev > m , , w idth vdev > he ight);,(3)实现内存映射。V4L2捕获的数据是存放在内核空间的, 用户不 能直接访问该 段内存, 必须通 过某些手段来 转换地 址。系统采用 mm ap内存映射方式, 把设备内存映射 到用户程序内存空间, 直接处理设备内存, 加速了 I/ O 访问。主要函数调用如下: ioctl(vdev > fd V ID I _REQBUF S & vdev > rbuf);, OC , ioctl(vdev > fd V ID I _QU ERYBUF, & vdev > buf);, OC vdev > m e [ i] = mm ap(0, vdev > bu.length, PROT _ m f READ, M AP _SHARED, vdev > fd vdev > bu.f m.offset);, ioctl(vdev > fd V ID I _QBUF, & vdev > buf);, OC 函数 yuv2rgb24 将 vdev > fram ebuffer指定 内存 中的 YUV 422图像格式转换为 RGB24格式, 并存放 到 vdev > rgbbuffer指定内存中, 函数实现在 此不作 详细阐述。3 4 图像数据的 JPEG 编解码.网络传输前对原始图像数据进行压缩处理, 利用 IJG(Independent JPEG G roup)提供的 lib jp eg 库进行 [ 4 6] 图像编解码。在开源的 libjpeg 库中, 函数必须从 文件或其他 设备流中读取数据, 再将压缩数 据存成 JPEG 文件, 增加了不必要的文件 I/O 操作, 不利于网 络实时传输图像。为解决 该问题, 改写 了 lib jp eg 库 内 jdatasrc c和 jd atads.c两个源代码文件, 设计自定.t 义的结构体 struct m y_dest_ gr和 struct m y_src_ g r m m , 增加自定义图像数据缓存地址变量、已处理图像数据

具体实现: 首先, 对 struct v4 l2 _ requestbuffers结 构体变 量 vdev > rbuf 分 量 赋 值, 调 用 带 V I I C _ DO REQBUFS命令参数的 io ctl函 数分配自定义 数量的 设备缓存;然后, 在循环程序结构中对申请分配的设 备缓存 进行映射, 调用带 V IDIOC _QUERYBUF 命令 参数的 ioct l函数获得设备缓存偏移量和缓存大小并 存于 struct v4l2_buffer结构体变量 vdev > bu f中, 调 用 mm ap在设备 缓存 和程序 内存 空间 变量 vdev > 34 计

2010年第 11期

的偏移量变量和图像大小变量, 并改写 lib jp eg库相关 操作函数, 封装相关的数据结构和成员函数为自定义 的图像编解码类 MY JPEG。实现输入数据和输出数据 的重定向到内存, 利用开源的 libjpeg 库在内存中实现 图像的压缩和解压缩。参照 lib jpeg 库中编解码过程, 实现了类 MYJPEG中压缩与解压缩成员函数。

w r ite e(unsigned cha r * m m char* m quality);/ /图像数据压缩处理 readm e(uns igned char indata int pSize unsigned char m * , , * outdata);/ /图像 数据解压缩处理 outdata int * pS ize unsigned , , indata unsigned int mw idth, unsigned int mhe ight int , , 压缩函数中参数可以灵活对压缩图像分辨率大 小和质量属性进行设置, 参数 pS ize 返回压缩后图像 的大小。而解压缩图像时, 压缩图像的大小则通过参 数 pSize传入。3 5 网络传输视频图像数据.UDP是非连接的、不可靠的、传递数据报的传输 协议, 提供了一种高效无连接的服务。由于 UDP 不 提供数据的可靠性保证, 使其具有较少的传输时延, 很适合实时性高而不要求数据绝对可靠的场合。视 频图像数据实时性强, 数据量大, 所以系统设计采用 此协议传输数据。通过 L inux 下的 socket套 接字编 [ 7] [ 8 11] 程 , 实现视频图像的网络传输。利用 C语言中 的多线程编程, 将网络通信置于一个工作线程, 避免 了 GU I应用程序因网络阻塞等待操作而使图形用户 界面冻结无法响应的问题。系统设计时结合使用互 [ 12] 斥锁和条件变量对各个工作线程进行同步。嵌入式视频监控终端上采集显示程序作为主线 程, 同时创建一个视频图像发送工作 线程 deal_send(), 用来处理与视频监控中心 PC间的网络通信。具 体过程描述如 下: 调用 socket()函数创建一个 UDP 数据报类型的套接字, 接着调用 bind()函数, 给套接 字绑定一个端口。视频图像发送工作线程调用 recv from()函数在指定的端口上阻塞等待客户端发送来 的 UDP数据报, 接收到服务请求, 处理该服务请求并 通过 sendto()函数将处理结果返回给 PC 端。在监控中心 PC 端创建解码显示视频图像工作 线程, 并创 建一个视 频图像接 收工 作线程 deal _re ce ive(), 用来处理与视频监控终端的网络通 信。具 体过程描述如 下: 调用 socket()函数创建一个 UDP 数据报类型的套接字, 接着调用 bind()函数, 给套接 字绑定一个端口。调用 sendto()函数向监控终端发 送服务请求报文, 调用 recv from()函数等待并接收服 务应答报文。继续定时发送服务请求直至通信终止。具体网络传输的通信过程如图 4所示。

图 4 网络传输通信流程 4 视频图像实时显示

系统是一个实时视频图像采集与传输系统, 采集 的现场视频图像在嵌入式视频监控终端和监控中心 PC上实时显示与保存。只要以较快速度显示变化的 图片就可以实时显示现场情况, 系统中利用定时器每 40m s采集一帧视频图像。该远程图像监控系统界面 是通过 QT 来实现的, 在强大的 QT 图形库的支持下, [ 13 14 ] 可快速开发出友好的图形用户界面。利用几个 相关 Q t图形类 Q I age QP ixm ap和 QL abe,l 实现视频 m、图像的显示和 JPEG格式图片保存。5 结束语

系统设计方案 是一种基于嵌入式 L inux 的图像 采集和传输系统, 本文详细介绍了 V4L 2应用编程接 口进行 USB 摄像头视频图像采集, 基于 QTE 图形库 实时显示视频图像, 利用开源的 lib jp eg 库实现图像 的 JPEG 编解码, 通过网络实时传输进行远程监控。整个系统数字化、网络化程度高, 实时性好、稳定可靠 且图像质量较好。经实验测试, 系统很好地实现对现 场视频图像的监控。在该系统的基础上, 可进一步进 行二次扩展开发, 以便应用在工业现场控制、远程指 挥监控系统、可视电话等诸多领域。

参考文献: [ 1] [ 2] [ 3] 赵敏, 杨恢先, 汤安平.基于 S3C2440的嵌入式 L inux 系统 移植的研究与实现 [ J].电子器件, 2008 31(6): 1947 1950 ,.郑灵翔.嵌入式 L inux 系统设计 [M ].北京: 北京 航空航 天大学出 版社, 2008.M ichae lH Schi ek V ideo for L inux Tw o AP I Specifica tion m.[ EB /OL ].http: / /v4l2spec bytesex org /v4l2spec / v4 l2...pd, 2008 03 04.f(下转第 38页)38 计

化 2010年第 11期

目标图像中变成 A!B!因为向前移动了, 所以物体显 , 得比原来要大些。放大的过程应 该是: 逐步 放大左 图, 并适当地截取放大图中跟原来一样大小的一块矩 形区域, 作为一张新的过渡图。至于放大的倍数, 作 [ 8] 如下考虑 : 假设 A!的长度是 AB的 L 倍, 两幅图像之间插入 B!n张过渡图, 则每一张过渡图之间的放大的倍数是(L 1)/(n+ 1)。

速度, 内存优化后系统占用资源更少, 由于不用频繁 申请内存和 释放内存, 减少 了漏洞和错误发 生的几 率;采用缩放的方法改进了行进间的浏览效果, 提高 了虚拟漫游的沉浸感, 具有一定的实用意义。

参考文献: [ 1] 石云飞, 王永平, 李龙 济, 等.基于 模板匹配 的柱面全景 图拼接优化算法 [ J].工程图学学报, 2005(1): 96 99.[ 2] [ 3] [ 4] 华顺刚, 曾令宜, 欧宗瑛.一种快速的柱面全景拼接算法 [ J].数据采集与处理, 2006, 21(4): 435 436.潘华伟, 邹北骥.一种圆 柱形全 景图生 成新算法 及其实 现 [ J].计算机工程与科学, 2003, 25(6): 13 16.吴宪祥, 郭宝龙, 王娟.基于相位相关的柱面全景图像自 动拼接算法 [ J].光学学报, 2009, 29(7): 1824 1829.[ 5] 钟力, 张茂 军, 孙立 峰, 等.360度柱 面全 景图 像生 成算 法及其实现 [ J].小型 微型 计算 机系 统, 1999 20(12): , 899 900.[ 6] [ 7] [ 8] [ 9] 赵 辉, 陈 辉, 于 泓.一 种 改 进 的 全 景 图 自 动拼 接 算 法 [ J].中国图象图形学报, 2007, 12(2): 336 342.阮 秋 琦.数 字 图 像 处 理 [ M ].北 京: 电 子 工 业 出 版 社, 2001.董 士 海.虚 拟 现 实 的 未 来应 用 [ N ].中 国 计 算 机 报, 2001 02 21.崔汉国, 曹茂春, 欧阳清.柱面全景图像拼合算法研究数 字图像处理 [ J].计算机工程, 2004, 30(6): 158 159.[ 10] 赵万金, 龚声蓉, 刘全, 等.一种用于 图像拼 接的 图像序 列自 动 排 序 算 法 [ J].中 国 图 象 图 形 学 报, 2007, 12(10): 1861 1864.[ 11] 张茂春.虚拟现实系统 [M ].北京: 科学出版社, 2001.[ 12] 明德烈, 柳健, 田金文.二维平面内的增强现实虚实配准 问题研究 [ J].红外与激光工程, 2001, 30(6): 410 413.[ 13] 蔡勇, 刘学惠, 吴恩华.基于图像绘制的虚拟现实系统环 境 [ J].软件学报, 1997.8(10): 721 728.[ 14] 喻罡.基于图像的虚 拟场景 构造 和漫 游系统 研究 [ D ].西安: 西安理工大学, 2002.图 6 放大前后的线段

在放大后的图像中央截取一块跟原图像大小相 同的区域, 然而由于拍摄的过程中, 一系列的过渡场 景不可能严格地在一条直线上, 也就是说相邻的中间 图像的中心位置并不重合。如果不加任何处理, 在过 渡的时候实际效果并不平滑, 在到达下一张中间图像 的时候仍然会有跳跃的感觉。解决的方法是, 预先计 算 AB的中点在经过放大和截取后, 在最终目标图中 的位置 p(x y), 对比 A!B!的中点 p!(x!y!), 得出 ,!, ? x = x!-x ? y = y!-y 每次 放大后截 取时, 补偿 , , ? x /(n+ 1)和 ? y /(n+ 1), 使图像中心逐步向目标 图像的中心靠拢。

结束语

本文首先研究了鱼眼图像的拼接算法, 在提出基 于亮度差的鱼眼图像重叠区域的确定方法和采用线性 补偿光强的方法进行图像的融合处理的基础上, 实现 了利用两幅鱼眼图像生成空战环境球面虚拟空间, 然 后探讨了基于球面虚拟图的多视点漫游问题。分析 可知: 利用反投影模板技术有效地提高全景图浏览的

(上接第 34页)[ 4] 汪庆年, 孙丽兵, 李桂 勇.一种基于 ARM 的视 频监控 系 统的设计 [ J].微计算机信息, 2009 25(11): 158 160., [ 5] [ 6] [ 7] [ 8] [ 9] 汪庆年, 张广栋.嵌入 式网络 视频 监控系 统的 设计与 实 现 [ J].电力电子, 2008(5): 47 49.赵文敏, 余文芳, 邢建国.一种嵌入式网 络视频监控 系统 的设计 [ J].计算机应用与软件, 2009 26(8): 67 68 81., , 郭 东升, 田秀 华.L inux 环境 下基 于 Socke t的网 络通 信 [ J].软件导刊, 2009, 18(1): 116 118.杨晖, 胡永健, 林志泉.基于 L inux和 S3C2410嵌入式图像传 输系统设计 [ J].微计算机信息, 2007 23(8): 20 24., 孟超, 张曦煌.基于嵌 入式系 统的 图像采 集与 传输设 计 [ J].计算机工程与设计, 2008 29(17): 4414 4416 ,.[ 10] 童 永 清.L inuxC 编 程 实 战 [ M ].北 京: 人 民 邮 电 出 版 社, 2008.[ 11] 王远洋, 周渊平, 郭 焕丽.L inux 下基 于 Socket多线 程并 发通信的实现 [ J].微计算机信息, 2009, 25(15): 70 72.[ 12] 杨水 清, 张 剑, 施云飞, 等.ARM 嵌 入式 L inux系 统开发 技术详解 [M ].北京: 电子工业出版社, 2008.[ 13] 蔡志明, 卢传富, 李立夏.精通 Q t4 编程 [ M ].北京: 电子 工业出版社, 2008.[ 14] 陈 鲲, 陈 云 秋, 刘 信 新.基 于 Q t/Embedded 的 嵌 入 式 L inux应用程序的 设计 [ J].计算机与 数字工程, 2009, 37(1): 156 161.1

下载基于嵌入式网络设备的远程监控系统设计(样例5)word格式文档
下载基于嵌入式网络设备的远程监控系统设计(样例5).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    基于ARM的嵌入式智能家居远程监控系统设计.

    摘要 科技改变生活,科技为人类带来了更舒适更方便的解决方案,智能家居是现代化科技的体现,智能家居也正是在应人们需求下而产生的。 本设计的内容是设计一个基于ARM的智能家居......

    基于ARMlinux的嵌入式远程测控系统设计.

    基于ARM linux的嵌入式远程测控系统设计基于ARM linux的嵌入式远程测控系统设计 类别:嵌入式系统前言 目前,大多数远程测控系统中,系统的硬件采用8/16位的单片机,软件多采用汇编......

    嵌入式远程医疗监护系统(范文模版)

    嵌入式远程医疗监护系统 嵌入式医疗监护系统设计 一、整体设计 MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低耗(具有精简指令集的混合信号处理器(Mixed......

    基于A8的嵌入式Linux远程视频监控系统的设计与实现(5篇)

    基于A8的嵌入式Linux远程视频监控系统的设计与实现 摘 要:将网络技术和嵌入式技术相结合的远程视频监控系统是视频采集技术的发展趋势,文中提出了一种基于对等网络模型的嵌入......

    嵌入式数据库SQLite在远程监控系统中的应用,嵌入式数据库.

    嵌入式数据库SQLite在远程监控系统中的应用,嵌入式数据库,SQLite,远程监控系统,arm-μ 随着后PC时代的到来,各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算......

    煤矿主排水泵计算机远程监控系统设计

    煤矿主排水泵计算机远程监控系统设计 摘 要: 针对煤矿主排水泵的特点和当前测控技术发展,本文介绍了一种基于模块化的煤矿井下 主排水系统计算机监控系统。该系统实时采集......

    基于嵌入式ARM的远程视频监控系统研究.

    基于嵌入式ARM的远程视频监控系统研究 随着科技的进步,视频监控系统正在向嵌入式、数字化、网络化方向发展。嵌入式视频监控系统充分利用大规模集成电路和网络的科技成果,实......

    浙大远程 嵌入式系统第4次(本站推荐)

    《嵌入式系统》作业四 一、判断题 1. X86 CPU有8位、16位、32位通用寄存器各8个,共能存储448位数据。× 2. 状态寄存器的SF标志位是进位标志。× 3. 超线程技术和多线程技术......