




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
*学院 毕 业 设 计(论文)题目基于蓝牙的遥控KTV点播系统 系别信息工程系 专业计算机应用技术 班级* 姓名* 学号* 指导教师* 日期* 基于蓝牙的遥控KTV点播系统KTV无线点歌解决方案总计:毕业设计(论文)26 页图表 16 幅目 录摘 要IIIABSTRACTIV第1章 绪 论- 1 -1.1 系统研究的背景- 1 -1.2 系统研究的意义- 1 -1.3 国内外研究现状- 1 -1.4 系统的创新点及技术关键- 1 -1.5 系统的科学先进性- 1 -1.6 论文内容安排- 2 -第2章 系统整体分析- 3 -2.1 嵌入式系统概述- 3 -2.2 系统硬件平台选型- 4 -2.3 系统软件平台选型- 4 -2.4 系统功能需求分析- 4 -2.5 系统整体框架- 5 -第3章 系统硬件平台介绍- 6 -3.1 嵌入式微处理器简介- 6 -3.2 硬件开发平台介绍- 6 -3.3 蓝牙简介- 7 -3.3.1 蓝牙系统结构- 8 -3.3.2 蓝牙协议(HCI)- 8 -3.3.3 蓝牙在系统中的应用- 9 -第4章 系统软件平台介绍- 10 -4.1 嵌入式操作系统- 10 -4.1.1 嵌入式Linux系统- 10 -4.1.2 嵌入式Linux系统的组成- 10 -4.2 嵌入式图形系统Qt/Embedded- 10 -4.2.1 Qt简介- 10 -4.2.2 Qt特征- 11 -4.2.3 Qt核心编程技术- 11 -4.2.4 Qt Creator- 11 -4.2.5 Qt/Embedded- 12 -4.3 SQLite数据库简介- 12 -4.4 MPlayer媒体播放器简介- 12 -4.4.1 MPlayer媒体播放器模式- 13 -4.4.2 MPlayer媒体播放器在系统中的应用- 13 -4.5 GCC及交叉编译器简介- 14 -4.6 TSLib简介- 14 -第5章 系统设计- 15 -5.1 开发环境搭建- 15 -5.2 系统底层软件平台构建- 15 -5.3 系统客户端应用开发- 16 -5.3.1 数据库模块- 16 -5.3.2 蓝牙无线通信模块- 17 -5.3.3 用户界面模块- 17 -5.4 系统服务器端应用开发- 18 -第6章 系统移植- 19 -6.1 移植系统运行依赖库- 19 -6.2 移植MPlayer媒体播放器- 19 -6.3 移植系统服务器端应用程序- 19 -6.4 移植系统客户端应用程序- 20 -6.5 下载应用程序包及运行脚本编写- 20 -第7章 系统测试- 21 -7.1 系统功能测试- 21 -7.2 系统性能测试- 22 -7.3 系统集成测试- 23 -总结与展望- 24 -致 谢- 25 -参 考 文 献- 26 -摘 要随着科学技术的不断提高,计算机技术的日渐成熟,嵌入式技术也得到了飞速发展和广泛应用。目前,嵌入式技术及其产品己广泛应用于智能家用电器、智能楼宇、仪器仪表、通讯产品、工业控制、掌上型电脑、各种智能IC卡的应用等等。将嵌入式系统应用于多媒体移动终端,充分发挥了嵌入式系统的低功耗、集成度高、可扩充能力强等特点是当前嵌入式应用的热点。当前的KTV点播系统都是采用PC机作为硬件平台,体积大且成本高,而且点歌台固定,点歌方式受到限制。用户的各种操作都必须到点歌台方能完成,操作非常不便利,大大降低了KTV的娱乐性。因此,为满足市场上用户对KTV无线点歌的需求,同时利用嵌入式技术的优点,设计开发了这套基于蓝牙的遥控KTV点播系统。系统通过在ARM硬件开发平台上,采用Qt/E、SQLite、MPlayer以及蓝牙无线技术,实现了KTV的无线遥控终端点歌,打破了传统点歌的地理位置局限性,使点歌真正成为一种享受。同时由于嵌入式设计开发的特点,使系统拥有小巧、成本低、易于维护和使用等特点。关键词:KTV;嵌入式;蓝牙;Qt/E;MplayerABSTRACTWith the continuous improvement of science and technology, increasingly sophisticated computer technology, embedded technology has been rapid development and wide application. Currently, the embedded technology and its products have been widely used in smart appliances, smart buildings, instrumentation, communications, industrial control, handheld computers, smart IC card-based applications. Embedded systems for multimedia mobile terminals, full of embedded systems low power, highly integrated, scalable capacity and other characteristics. Current KTV-on-demand systems are based on the PC as the hardware platform, the bulky and costly, and the song stationary, song way restricted. The users various operations have to be to the song sets to complete the operation very convenient and greatly reduce the KTV entertainment. Therefore, in order to meet the market KTV wireless users on the song needs, while leveraging the advantages of embedded development, design and development of a set of Bluetooth-based remote control KTV VOD system. The system developed by the ARM hardware platform, using the Qt / E, SQLite, and Bluetooth wireless technology, wireless remote control terminal of the KTV song, breaking the geographical limitations of traditional song, so enjoy the song has really become a . And because the characteristics of embedded design and development, the system has a compact, low cost, easy maintenance and use and so on. Keywords:KTV;Embedded;Bluetooth;Qt/E;MplayerIII基于蓝牙的遥控KTV点播系统第1章 绪 论1.1 系统研究的背景当前的KTV点播系统都是采用PC机作为硬件平台,体积大并且成本高,而且点歌方式固定,已经完全不能满足人们越来越高的要求。用户希望能够在轻巧的便携式设备上同样能够享受到过去只能在笨重的PC机上才能享受各种服务。1.2 系统研究的意义根据当前来看嵌入式无线KTV点播系统具有巨大的市场潜力,但目前就已推出市场的产品来看,总有一些不尽如人意的地方,而且生产厂家多为国外实力较强的企业,国产厂家屈指可数,本设计以市场为导向,成果可以直接应用于生产,增加国民收入,亦可提高国内企业的竞争力,具有重要的研究价值。在研究嵌入式系统开发技术的基础上,提出了一套满足要求的、低成本的嵌入式无线KTV点播系统的解决方案。1.3 国内外研究现状根据有限的可查资料以及实地调查来看,在当前国内外的同类项目中,在点歌的设计方面都是采用PC机固定点歌模式,这样点歌既不方便又浪费时间。同时,传统的点歌设备已不能满足人们越来越高的需求。传统设备点歌方式原始,速度太慢,并且有一定的地理位置局限性,这样就给人们的休闲情绪带来一定的影响。尤其是目前的量贩式KTV,每分每秒对客人和经营者都很重要,所以提高设备档次、点歌速度以及改变点歌方式是势在必行的一件事情。1.4 系统的创新点及技术关键通过将嵌入式图形界面Qt/E、蓝牙无线技术、嵌入式数据库SQLite、MPlayer媒体播放器进行综合应用开发,实现了无线遥控点歌。同时将整个系统分为点和播两个模块,使点歌不再受地理位置的限制,极大的方便了用户的使用。1.5 系统的科学先进性系统采用嵌入式ARM作为硬件平台,设备小巧并且成本低。同时实现了无线遥控点歌,使点歌更加的方便、快捷,系统的整体性能及设计思想都领先于当前同类系统。1.6 论文内容安排论文说明了基于蓝牙的遥控KTV点播系统的研究与设计,内容囊括了从系统需求分析、软硬件平台选择、开发环境的搭建、系统应用软件设计以及系统测试整个嵌入式产品开发流程。第1章 绪论。简要叙述了系统研究的背景和意义、当前国内外的研究现状、系统的创新点及技术关键、系统的科学先进性以及论文内容安排。第2章 系统整体分析与设计。包括嵌入式系统概述、系统的软硬件平台选型、系统的需求分析以及系统整体功能框架介绍。第3章 系统硬件平台。介绍了嵌入式处理器、S3C2410X开发平台及其外围功能器件以及蓝牙简介。第4章 系统软件平台。介绍了嵌入式操作系统、嵌入式Linux系统、Qt开发工具、SQLite数据库、MPlayer媒体播放器、GCC交叉编译工具链以及TSLIB触摸屏库等。第5章 系统设计。介绍了系统开发环境搭建、系统底层软件平台构建以及系统上层应用开发的整个过程。第6章 系统移植。介绍了Qt、TSLIB、蓝牙协议栈、MPlayer、系统服务器端应用以及系统客户端应用的移植过程。第7章 系统测试。介绍了系统移植到硬件平台后的测试过程,包括系统功能测试、系统性能测试以及系统集成测试。总结与展望。对研究内容进行总结,找出系统的不足之处,并指出下一步的研究方向。第2章 系统整体分析构建嵌入式无线KTV点播系统,需要综合考虑硬件和软件两方面的因素。在硬件方面综合考虑功能、功耗、体积、可靠性、成本等因素,选择了S3C2410X处理器作为硬件的核心部件。软件方案采用具有高度模块化、易于移植并且开源的Linux平台。2.1 嵌入式系统概述目前嵌入式系统已经渗透到我们生活中的每个角落,其地位和价值已经不可取代。嵌入式系统一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统的应用范围如图2.1所示。图2.1 嵌入式系统的应用一个完整的嵌入式系统包括硬件系统和软件系统。硬件系统一般包括嵌入式处理器、嵌入式存储器、输入/输出(I/O)等硬件设备。软件系统一般包括实时系统和分时系统,实时系统里面又包括软实时系统和硬实时系统。嵌入式系统框架如图2.2所示。图2.2 嵌入式系统框架2.2 系统硬件平台选型嵌入式微处理器是嵌入式系统的核心,微处理器的选择常常会限制系统中其他模块的选择。目前嵌入式处理器的种类很多,常见的 32 位嵌入式处理器有ARM、PowerPC、MIPS、Motorola68K等,但ARM占据了绝对主流。与其他嵌入式处理器相比,ARM具有体积小,功耗低,成本低,性能高,并提供丰富的片内外围控制电路。系统采用了Samsung公司的S3C2410(ARM920T)处理器作为系统的硬件核心。2.3 系统软件平台选型嵌入式操作系统分为商用型和免费型两种。商用型的实时操作系统功能稳定、可靠,典型的是风河公司的Vxworks。免费型的操作系统则在价格方面具有优势,嵌入式Linux因其价格低廉、功能强大、易于移植正在被广泛采用。系统就采用了嵌入式Linux作为软件平台。2.4 系统功能需求分析KTV点播系统以满足用户的需求的宗旨,不断创新以适应用户越来越来的要求,设计以用户需求为导向,在实现现有KTV点播系统的基本功能以外主要完成点歌和播放的分离、触控操作、无线通讯、多种点歌方式、播放控制以及掌上遥控点歌等功能。2.5 系统整体框架根据实际需求分析、功能设计,整个系统大致可以分为客户端(点歌)和服务器端(播放)两个模块,在这两个模块中又包括以下几个部分:1、用户界面。一个友好的用户界面是一个出色软件系统所必备的,系统的界面主要包括三个部分:管理维护界面、歌曲点选界面、歌曲播放及控制界面。为了能够实现在嵌入式系统上运行,选择了Qt/E作为系统的开发工具。2、数据库。几乎每一个较大的应用软件都会使用到数据库,一个应用软件的数据设计的好坏直接关乎到这个软件的性能。系统采用的是性能优良、体积小巧、开源免费的嵌入式SQLite数据库。3、歌曲播放及控制。系统采用MPlayer作为后台媒体播放解码器,MPlayer具有功能强大、支持媒体格式多、开源易于移植等特点。4、蓝牙无线通信。系统通过将蓝牙协议栈、底层驱动、通信依赖库移植到嵌入式系统中,并采用模拟socket方式进行数据通信。如图2.3所示为系统整体功能框架图。图2.3 系统功能框架图系统中的客户端和服务器端是通过蓝牙进行无线通信,客户端通过将用户的点歌请求、控制命令发送到服务器端,服务器端在接收到客户端的请求后进行相应处理,包括歌曲的播放、控制等操作。第3章 系统硬件平台介绍系统选用的硬件开发平台是采用Samsung公司基于ARM920T内核的S3C2410X微处理器。在此基础上,根据实际应用需要外围扩展了部分芯片。本章主要介绍ARM微处理器芯片S3C2410X的功能特点以及基于S3C2410X的嵌入式系硬件平台的各功能模块。3.1 嵌入式微处理器简介嵌入式系统中的微处理器通常采用RISC(精简指令集计算机)结构,并在此基础上,发展了多种不同的微处理器体系结构,如ARM,PowerPC,MIPS等等。其中ARM体系结构在过去的十多年中己成为世界上最受欢迎的32位微处理器体系结构,基于ARM技术的微处理器应用占据了32位RISC微处理器75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。ARM微处理器以及其它厂商基于ARM体系结构的处理器目前包括ARM7、ARM9、ARM9E、ARMl0E、ARMl1、SecurCore、Xscale、StrongARM等系列。3.2 硬件开发平台介绍系统使用的硬件开发平台在以S3C2410X微处理器芯片为核心的基础根据具体需要上扩展了一系列外围功能器件,最终构成了系统的硬件平台,如图3.1所示为系统的硬件平台实物图。图3.1 硬件平台实物图S3c2410X 芯片是三星公司在ARM920T核的基础上集成了大量功能单元一款微处理器,其结构图如图3.2所示。图3.2 S3C2410X芯片结构图3.3 蓝牙简介蓝牙(Bluetooth)是由Ericsson、IBM、Intel、Nokia和Toshiba等公司在1998年联合推出的一项先进的无线网络技术,它是一种无线数据与语音通信的开放性全球规范,以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。遵循蓝牙协议的各类数据及语音设备将能够用无线技术非常方便地实现快速、灵活、安全、低价位、低功耗的数据和语音通信。表3.1为蓝牙的技术指标和系统参数表。表3.1 蓝牙的技术指标和系统参数表技术指标参数工作频段ISM频段,2.4022.480GHz双工方式全双工,TDD时分双工业务类型支持电路交换和分组交换业务数据速率1Mb/s非同步信道速率非对称连接721/57.6Kb/s,对称连接483.6Kb/s同步信道速率64Kb/s功率美国FCC要求0dbm(1mW),其他国家可扩展为100mW跳频频率数79个频点/MHz跳频频率1600次/s工作模式PARK/HOLD/SNIFF数据连接方式1/3FEC,2/3FEC,ARQ鉴权采用反应逻辑算术信道加密采用0位、40位、60位密钥语音编码方式连续可变斜率调制CVSD发射距离一般可达10m,增加功率的情况下可达100m3.3.1 蓝牙系统结构蓝牙系统采用GFSK调制,抗信号衰落的性能较好,采用快跳频和短包技术以减少同频干扰,保证传输的可靠性;使用2.4GHz 的ISM 频段,无需申请许可证。蓝牙的调制信号速率为1Mb/s,以时分方式进行全双工通信,其基带协议是电路交换和分组交换的结合。蓝牙系统结构如图3.3所示。图3.3 蓝牙系统结构3.3.2 蓝牙协议(HCI)蓝牙特别兴趣小组(SIG)开发了蓝牙协议规范, 已发布的版本包括1.0、1.0b、1.1和2.0。蓝牙协议规范并允许开发人员开发基于可互操作的无线模块和数据通信协议的交互式服务和应用, 目的是使符合该规范的各种应用之间能够实现互操作。蓝牙协议可以分为4 层,即核心协议层、电缆替代协议层、电话控制协议层和采纳的其它协议层。蓝牙的核心协议又包括逻辑链路控制与适配协议(L2CAP)、服务发现协议(SDP)、串口仿真协议(RFCOMM)和电话控制协议规范(TCS)等四部分。3.3.3 蓝牙在系统中的应用在系统中采用USB蓝牙模块作为硬件基础,并移植了blueZ协议栈,同时在程序中使用了串口仿真协议(RFCOMM)模拟socket进行无线通信。即能够像普通socket网络编程一样进行蓝牙通信编程,大大降低了蓝牙通信编程的复杂性。同时由于蓝牙技术的应用也使系统的点播模块能够摆脱传统笨重的点歌台和信号线,使掌上点歌成为现实。第4章 系统软件平台介绍4.1 嵌入式操作系统操作系统是管理计算机上的资源,为用户使用计算机及其外部设备提供最基本接口的程序。随着应用领域的扩大,为了适应不同的应用场合,考虑到系统的灵活性、可伸缩性以及可裁减性,一种以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机操作系统嵌入式操作系统(EOS)便随之延生。常见的嵌入式操作系统有VxWorks、Wince、C/OS-II以及嵌入式Linux,其中属嵌入式Linux最为常用,是当前研究的热点。4.1.1 嵌入式Linux系统嵌入式Linux 是将日益流行的Linux操作系统进行裁剪修改使之能在嵌入式计算机系统上运行的一种操作系统,嵌入式Linux既继承了Internet上无限的开放源代码资源又具有嵌入式操作系统的特性。采用Linux定制嵌入式操作系统有系统稳定、功能强大、简单易用、使用成本低、文档完善、强大的网络功能和提供对多种处理器的支持等优势。4.1.2 嵌入式Linux系统的组成嵌入式Linux系统一般由引导装载程序BootLoader、Linux内核、文件系统、硬件驱动程序以及应用程序等五部分组成。4.2 嵌入式图形系统Qt/Embedded4.2.1 Qt简介Qt是Trolltech公司的标志性产品(现Trolltech公司已被手机巨头NOKIA公司收购),是一个跨平台的C+图形用户界面(GUI)工具包,Qt 应用程序接口与工具兼容于所有支持平台,让开发员们掌握一个应用程序接口,便可执行与平台非相关的应用开发与配置Qt/Windows(Windows XP, 2000, NT 4, Me/98) Qt/Mac(Mac OS X) Qt/X11(Linux, Solaris, HP-UX, IRIX, AIX等) Qt对不同平台的专门API进行了专门的封装(文件处理,网络等)。4.2.2 Qt特征引入一种用于无缝对象通讯的被称为信号和槽非常强大机制,可查询和可设计的属性,强大的事件和事件过滤器,根据上下文进行国际化的字符串翻译,完善的时间间隔驱动的计时器使得在一个事件驱动的图形界面程序中很好地集成许多任务成为可能。以一种自然的方式组织对象所有权的分层次和可查询的对象树。被守护的指针,QGuardedPtr,当参考对象被破坏时,可以自动地设置为无效,不像正常的C+指针在它们的对象被破坏的时候变成了“摇摆指针”。4.2.3 Qt核心编程技术Qt是在C+的基础上扩展出来的一套应用程序类库(框架),它有自己得核心编程技术,具体包括元对象系统、信号和槽、属性、QOBject类、对象树、事件、QApplication类以及QWidget类等。4.2.4 Qt CreatorQt Creator是Qt 被Nokia收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。如图4.1所示是在Linux环境下打开后的第一屏显示的主界面,在下面的开发过程中都将使用Qt Creator作为系统的开发工具。图4.1 Qt Creator开始界面4.2.5 Qt/EmbeddedQt/Embedded(简称Qt/E)是一个专门为嵌入式系统设计图形用户界面的工具包。使用Qt/E,开发者可以:用Qt/E开发的应用程序要移植到不同平台时,只需要重新编译代码,而不需要对代码进行修改。并可以随意设置程序界面的外观、方便地为程序连接数据库、使程序本地化、将程序与Java集成等。4.3 SQLite数据库简介SQLite是DRichard Hipp用C语言编写的开源嵌入式数据库引擎。它是完全独立的,不具有外部依赖性,非常健壮。SQLite第一个Alpha版本诞生于2000年5月,至今已经有11个年头,最新版本SQLite3也已经发布。SQLite是完全免费开源的软件。SQLite能够运行在Windows/Linux/Unix等各种操作系统。 SQLite源代码大约3万行,250KB大小,占用资源非常少。相比Mysql、PostgreSQL这两款著名的开源数据库,SQLite占用资源更少,处理速度更快,非常适合用于嵌入式系统开发中。在系统中采用SQLite数据库对歌曲信息结构进行组织、存储以及管理。通过使用SQLite建立歌曲信息数据库表,然后就可以在程序通过相关接口函数对歌曲信息进行操作,如插入、删除、更新、查询等。采用SQLite数据库进行歌曲信息的管理大大降低了编程的复杂性。在具体的系统数据库模块中,采用了Qt连接SQLite数据库的方式来操作数据库。Qt框架中QtSql模块提供了一个平台无关且数据库无关的访问SQL数据库的接口。Qt中的每个数据库连接用一个QSqlDatabase对象来表示,同时Qt也使用不同driver来和各种不同数据库的API进行通讯。对于SQLite数据库Qt提供了很好的支持和封装,通过Qt的相关类可以很容易的进行数据库操作。4.4 MPlayer媒体播放器简介MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布。此款软件可在各主流作业系统使用,例如Linux和其他类Unix系统、微软的视窗系统及苹果电脑的Mac OS X系统。MPlayer能够播放大多数MPEG、VOB、AVI、OGG、VIVO、ASF/WMV、Qt/MOV、FLV、RM等媒体文件。相对其它播放器来说,MPlayer还具有资源占用非常少,不需要任何系统解码器就可以播放各种媒体格式,在低配置的机器上使用等突出优势。所以对于运算速度相对较弱的嵌入式系统来说,MPlayer是一个很好的选择。4.4.1 MPlayer媒体播放器模式MPlayer本身是一个命令行的程序,默认情况下MPlayer是从键盘上获得控制信息。但MPlayer也另外提供了一种更为灵活的控制方式 slave 模式。在slave 模式下,MPlayer会在后台运行并不再截获键盘事件,它只会从标准输入读取以换行符(n)分隔开的命令,这样就为GUI程序提供一个简单的编程接口,系统中就是采用MPlayer的slave模式进行播放控制的。在Linux命令行下使用如下命令:#MPlayer -input cmdlist就会打印出一份当前 MPlayer 所支持的所有 slave 模式的命令。在实际编程中常用的命令如表4.1所示。表4.1 MPlayer常用编程命令表命令参数功能seekFloat Integer跳到指定时间播放speed_incrFloat快进speed_setFloat设置指定时间quitInteger退出pause无暂停,再一次表示重新播放get_percent_pos无取得百分比表示的进度get_time_pos无取得时间进度Mute无切换为静音模式4.4.2 MPlayer媒体播放器在系统中的应用MPlayer被评为Linux下最优秀的播放器,所以在系统的设计中,选用了MPlayer作为系统的媒体播放器来进行歌曲媒体文件的播放以及控制。使用MPlayer可以播放常见的媒体文件,它既支持视频播放又支持音频播放,也可以视音频同时播放。Mplayer会根据传入的不同参数执行不同的动作和响应处理。在系统的播放模块中是采用Qt的QProcess(进程类)通过start方法调用slave模式下的MPlayer产生一个进程,然后通过QProcess类的write方法向MPlayer发送控制命令,实现控制播放的目的。在控制的过程中使用到的相关参数功能介绍如下:-quiet显示较少的输出和状态信息,除去冗余显示信息-zoom 切换视频播放分辨率,即播放界面大小-x 后面跟上分辨率的宽,用来设置播放界面的宽度-y 后面跟上分辨率的高,用来设置播放界面的高度4.5 GCC及交叉编译器简介GCC(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。系统开发中使用的是基于ARM Linux平台系列交叉编译工具链。4.6 TSLib简介TSLib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。系统由于要实现触控点歌,所以为了使系统能够支持触摸屏,在这里选择了TSLib函数库,具体版本为TSLib1.4。因为它是一个函数库,所以必须要在交叉编译环境和嵌入式根文件系统中都要安装。第5章 系统设计系统设计由以下几个部分组成:开发环境搭建、系统底层软件平台构建、系统客户端应用开发与系统服务器端应用开发。5.1 开发环境搭建通常的嵌入式系统的软件开发采用一种交叉编译调试的方式。交叉编译调试环境建立在宿主机上,对应的开发板叫做目标板。运行Linux 的PC开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码,然后把可执行文件下载到目标机上运行,所以在开发之前需要建立这个开发环境,需要的文件有ubuntu10.04LTS系统镜像包、arm-Linux-gcc.3.4.6交叉编译器、Qt Creator2.0、Mplayer源码包、blueZ蓝牙协议栈源码包、tslib1.4源码包、Qt/E4.6.3源码包。以下是搭建开发环境的主要步骤。1、安装Linux操作系统2、安装交叉编译工具链3、安装Qt集成开发环境4、安装Linux下的MPlayer媒体播放器5、交叉编译并安装蓝牙协议栈及依赖库6、交叉编译并安装TSLib函数库7、交叉编译并安装Qt/E在以上步骤完成之后就搭建好了系统的开发环境,在下面的工作中会使用搭建好的开发环境进行应用开发。5.2 系统底层软件平台构建系统底层软件平台是根据系统的硬件开发平台S3C2410构建的,所以在移植u-boot、Linux内核、根文件系统的时候都是根据S3C2410平台而做出的相关配置。需要的源码包有u-boot-1.3.2.tar.bz2、linux-2.6.24.4.tar.bz2、busybox-1.9.2.tar.bz2。以下是系统底层软件平台构建的主要过程。1、移植U-boot2、移植Linux内核3、移植根文件系统4、烧写U-boot、Linux内核以及根文件系统在以上工作完成之后就可以启动开发板进入Linux系统中,这样系统底层平台构建完成。5.3 系统客户端应用开发整个系统分为客户端和服务器两个模块,实现点和播的分离。点与播两个模块都是采用Qt作为程序开发框架。客户端的主要功能就是为用户提供友好的点歌界面,并且实现多种点歌方式以及其他功能。具体设计包括数据库模型、蓝牙无线通讯以及用户界面。客户端作为掌上终端最终会设计的非常小巧而且是通过蓝牙无线点歌。5.3.1 数据库模块为了满足系统客户端对歌曲信息的存储以及查询,需要设计一个数据库。数据库中存放歌曲的各种索引信息,分别用于不用点歌方式的搜索和查询。如表5.1为系统数据库功能关系表。表5.1 数据库功能关系表字段功能关系编号用于数据表的主键歌名用于拼音点歌、字数点歌、笔画点歌保存路径用于读取歌曲文件已进行各种操作所属分类用于分类点歌所属歌星用于歌星点歌所属语种用于语种点歌首拼音用于拼音点歌录入时间用于最新歌曲创建数据库表的具体命令代码为:CREATE TABLE Song(songId INTEGER PRIMARY KEY,songName VARCHAR(100),songPath VARCHAR(100),songCategory VARCHAR(20),singerId INT,songLanguage VARCHAR(20),pinyin VARCHAR(50) DEFAULT NULL,songRegTime DATETIME)数据库创建完成之后就可以在Qt中连接SQLite数据库,指定驱动模块,打开数据库并生成数据库操作对象,然后就可以在程序中使用数据库对象来进行数据库的相关操作。5.3.2 蓝牙无线通信模块蓝牙无线通信模块作为系统设计的主要模块之一,在系统的客户端点歌以及服务器播放两个模块中整起到了非常大的作用,系统的能够实现无线终端点歌就得益于蓝牙技术的应用。如图5.1所示为蓝牙无线通信框图。图5.1 蓝牙无线通信框图其中客户端蓝牙无线通信模块主要完成发起socket连接、发送用户控制请求以及发送歌曲点播信息等功能。服务器蓝牙无线通信模块则主要完成socket网络监听功能,若有客户端发来连接请求则相应,同时做出下一步处理。在两个模块通信的过程中客户端在通信之前得到服务器的蓝牙物理地址,然后在程序中通过建立一个模拟网络套接字socket向服务器端发出连接请求。服务器端则同客户端一样在通信之前首先建立一个模拟网络套接字socket,然后与本地蓝牙物理地址进行绑定,绑定完成之后开启监听,监听网络上是否有连接请求,如果有则判断连接地址是否合法,判断发送连接请求的地址与通信之前设定的地址范围是否相符,如果符合则接受连接请求,通过三次握手建立网络通信连接,如果不符合则决绝连接,保护系统的安全。这样在建立连接之后客户端就可以通过建立的连接在需要的时候同服务器通信,最终完成点歌、播放控制等无线遥控功能。5.3.3 用户界面模块在系统中为了提升系统的整体效果,采用Qt设计了非常友好的用户界面以及操作功能,客户端系统主界面如图5.2所示,其中每个功能按钮都对应一个信号和槽,信号和槽式Qt编程的核心技术,通过信号可以将界面上的空间所发生的事件进行发射,槽函数负责接受相应信号并作出响应处理。如播放暂停按钮,与其对应的信号是单击,它的单击信号连接一个槽处理函数,在这个函数中通过QProcess来向slave模式下的MPlayer发送命令,达到控制播放的目的。其他的控件在处理方式上都与播放暂停按钮类似,都有自己得信号和槽。图5.2 客户端系统主界面5.4 系统服务器端应用开发系统服务器端的主要功能就是响应客户端发送来的各种请求,并作出正确处理,包括歌曲选择、播放控制等。具体设计包括后台控制MPlayer播放器模块。系统的服务器模块采用的歌曲播放方式是采用MPlayer的slave模式通过QProcess后台控制MPlayer。关键实现代码如下。 QStringList args;/指定MPlayer为slave模式和播放列表文件 args -slave; args -quiet; args -zoom; args -playlist; args start(/mnt/yaffs/MPlayer/MPlayer, args);上述代码完成客户端的播放以及停止的请求,采用QProcess后台控制MPlayer实现各种客户端播放控制请求。第6章 系统移植在系统设计完成之后就可以将其移植到目标平台上,移植的过程一般分为以下几个部分:移植系统运行依赖库、移植MPlayer媒体播放器、移植系统服务器端应用程序、移植系统客户端应用程序、系统综合运行。移植系统运行依赖库包括GLibc函数库、TSLib函数库、Qt/E库、蓝牙协议栈函数库、移植后台播放器MPlayer等几个部分。移植MPlayer媒体播放器介绍移植MPlayer的方法和步骤。移植系统应用程序包括移植服务器应用和移植客户端应用。6.1 移植系统运行依赖库系统应用需要正常运行离不开库的支持,所以在运行系统应用之前,需要将其所依赖的库移植到目标板上,以下是主要移植过程。1、移植GLibc标准函数库GLibc是GNU发布的libc库,即c运行库。GLibc是Linux系统中最底层的api,几乎其它任何运行库都会依赖于GLibc。2、移植TSLIB函数库想要系统实现触控点歌功能,Qt与TSLib库的结合是必须的,TSLib主要负责底层的触摸屏信号处理与发送到上级。3、移植Qt/E库基于Qt框架开发的程序都要依赖Qt的库,运行在嵌入式设备上的Qt程序依赖Qt/E的库,所以需要移植Qt/E的库。4、移植蓝牙库以及相关工具采用蓝牙进行无线通信需要用到蓝牙的相关库,所以需要将之前编译生成的蓝牙库移植到目标平台上。6.2 移植MPlayer媒体播放器首先将Mplayer源码包交叉编译,编译成功后,将其生成的目标平台可执行文件通过网络下载并烧写到目标平台上。6.3 移植系统服务器端应用程序首先交叉编译服务器应用,交叉编译成功后会生成一个可执行程序,这个可执行程序就是要移植到目标平台上的程序。6.4 移植系统客户端应用程序客户端程序的移植稍微复杂一些,需要移植客户端的配置文件、数据库文件、界面图像文件以及应用程序。6.5 下载应用程序包及运行脚本编写将应用程序下载到目标平台后,需要设置程序运行时所需的环境变量,指导程序正确的运行,一般使用脚本的形式。如果程序需要开机启动,可以根据需要修改init.sh脚本,添加响应的启动内容。另外在 Qt编写程序的过程中,如果需要交叉编译并移植到开发板执行,一般中文都无法正常显示,所以需要在程序中指定使用的文本编码以及使用的字体。第7章 系统测试将系统应用程序移植到目标平台之后,就可以运行并根据需要进行相关的测试,测试的大概内容包括:系统的功能测试、系统的性能测试以及系统集成测试。系统的功能测试就是测试系统的相关功能是否已经实现,系统的性能测试是建立在功能测试完成的基础上,就是测试系统在运行时的性能表现,比如启动时间,以及功能响应时间等等。系统集成测试就是将整个系统包括客户端以及服务器进行综合应用测试,看是否能够按照预先指定的功能正常工作。7.1 系统功能测试对系统的功能测试分为两部分,分别是:服务器功能测试、客户端功能测试。服务器功能测试包括:蓝牙无线通信功能测试、请求响应功能测试、播放控制功能测试以及总体功能测试,具体测试步骤如下。1、蓝牙无线通信功能测试启动服务器后,开始通过PC机上的蓝牙向服务器端发出连接请求,并发送数据,经过多次测试,服务器都工作正常。如图7.1为客户端成功发送连接请求。图7.1 客户端成功发送连接请求2、请求响应功能测试首先启动服务器端,然后运行在PC机的客户端程序通过蓝牙向其发送请求,经过多吃重复测试,服务器都响应正常。服务器接受连接成功如图7.2所示。图7.2 服务器成功接受连接3、播放控制功能测试启动服务器端,然后通过PC上的客户端程序进行点歌,并且向服务器端发送播放控制请求,经过多次测试,服务器端都工作正常。服务器通过VGA同步输出到主显示屏播放如图7.3所示。图7.3 VGA同步输出播放4、总体功能测试将服务器端启动,然后通过PC上的客户端程序进行综合功能测试,将上面三步的测试进行综合,经过多次测试,服务器端都工作正常。7.2 系统性能测试首先对客户端进行性能测试,打开客户端开始启动客户端程序,启动过程一般,客户端界面显示欠佳,显示出现卡屏,而且操作的响应时间有些不太理想,触摸屏的控制效果欠佳,定位不准确,容易出现错位现象,但是这些欠缺都是由硬件引起的,软件的功能测试都很正常。比如各种点歌操作,都能够正确响应。点歌操作如图7.4所示。图7.4 点歌操作然后对服务器端进行性能测试,打开服务器端后开始启动服务器程序,启动时间良好,然后对服务器端的各种功能进行测试,发现都符合要求,没有出现错误和响应不正确。但是歌曲播放效果欠佳,特别是视频播放,如果采用一般的非压缩格式的视频进行播放则不能够正常播放,压缩过的歌曲在播放的时候视频和音频不同步,而且音质欠佳,这些都是由于采用的处理器不支持多媒体硬件加速以及处理器运行速度欠缺所引起的,当设计产品的时候会根据需要更换响应硬件设备,以求达到令人满意的点播效果。7.3 系统集成测试以上测试都顺利完成后,下面进入最后一个环节的测试,系统集成测试。系统集成测试主要是将客户端和服务器端结合在在一起进行整体实战测试,对各种功能都作出测试,并且观察测试结果,经过多次试验与调试,客户端和服务器端都能够安装预先设计的功能进行响应工作,至此测试工作顺利完成,整个系统原型的测试总体还是比较令人满意的,除了一些硬件暂时达不到要求之外,软件系统的功能都能够很正常的工作。总结与展望系统是以嵌入式设备为平台,基于蓝牙无线通信技术,结合了嵌入式移动数据库、嵌入式图形界面系统与多媒体技术,实现了能够在移动掌上终端进行无线KTV点歌的遥控KTV点播系统。系统是对当前KTV点播系统无法进行移动点歌的一个补充,能够满足用户对移动无线点歌的需求,具有很好的实际应用价值。论文主要围绕实现基于蓝牙的遥控KTV点播系统所需的软硬件技术进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届重庆市南岸区南开(融侨)中学九年级化学第一学期期中学业质量监测模拟试题含解析
- 2026届吉林省前郭尔罗斯蒙古族自治县英语九上期末教学质量检测模拟试题含解析
- 广东省佛山市南海中学2026届九年级化学第一学期期中联考试题含解析
- 2026届南通市崇川区启秀中学化学九年级第一学期期中统考试题含解析
- 河北省保定市涞水县2026届英语九年级第一学期期末调研试题含解析
- 四川省乐山市市中区2024-2025学年七年级下学期期末道德与法治试题(含解析)
- 2026届重庆市江北新区联盟化学九上期末监测试题含解析
- 湖南省长沙市望城县2026届英语九年级第一学期期末复习检测试题含解析
- 2026届咸宁市重点中学化学九上期中达标检测模拟试题含解析
- 2026届贵州省兴仁市第九中学九年级化学第一学期期中综合测试模拟试题含解析
- 网信专员考试题及答案
- 2019ESCEAS血脂异常管理指南2025重点更新解读
- 《现代传感与检测技术》教学大纲
- 挖煤专业毕业论文
- 山路车辆行车安全培训课件
- 2025北京京剧院招聘工作人员10人笔试备考题库及答案解析
- 建筑设计公司结构设计师工作手册
- 2025年青海省事业单位招聘考试卫生类护理学专业知识试题
- TSG-R0005-2022《移动式压力容器安全技术监察规程》(2022版)
- 2020 ACLS-PC-SA课前自我测试试题及答案
- 北京科技大学机械制图杨皓第四版习题集答案PPT课件
评论
0/150
提交评论