资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第10章,嵌入式Linux综合项目实例,第十章 嵌入式Linux综合项目实例,嵌入式,Linux,在实际中的应用非常广泛,本书前面各章介绍了嵌入式各个模块、各个软硬件的原理和实验,本章将向读者介绍一些基于嵌入式,Linux,的实际项目。读者通过阅读前面内容,已经有了嵌入式的概念,初步了解了如何开发简单的嵌入式程序,理解了嵌入式编程的一般流程以及软硬件环境的使用。在此基础上,我们将综合利用各个模块、软硬件环境开发具体的实际项目。,主要内容,第一节,基于嵌入式平台的电梯监控系统,第二节,硬件设计基础知识,第三节,硬件设计中应注意的一些问题,一、系统功能框图,二、功能简介,三、体系结构,四、功能解析图,五、基本设计概念,六、效果图,第一节 基于嵌入式平台的电梯监控系统,第一节 基于嵌入式平台的电梯监控系统 一、系统结构,本系统基于客户/服务器结构,ARM2410S嵌入式开发板作为电梯服务端,PC机为客户端。客户端在Linux下开发,客户端和服务端之间通过Socket通信,第一节 基于嵌入式平台的电梯监控系统 二、功能简介,视频图像采集结构:根据,Video4Linux,标准视频接口进行编程时所采用的结构体,包括视频采集部分的,4,个关键结构体,video_capability,、,video_picture,、,video_mbuf,、,video_mmap,。,键盘驱动,file_operations,数据结构:缩减基本键盘驱动功能建立的键盘驱动结构体,如,open(),、,close(),、,read(),等等。,电梯运行结构:模拟电梯的基本结构,主要包括当前电梯的状态、上下楼状态、目标楼层数组和当前电梯所在的楼层。一旦模拟电梯开发运行就会不断更新该结构体内数据。,Socket,网络传输结构:选用的网络传输协议、客户机,IP,、客户机进程端口号、服务器端,IP,和服务器端进程端口号。,缓冲区结构:图像缓冲区为,JPEG,文件,电梯缓冲区为电梯数据结构体,,Socket,网络传输缓冲区是长度为,1000,个字节的字符数组。,QT,界面显示结构:在监控中心接收服务器端传送过来的图像和电梯数据信息后利用,QT,界面进行显示,.,。,QT,界面上分成两个区,左半区采用,Qframe,控件用于视频图像的显示,右半区采用,Qpushbutton,按钮用于显示电梯数据。,第一节 基于嵌入式平台的电梯监控系统 三、体系结构,第一节 基于嵌入式平台的电梯监控系统 四、功能解析图,第一节 基于嵌入式平台的电梯监控系统 五、基本设计概念,(1)服务器端,视频采集模块:采用,WEBEYE V2000,摄像头,编译并加载,OV511,驱动程序;利用,Video4Linux,标准视频处理接口进行视频图像的采集;交叉编译,JPEG,库并移植至开发板,从而实现对视频图像数据的,JPEG,压缩,以减小网络传输负担。,小键盘电梯模拟模块:,17,键小键盘区模拟电梯的按钮区,键盘,19,数字键分别对应电梯的,9,个楼层,适当修改键盘驱动,使其能够随时读取键值;同时选择同方向优先的电梯算法实现电梯的运行。,Socket,网络传输模块:采用,Linux,下的,Socket,编程方法,利用,TCP,协议建立现场和监控中心的连接并发送相关数据。,(,2,)客户端,Socket,网络接收模块:采用,Linux,下的,Socket,编程方法,利用,TCP,协议建立现场和监控中心的连接并接收相关数据。,客户端显示模块:将服务器端采集的视频图像和电梯运行状态直观地显示在客户端主机上。,第一节 基于嵌入式平台的电梯监控系统 六、效果图,一、系统功能框图,二、功能简介,三、体系结构,四、基本设计概念,五、效果图,第二节 基于蓝牙技术的嵌入式点菜系统,第二节 基于蓝牙技术的嵌入式点菜系统,一、系统功能框图,10,本系统采用C/S结构,以上述模型为原型,实现了简单的基于蓝牙技术的点菜系统。将嵌入式开发板ARM2410S作为无线点菜器,即客户端;PC机作为后台管理端,即服务器端,服务器端在Linux下开发。客户端和服务器端之间通过蓝牙进行无线通信,服务器端有数据库,用于存储菜单信息和消费信息。为了方便,在客户端也创建了数据库,其中存储了菜单信息和房间信息,因此客户端不能很好地动态共享菜单信息和房间使用信息,所以本系统只适合点对点方式。,第二节 基于蓝牙技术的嵌入式点菜系统,二、功能简介,11,第二节 基于蓝牙技术的嵌入式点菜系统,三、体系结构,12,客户端,1)开台点菜模块,通过Qt图形界面,客户可以选择房间即开台,进入房间并将该房间置为使用状态后便可以点菜,然后进入该类菜的详细菜单的选择。客户点完所要的菜后,便可提交,通过蓝牙传输模块将所点的菜传到服务器端。,2)蓝牙传输模块,客户端的蓝牙数据传输主要包括点菜信息的发送和结账房间信息的接收,服务端,1)菜单管理模块,通过Qt图形界面的相关操作与数据库中菜单信息表的交互,服务器端可以对菜单进行管理(即增加、删除和修改菜单信息)。,2)消费结账模块,通过Qt图形界面的相关操作与数据库中消费信息表的交互,服务器端可以实现消费结账功能,即选择某个房间查询并显示此房间所点菜的信息。,3)蓝牙传输模块,服务器端的蓝牙数据传输主要包括点菜信息的接收和结账房间信息的发送。,第二节 基于蓝牙技术的嵌入式点菜系统,四、基本设计概念,13,第二节 基于蓝牙技术的嵌入式点菜系统,五、效果图,14,一、系统功能框图,二、功能简介,三、体系结构,四、基本设计概念,五、效果图,第三节 基于Web Service的数字油田监控系统,15,第三节 基于Web Service的数字油田监控系统,一、系统功能框图,16,现场设备服务端,现场设备服务端包括直流电机服务端和视频采集服务端两部分。直流电机服务端接收监控中心的控制数据,控制直流电机的运转状态。同时,采集直流电机的相关信息,当监控中心请求这些数据时将这些数据发送到监控中心。视频采集服务端接收监控中心的视频采集图像属性参数,设置摄像头图像采集参数,调节图像画面效果,并将视频采集图属性参数发送到监控中心。,监控中心,监控中心是整个系统的中心部件,对系统中的数据进行处理、存储,完成数据的路由和分发并监视系统中各个设备的状态,为进行故障诊断与维护作准备。监控中心发送直流电机控制数据到直流电机服务端来控制直流电机的运行;获取现场设备信息,实时监视油井运行情况;接收视频采集服务端传过来的视频数据并显示,获取视频图像属性参数,并可以随时调节视频采集图像属性;接收移动终端的直流电机控制数据,转发至直流电机服务器端来控制直流电机,并将现场环境状态参数发送到移动终端。,移动控制终端,移动控制终端只对直流电机进行监控,从监控中心获取现场设备信息并进行显示。操作人员根据这些信息,调节直流电机控制数据,发送至监控中心控制、调节直流电机的运行状态。,第三节 基于Web Service的数字油田监控系统,二、功能简介,17,第三节 基于Web Service的数字油田监控系统,三、体系结构,18,第三节 基于Web Service的数字油田监控系统,四、基本设计概念,19,第三节 基于Web Service的数字油田监控系统,五、效果图,20,一、系统功能框图,二、功能简介,三、体系结构,四、数据库结构设计,五、效果图,第四节 基于嵌入式与Web Service的智能家居系统,21,第四节 基于嵌入式与Web Service的智能家居系统 ,一、系统功能框图,22,本系统实现了多种服务访问方式,客户端Pocket PC通过Web Service调用Web服务端上提供的各项服务,实现远程家居系统的监控。同时,在服务端建立了站点,可以通过网页方式方便地进行本地或远程的查询与控制操作。所以,本系统使用灵活,既可以用智能设备PDA,也可以通过网页来进行操作。,本系统可以基于SQL Server数据库实现家庭信息(如财政信息、物资信息、事物信息、菜谱信息、健康信息等)的管理和使用本系统的用户信息(注册用户)、正在使用的用户信息(在线用户)等的管理以及基于嵌入式平台的家庭设备(如大门、电饭锅、空调、湿度机、机器管家、视频监控等)的管理。,所有家居系统的监控功能都是以Web服务的方式在服务端实现的,客户端通过远程调用服务端提供的Web服务方法实现本系统的管理。服务端的SQL Server数据库中存储了各种家庭信息,通过数据库操作来响应远程客户查询与更新家庭信息的服务请求,通过与嵌入式开发板交互来响应远程客户监控家庭设备的服务请求。,第四节 基于嵌入式与Web Service的智能家居系统,二、功能简介,23,第四节 基于嵌入式与Web Service的智能家居系统,三、体系结构,24,第四节 基于嵌入式与Web Service的智能家居系统,四、数据库结构设计,25,第四节 基于嵌入式与Web Service的智能家居系统,五、效果图,26,一、功能简介,二、音视频数据在双处理器间的传输模块设计,三、音频处理方案设计,四、视频处理方案设计,第五节 基于OMAP的音频与视频处理,27,本节设计的方案是基于OMAP5910开发平台的,我们可以将OMAP5910中的DSP和ARM描述为两个“终端”,本节设计的总体方案为:在ARM LINUX开发环境下开发ARM端的应用程序,在TI提供的CCS开发环境下完成DSP端的程序。两个程序在运行时,ARM端作为音视频数据的输入端,传到DSP端进行处理,然后再把处理后的结果返回到ARM端,并进行显示或播放等处理。当然,ARM端还有一些控制功能。这样就充分利用了OMAP5910的双核结构,实现了音视频数据的高效处理,提高了多媒体应用的性能。,OMAP5910中的ARM核和DSP核之间的通信通过DSP Gateway机制实现。DSP Gateway能够支持OMAP5910构架的OMAP处理器,它主要包含两部分:一是ARM端的Linux驱动程序,二是DSP端的基于DSP BIOS的一个实时内核及它上面的API。它使得开发DSP端的程序变得很简单,只需熟悉了DSP Gateway的API函数就能方便地在DSP上实现多任务管理,第五节 基于OMAP的音频与视频处理 一、功能简介,28,在DSP端设计并实现音视频处理程序,利用ARM核来控制音视频数据流的输入输出。考虑到数据量比较大,这里采用DSP端的被动块接收和被动块发送方式传递数据,第五节 基于OMAP的音频与视频处理,二、音视频数据在双处理器间的传输模块设计,29,音频部分的处理主要是利用MPEG中的MP3编码标准,在DSP端实现对音频数据流的压缩处理,在ARM端实现对设备的控制以及对数据的输入输出控制。通过下载移植MP3编解码程序,并修改相应的Makefile文件,将MP3编解码程序移植到开发板上,使得MP3编解码程序能够在OMAP5910开发板上运行。然后利用DSP Gateway通信技术,完成ARM和DSP在处理前与处理后的数据交互。,第五节 基于OMAP的音频与视频处理,三、音频处理方案设计,30,1ARM端,ARM端是基于ARM9核的TI925T处理器,是这个多媒体应用平台的核心。它的任务为:打开设备文件;读取视频文件中的视频数据并根据DSP端的接收能力将视频数据发送到DSP端;发送控制信息到DSP端,视频数据经过DSP端的处理后,接收处理后的结果并输出,2DSP端,DSP核的优点就是能高效处理大量数据,所以视频数据的压缩处理放在DSP端执行。根据MPEG-2编码原理,主要有以下几个功能模块:,离散余弦变换(,DCT,),量化和逆量化模块,之型扫描,运动估计模块,运动补偿预测模块,变长编码模块,第五节 基于OMAP的音频与视频处理,四、视频处理方案设计,31,本章以项目实例的形式,讲述了嵌入式linux系统开发,主要包括基于嵌入式平台的电梯监控系统、基于蓝牙的无线点菜系统、
展开阅读全文