




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章嵌入式Linux综合设计项目实例7.1网络视频监控系统7.2车载信息娱乐系统7.3基于嵌入式平台的电梯监控系统7.4无线点菜系统7.5基于嵌入式与WebService的智能家居系统7.1网络视频监控系统
1、系统设计概要本网络视频监控系统是基于客户机/服务器结构的,ARM2410嵌入式开发板作为服务器端,PC机作为客户端。客户端和服务器之间通过Socket通信。2410开发板端连接USB摄像头作为监控端,放在需要监控的地方;PC机可以是在任何地方,通过网络实时查看监控端传过来的画面。网络视频监控系统要具备如下功能:时时监控功能:时时监控摄像头所监视的范围;数据流采集功能:时时采集监控数据流;照片抓取功能:比如每隔x秒抓取一张照片。为了观测到流畅的视频图像,需要对采集来的视频图像数据进行JPEG压缩,以减少网络传输的负担。7.1网络视频监控系统按以上功能分析确定整个系统由视频图像采集模块、视频图像压缩模块、数据发送模块、数据接收模块、视频图像显示模块构成,其中前三个模块在服务器端,后两个模块运行在客户端。7.1网络视频监控系统网络视频监控系统的功能模块逻辑图7.1网络视频监控系统目前市面上最常见、应用最广的USB摄像头有两大系列,采用ov511芯片的摄像头和采用中星微公司生产的zc301芯片的摄像头。Linux本身自带了采用ov511芯片的摄像头的驱动程序。zc301的摄像头的驱动可以从网上下载针对Embeded环境的专门的patch,比如gspcav1-20071224.tar.gz等。ov511采集到的数据是rgb的位流,而zc301采集到的数据是jpeg编码的位流。尽管采集到的数据有所差异,但它们采集的方式都是相同的。目前的USB摄像头视频图像采集(监控)系统,无论是采用ov511芯片的摄像头,还是采用zc301芯片的摄像头,其图像采集都是基于Video4Linux编程接口实现的。Video4Linux为目前市场常见的电视捕获卡、并口和USB口的摄像头提供统一的编程接口,同时也提供无线电通信和文字电视广播解码和垂直消隐的数据接口。本文主要针对USB摄像头设备文件/dev/video0,进行视频图像采集方面的程序设计。7.1网络视频监控系统系统软硬件开发环境:硬件环境,北京博创科技ARM2410-s及ARM2410经典嵌入式开发平台,ov511或zc301芯片的USB摄像头;宿主机为WindowsXP,及VMWare6.0下安装的红帽子Linux9或RHEL4。软件环境,Video4linux标准视频处理接口、JPEG压缩库、Socket通信机制、多线程程序设计、C语言开发编译环境、armv4l-unknown-linux-gcc编译器。7.1网络视频监控系统各模块功能流程:视频图像采集模块:加载USB摄像头驱动,根据Video4linux标准接口编程,将采集的图像存入图像缓冲区;视频图像压缩模块:将图像进行JPEG压缩,保存为JPEG文件,等待发送;Socket数据发送模块:将JPEG文件发送至远程监控客户端;Socket数据接收模块:发起连接请求,从服务器端接收JPEG图像文件数据;视频图像显示模块:显示接收到的视频图像。Video4linux视频编程流程:打开视频设备->读取设备信息->改设备当前设置->进行视频采集(两种方法:内存映射,直接从设备读取)->对采集的视频进行处理->关闭视频设备。视频图像采集结构体:根据Video4linux标准视频接口进行编程时所采用的结构体,包括视频采集部分的5个关键结构体video_capability、video_picture、video_mbuf、video_mmap、video_channel。限于篇幅,具体视频程序接口设计祥见随书光碟的“远程视频监控程序设计试验指导书”等文档。7.1网络视频监控系统2、系统实现流程嵌入式开发环境搭建->摄像头采集驱动移植->视频监控模块(完成摄像头采集应用程序接口V4L接口函数编写)->JPEG库环境建立与移植->移植流媒体服务器->配置客户端监控程序。建立嵌入式开发环境式开发流程的第一步:建立开发环境(安装Linux)->安装工具链(安装GCC交叉编译环境,配置环境变量PATH)->配置宿主机网络环境和NFS服务->建立与开发板串口连接。7.1网络视频监控系统视频监控系统的核心模块式视频的采集使用Vdeo4Linux标准接口实现的视频采集流程图7.2车载信息娱乐系统娱乐与通讯方面的新技术结合,使得车载信息实现包括三维导航、实时路况、IPTV、辅助驾驶、故障检测、车辆信息、车身控制、移动办公、无线通讯、基于在线的娱乐功能及TSP服务等一系列应用,极大的提升了车辆电子化、网络化和智能化水平。本例车载信息娱乐系统设计的功能主要如下:1.车辆导航和定位功能2.网络通信3.信息显示和语音提示4.多媒体播放功能车载系统可根据用户需要实现其他功能,例如通过GPRS自动报警增加自动报警功能,通过USB接口连接图像采集设备,对车内外进行视频监控等功能。7.2车载信息娱乐系统车载信息娱乐系统功能图7.2车载信息娱乐系统设计思路车载信息系统是是运用计算机、卫星定位、通信、控制等技术来提供安全、环保及舒适性功能和服务的汽车电子设备,是智能汽车的组成部分,也叫做汽车电子装置。车载信息系统包括汽车电脑、智能导航仪、行车记录仪、车载多媒体等。车载信息系统结构示意图:7.2车载信息娱乐系统车载系统的基本原理基于Linux车载信息系统是以ARM内核处理器和操作系统Linux作为开发平台的,并结合单片机技术、传感器技术、CAN总线等完成各种信息的采集并传输到ARM处理器上,在操作系统Linux的管理下,利用GUI实现对消息的获取和响应车载信息的显示,实现一个友好的人机交互界面,同时为驾驶员方便行车提供了有力的保证。车载系统开发平台结构本系统以博创2410s为开发平台,核心板上集成了SamsungS3C2410处理器,64MBSDRAM和16M的Flash,为应用开发提供足够的空间。底板上还提供了多种外设接口:串口RS-232、以太网接口、LCD接口、触摸屏接口等。系统软件体系结构系统采用了嵌入式Linux操作系统,并在此基础上设计软件体系结构。7.2车载信息娱乐系统硬件电路设计系统中硬件部分分为ARM嵌入式开发板和各外围模块。前者主要是由ARM920T内核的处理器S3C2410及相关FLASH存储器、RAM内存及处理器外围接口芯片组成,外围接口芯片包括CAN驱动器、GPS接收模块,LCD触摸屏以及GPS接收机天线。采用三星公司的S3C2410的ARM920T为核心控制电路,主要用于协调和管理系统中的其他硬件,因其具备丰富的接口电路,能满足不同子模块的不同接口要求。根据需要,以S3C2410为核心扩展64MBNand-Flash和2MB的Nor-Flash用于存放bootloader和嵌入式Linux操作系统等。64MBSDRAM用作系统运行时的内存,2410提供的LCD提供了更好的人机交互界面。FPGA协处理器,可以负责完成车载信息系统中各子模块中的算法要求有高编程处理性能的功能。例如,对于各种音频/视频流媒体等高速数字信号的处理,以及无线通信、语音识别等。7.2车载信息娱乐系统硬件结构图7.2车载信息娱乐系统Nor-Flash电路连接CAN驱动程序软件结构图7.2车载信息娱乐系统系统软件设计流程(右)系统主界面(下)7.3基于嵌入式平台的电梯监控系统介绍一种基于嵌入式开发板S3C2410的电梯远程监控系统。以微控制器(MCU)为核心的嵌入式系统,该系统具有开销少、尺寸小、功能强、针对特定应用的开发等特点.系统结构和功能本系统基于客户/服务器结构,ARM2410S嵌入式开发板作为电梯服务器端,PC机为客户端。客户端在Linux下开发,客户端和服务器端之间通过Socket通信。系统在嵌入式开发平台上构建了一个电梯模型并完成了键盘模拟电梯运行,同时用WEBEYEV2000摄像头采集视频图像并对采集的图像进行JPEG压缩处理,然后将视频图像和电梯运行数据传输至监控中心进行实时显示等功能。(1)服务器端视频采集模块:采用WEBEYEV2000摄像头,编译并加载OV5ll驱动程序;利用Video4Linux标准视频处理接口进行视频图像的采集;交叉编译JPEG库并移植至开发板,从而实现对视频图像数据的JPEG压缩,以减小网络传输负担。7.3基于嵌入式平台的电梯监控系统小键盘电梯模拟模块:17键小键盘区模拟电梯的按钮区,键盘l~9数字键分别对应电梯的9个楼层,适当修改键盘驱动,使其能够随时读取键值;同时选择同方向优先的电梯算法实现电梯的运行。Socket网络传输模块:采用Linux下的Socket编程方法,利用TCP协议建立现场和监控中心的连接并发送相关数据。(2)客户端Socket网络接收模块:采用Linux下的Socket编程方法,利用TCP协议建立现场和监控中心的连接并接收相关数据。客户端显示模块:将服务器端采集的视频图像和电梯运行状态直观地显示在客户端主机上。7.3基于嵌入式平台的电梯监控系统软硬件环境系统用到了ARM2410S开发板上的以下硬件环境。17键小键盘:其作用在前面已经介绍。HOST端口:连接USB摄像头。WEBEYEV2000摄像头:连接到HOST端口上,作为电梯内部的视频监控。系统用到了以下软件环境:键盘驱动。OV511驱动程序:USB摄像头的驱动程序,配合video模块使用。Video4Linux标准视频处理接口:为Linux下的视频应用程序提供了一套统一的API,用于采集视频数据。JPEG压缩库:静态图像数据压缩标准既可用于灰度图像又可用于彩色图像。Qt:开发监控中心图形界面,用于处理并显示从服务器端传送过来的图像和电梯数据。Socket机制:建立网络通信。多线程;C语言开发与编译环境。系统体系结构7.3基于嵌入式平台的电梯监控系统系统的模块设计电梯监控系统的功能模块逻辑图7.3基于嵌入式平台的电梯监控系统电梯模拟方案设计(1)电梯实体的模拟设计用ARM2410开发板上的小键盘来模拟电梯的内部操作,数字键代表电梯的楼层,通过按键到达想要的楼层。在前面的基本设计概念中提到的模拟电梯的基本结构就是模拟电梯的核心数据结构,电梯的运行就是根据这个数据结构进行的。运行过程中每到达一个目标层以及每一次按下键盘都会更新这个结构体,监控中心通过获取这个结构体信息和视频信息来实现了电梯的监控。(2)电梯运行控制方案设计电梯总体运行遵循同方向优先算法,该算法如下:电梯有一个运行方向,当有多个目标请求时,先响应同方向的请求,即有多个目标层时先到达同方向上的目标层。举个简单的例子,如果电梯处于上升状态并停靠在5楼,目标层有l楼、4楼、8楼和9楼,则先升到8、9楼再下降到4、1楼,即到达的楼层顺序是:8,9,4,1。电梯总会通过判断当前到达的楼层是否是目标层或者根据某种算法计算确定下一个目标层的层数等方案来控制电梯正确的停靠。系统实现(略)
7.4无线点菜系统本系统采用ARM开发板加Linux操作系统开发,能够综合应用LCD、触摸屏和操作系统的API函数的应用程序电子点菜系统。此系统可由客人自行完成点菜,选菜,计费的整个过程。系统工作流程顾客点菜时,服务员利用手中的PDA进行点菜。顾客确认后通过PDA将数据发送给终端接收系统,将菜单数据传给后台数据库。系统收到数据后把菜单打印送到各厨房,同时数据库系统保存交易数据记录。收银也同步更新数据,并按规定格式分别打印菜单或酒水单。7.4无线点菜系统系统功能模块(1)用户权限管理为保证系统安全,要求系统对权限进行控制,比如普通服务员不能擅自修改顾客菜单。只有管理者才能通过后台数据库修改菜品价格等。(2)菜单图形化显示主界面漂亮美观,界面之间能相互调用,切换,点菜达到图文并茂,让顾客更直观地了解菜的种类和图片。(3)自动计算菜单总价顾客在点完每个菜品后,点菜系统能够及时显示消费总额,以方便顾客根据实际条件合理消费。(4)菜单和账单的打印系统提供菜单和账单的打印功能,方便服务员和顾客清楚地知道各自需要的信息。7.4无线点菜系统系统硬件设计电子点菜系统的硬件框架图本电子点菜系统采用三星S3C2410X。根据S3C2410X的外围接口特征,电子点菜系统的硬件由6大模块组成:Flash、SRAM和LCD显示屏、触摸屏、网络模块及电源模块。因为系统对存储空间的需要并不是很高,2MB对于系统与Bootloader的装载已经能完全满足需要,系统初始化及Bootloader存储在Flash中,Flash采用的是两个SST39VF160片子。SDRAM选用现代公司的57v系列的两片个HY57V651620芯片,4MB大小就可以满足系统动态存储要求。LCD使用的是一个320×240彩色液晶显示屏,触摸屏控制使用可直接控制四线电阻式的触摸屏。7.4无线点菜系统系统软件设计电子点菜系统的软件设计包括以下几个部分:系统程序初始化;嵌入式操作系统内核;显示系统;网络部分。由于系统采用三星S2410X,平台提供初始化代码,为我们进行系统初始化程序2410INIT的设计带来很多便利。嵌入式操作系统内核是嵌入式系统加电运行后的管理平台,负责实时性任务和多任务的管理,需要将其移植到适合我们的平台上来。LCD显示部分是电子点菜系统软件设计中重要的一部分,它由系统程序、用户应用程序和必需的驱动程序一起构成。网络部分需要实现前台与后台的通信,完成数据的传输。7.5基于嵌入式与WebService的智能家居系统通常把智能家居定义为利用电脑、网络和综合布线技术,通过家庭管理平台将与家居生活有关的各种子系统有机地结合起来的一个系统。智能家居是住宅智能化的核心,住宅智能化是智能家居先导。家庭智能化所带来的多元化信息和安全、舒适、便利的生活环境,将作为一个理想的目标来追求。本节一种基于嵌入式和WebService的智能家居模拟系统。7.5基于嵌入式与WebService的智能家居系统系统结构和功能本系统是一个跨平台的功能全面、使用灵活的智能家居系统。在Windows下建立WebService服务器端(简称Web服务器端),用掌上设备PocketPC作为移动终端(简称Web客户端),通过ARM2410S嵌入式开发板模拟家庭环境中的具体设备(简称开发板)。Web客户端与Web服务器端之间通过WebService实现数据传输,Web服务器端与ARM2410开发板之间通过Socket建立网络通信,WebService和Socket保证了系统中不同平台之间的通信。本系统实现了多种服务访问方式,客户端PocketPC通过WebService调用Web服务器端上提供的各项服务,实现远程家居系统的监控。同时,在服务器端建立站点,可以通过网页方式方便地进行本地或远程的查询与控制操作。所以,既可以用智能设备PDA,也可以通过网页来进行操作。系统的框架图7.5基于嵌入式与WebService的智能家居系统基于SQLServer数据库,本系统可以实现:家庭信息(如财务信息、物资信息、事物信息、菜谱信息、健康信息等)的管理和使用本系统的用户信息(注册用户)、正在使用的用户信息(在线用户)等的管理以及基于嵌入式平台的家庭设备(如大门、电饭锅、空调、湿度机、机器管家、视频监控等)的管理。所有家居系统的监控功能都是以Web服务的方式在服务器端实现的,客户端通过远程调用服务器端提供的Web服务方法实现本系统的管理。服务器端的SQLServer数据库中存储了各种家庭信息,通过数据库操作来响应远程客户查询与更新家庭信息的服务请求,通过与嵌入式开发板交互来响应远程客户监控家庭设备的服务请求。7.5基于嵌入式与WebService的智能家居系统软硬件环境系统用到了ARM2410S开发板上的以下硬件环境:直流电机:模拟家庭的空调设备。直流电机的开关模拟空调的开关,直流电机的转速模拟空调温度,直流电机转速的快慢变化模拟空调温度的调节过程。步进电机:模拟家庭的湿度机设备。步进电机的开关模拟湿度机的开关,步进电机的转向和转角模拟湿度指数,步进电机的转角及转向变化模拟湿度指数的调节过程。LCD触摸屏:用于显示和监视机器管家的动作变化过程,即机器人的移动过程。HOST端口:连接USB摄像头。WEBEYEV2000摄像头:连接到HOST端口上,作为家庭的视频监控设备。7.5基于嵌入式与WebService的智能家居系统系统用到了以下软件环境:驱动程序:包括直流电机驱动、步进电机驱动、USB摄像头驱动(OV511驱动程序和video-dev模块)、帧缓冲(Framebuffer)驱动。Video4Iinux标准视频处理接口:为Linux下的视频应用程序提供了一套统一的API,用于视频数据的采集。JPEG压缩库:静态图像数据压缩标准。由于通过视频采集获得的原始视频数据量很大,不适宜通过网络实时传输,所以采取了先对图像信息进行JPEG压缩的方法来解决,直接在内存中压缩并保存在内存缓冲中。FrameBuffer:用于在LCD触摸屏上绘制模拟机器人的图形,与LCD触摸屏、视频监控等结合实现了机器管家的动作控制与监视。Socket机制:建立与嵌入式开发板之间的网络通信。多线程。WebService:本系统的技术核心,实现远程服务的发布与调用。VS2005.NET.客户端和Web服务器端的开发环境。集成了WebService环境。7.5基于嵌入式与WebService的智能家居系统PorketPC2003:客户端智能设备模拟器,模拟掌上设备,集成在VS2005.NET中。SQLServer2005:Web服务器端的数据库,存储家庭各种信息,用于远程查询和更新。MD5算法:用于本系统的加密,主要是对注册用户的密码和其他的密码加密,提高系统的安全性,并产生在线用户的唯一标识字符串,提高服务访问的合法性。二进制文件:嵌入式开发板端的家庭设备的配置文件,用于初始化设备。开发工具Web客户端:VS2005.NET、智能设备PocketPC2003。Web服务器端:VS2005.NET、SQLSERVER2005数据库。家庭设备端:ARM2410S嵌入式开发板、C++、armv4l-unknow-linux-g++编译器。7.5基于嵌入式与WebService的智能家居系统功能模块设计1)用户登录与注销:为了提高系统的安全性,系统设置了用户登录功能。Web客户端在访问任可Web服务前先要访问用户登录服务,合法登录后才能进行相关操作。登录成功后,成为在线用户,Web服务器端通过一个唯一标识字符串来记忆在线用户,并以该唯一标识作为客户访问服务的身份验证信息。注销用于停止服务的访问,即在Web服务器端删掉与客户绑定的唯一标识。2)用户管理:管理员可以管理注册用户,增加、删除用户,修改注册用户的相关信息。注册用户设置了用户名和用户密码,这是登录时必须的输入信息。另外,还设置了用户权限:管理员和普通用户,有些操作只有管理员才能执行。为了进一步提高安全性,通过MD5算法加密密码,密码可以修改,也可以重置为初始密码。3)家庭管理:包括财务信息与物资信息的管理,可以根据用户权限来查看和更新这些信息。5)事务管理:包括日记与日程的管理,可以根据用户权限来查看和更新这些信息。日记与日程信息是按照用户来管理的,即登录用户只能管理自己的日记与日程信息。7.5基于嵌入式与WebService的智能家居系统6)家庭设备管理:通过嵌入式开发板实现大门、电饭锅、空调、湿度机、机器管家和视频监控的模拟控制和管理,可以对这些设备进行开关、参数查询、调节控制和相关配置等操作7)系统配置:包括Web服务器端的数据库配置(是否写入日志表)与嵌入式开发板中的家庭
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论