ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:1,014.71KB ,
资源ID:10474062      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10474062.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于蓝牙的路况信息提示系统.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于蓝牙的路况信息提示系统.docx

1、基于蓝牙的路况信息提示系统第四届“博创杯”全国大学生嵌入式设计大赛烹饪数字助理 Cooking Digital Assistant杨 平 赵月江 张成虎指导老师 甄 洁 2008年9月摘要随着我国经济的飞速发展,人们逐步进入了数字化社会,追求生活的方便快捷已成为现代人的生活理念。但同时快捷的生活又使得人们很少花时间去关注家庭烹饪,使得富有悠久历史的饮食文化在家庭生活中被淡化。本文介绍了一款新颖的厨房数字系统烹饪数字助理,该系统基于UP-NETARM2410-S嵌入式开发平台,融合了嵌入式技术、语音合成、语音识别技术和多媒体等技术对烹饪过程进行指导,提供与烹饪相关的实用功能,让烹饪变得简单有趣。

2、本文首先介绍了系统背景和研究意义,然后简单介绍系统相关的技术,再次提出本系统的总体设计思想,最后分模块来介绍本系统的设计和实现过程。本文中实现的系统模型为烹饪数字助理系统提供了一套可行的解决方案,随着系统功能的不断完善和扩展,该系统具有良好的应用前景。关键词:嵌入式;语音处理;数字助理;烹饪AbstractWith the swift development of our countrys economy, people march into the digital society. Pursuing for convenience and shortcuts has become moder

3、n peoples life idea. For the swift life, many people dont have enough time to spend on the family cooking, which makes the cooking with long history ignored.A new kitchen digital system is introduced in this paper- the cooking digital assistant system. This system which bases on the UP-NETARM2410-S

4、Embeded empoldering platform contains embedded technology, speech technology and multimedia technology to instruct people to cook, and it also provides other useful functions for cooking. Because of it, cooking becomes easy and interesting.The main work is summarized as follow: 1. The background and

5、 its application value are introduced in detail. 2. The technology related to the system is reviewed. 3. The thought of design is introduced again.4. The design of the system and implementation process is introduced by modular. This model system used for the cooking digital assistant provided a viab

6、le solution. With the systems improving and expanding, the System will be widely applied.Keywords: Embedded, Speech technology, Digital assistant, Cooking 目 录第一章 绪论 11.1背景分析 11.2课题意义 11.3技术现状 1第二章 相关技术 32.1 嵌入式系统 32.1.1嵌入式数据库系统Berkeley DB 32.1.2 MiniGUI技术 42.1.3 SD卡技术 42.2 蓝牙技术 42.3 语音识别及语音合成技术 5第三章

7、 系统总体设计 63.1 系统功能及配置 63.1.1 系统功能 63.1.2 系统配置 63.2 系统结构 73.2.1硬件结构 73.2.2软件结构 8第四章 模块设计与实现 94.1 数据处理的设计与实现 94.1.1 简单介绍 94.1.2 前期准备 94.1.3 打开数据库 104.1.4 导入及添加数据 114.1.5 检索数据 114.1.6 删除数据 124.1.7 关闭数据库 134.1.8 出错处理 134.1.9 结论 134.2 界面的设计与实现 134.2.1开机界面的设计 144.2.2 界面总体设计与实现 144.2.3 菜谱界面的总体设计与实现 174.2.4

8、定时界面的设计与实现 184.2.5 快速检索界面的设计与实现 194.2.6 与嵌入式数据库联调设计与实现 204.2.7 与语音模块联调设计与实现 234.3 语音模块的设计与实现 234.3.1 语音识别模块 234.3.2 语音合成模块 234.4 蓝牙模块的设计与实现 24第五章 系统测试与应用 255.1 系统测试及性能分析 255.1.1 系统测试 255.1.2 性能分析 265.2系统特点及优势 275.3 系统应用 27参考文献 28第一章 绪论1.1背景分析 我国的饮食文化历史悠久,民间有句俗语“民以食为天”,足以看出饮食在人们生活中的重要性。但是随着社会的发展,人们对饮

9、食尤其是家庭烹饪似乎越来越不重视了,出现了以下一些现象:现代化的生活让人们的脚步越来越快,人们往往由于赶时间而去吃一些既没有营养又不健康的速食食品。由于中国国情所致,现在几乎每个家庭都是独生子女家庭,父母对子女都很宠爱,很少让子女做家务,所以一般子女都不会烹饪,这一点在“80后一代”体现的很明显。对于“80后一代”的新白领而言,“做饭太烦、下馆太贵、小摊太脏,从小娇生惯养”的他们为省事省时省力地吃好一日三餐费尽了心思。在烹饪的过程中,常常会发生忘记加入某味作料的情况,使得原本香味可口的菜肴变了味道;更甚者,有的人在煮粥、煲汤等一些较长时间的烹饪过程中因事忘记关火而造成焦锅,或者把器皿烧坏,甚至

10、引起火灾等。中国是一个好客的国家,每个家庭都会经常的接待客人,这时主人就要准备一顿丰盛又特别的饭菜了。普通的家常菜拿不出手,而一些非家常菜由于不经常做,所以做起来既费力气又会使人手忙脚乱。为了解决上述种种问题,我们基于嵌入式技术平台,提出并设计了一种既方便又实用的烹饪数字助理(CAD,Cooking Digital Assistant)系统。1.2课题意义该系统综合运用嵌入式系统及其相关技术,实现了基于语音提示的菜肴烹饪助理。系统提供包含各菜系的、适合不同年龄段的健康饮食类、疾病调理类等菜谱。菜谱信息由嵌入式数据库系统存储,便于编辑和处理;通过友好的显示界面,用户可以点击触摸屏来操作菜单,并且

11、系统会自动将菜单的内容显示于LCD上,同时还能语音输出菜单内容。系统提供计时、语音提示、音频报警等功能,以方便地引导用户按步骤完成烹饪过程。另外,本系统还具有通过蓝牙来实现家电的无线遥控等拓展功能。本系统解决了一个现今社会普遍存在的吃饭难的问题,为忙碌的人们提供了方便,相信随着系统性能的不断优化和功能的不断扩展,该系统定会有非常广泛的应用前景。1.3技术现状本系统融入了嵌入式技术数据库、MiniGUI技术、语音识别及合成技术等完成该系统的基本功能。嵌入式数据库在国外已经有30年的历史,应用领域也非常广泛,例如在医疗领域、军事设备和系统、地理信息系统、工业控制、网络通讯、消费类电子等方面都有广泛

12、应用;MiniGUI作为“嵌入式图形中间件”软件产品,是针对嵌入式设备,跨操作系统的图形界面支持系统。通过十多年的努力,MiniGUI已经成功应用在手持终端、机顶盒、工控、医疗及军工等行业。被各大厂商认可并广泛采用,逐渐成为嵌入式图形中间件领域的工业事实标准;从目前语音技术的研究现状来讲,技术已经有了很大发展。语音识别和语音合成技术是实现人机语音通信及建立一个有听和讲能力的口语系统所必需的两项关键技术。使电脑具有类似于人一样的说话和听懂人说话的能力。第二章 相关技术 本章介绍系统采用的主要相关技术。首先介绍嵌入式系统技术,包括嵌入式数据库技术、MiniGUI技术、SD卡技术;接着介绍蓝牙系统的

13、基本结构;最后介绍了语音识别及合成方面的相关技术。2.1 嵌入式系统嵌入式系统(Embedded System)是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统1。它包括硬件和软件两部分。硬件包括微处理器、存储器及外设器件和IO端口、图形控制器等;软件部分包括操作系统和应用程序,有时设计人员会把这两种软件组合在一起。操作系统控制着应用程序与硬件的交互作用;而应用程序控制着系统的运作和行为。本系统使用的嵌入式微处理器是S3C2410,操作系统是嵌入式Linux操作系统。2.1.1嵌入式数据库系统Berkeley DBB

14、erkeley DB是由Berkeley(美国加州大学伯克利分校)开发的,DB最初开发的目的是以新的HASH访问算法来代替旧的hsearch函数和大量的dbm实现(如AT&T的dbm,Berkeley的ndbm,GNU项目的gdbm),DB的第一个发行版在1991年出现,当时还包含了B+树数据访问算法。在1992年,BSD UNIX第4.4发行版中包含了DB1.85版。基本上认为这是DB的第一个正式版。在1996年中期,Sleepycat软件公司成立,提供对DB的商业支持2。在这以后,DB得到了广泛的应用,本系统使用的版本为4.7.25。 DB支持几乎所有的现代操作系统,如LINUX、UNIX

15、、WINDOWS等,也提供了丰富的应用程序接口,支持C、C+、JAVA、PERL、TCL、PYTHON、PHP等。DB的应用十分广泛,在很多知名的软件中都能看到其身影。 LINUX下的软件包管理器RPM也使用DB管理软件包相关数据,可以使用命令file查看RPM数据目目/var/lib/rpm下的文件,则有形式如图2.1输出:Dirnames: Berkeley DB (Btree, version 9, native byte-order) Filemd5s: Berkeley DB (Hash, version 8, native byte-order)图2.1 DB在Linux中的体现值

16、得注意的是DB是嵌入式数据库系统,而不是常见的关系/对象型数据库,对SQL语言不支持,也不提供数据库常见的高级功能,如存储过程,触发器等。嵌入式数据库系统Berkeley DB特点是微小内核,便于实现嵌入式功能;可靠性、可管理性和安全性;可移植性和平台无关性;资源利用率高;运行速度快;简化开发环境3。2.1.2 MiniGUI技术MiniGUI 是一种面向嵌入式系统和实时系统的图形用户界面支持系统。它主要运行于Linux 控制台,实际可以运行在任何一种具有线程支持的POSIX 兼容系统上。MiniGUI 是一个非常适合于工业控制实时系统以及嵌入式系统的可定制的、小巧的图形用户界面支持系统。它的

17、主要特色有4:(1) 遵循LGPL条款的纯自由软件;(2) 提供了完备的多窗口机制。这包括:多个单独线程中运行的多窗口;单个线程中主窗口的附属;(3) 对话框和预定义的控件类(按钮、单行和多行编辑框、列表框、进度条、工具栏等);(4) 消息传递机制;(5) 多字符集和多字体支持,目前支持ISO8859-1、GB2312、Big5等字符集,并且支持各种光栅字体和 TrueType、Type 1等矢量字体;(6) 全拼、五笔等汉字输入法支持;(7) BMP、GIF、JPEG、PCX、TGA等常见图像文件的支持;(8) Windows的资源文件支持,如位图、图标、光标等;(9) 插入符、定时器、加速

18、键等;(10) 其他(Beep、ETC/INI 文件操作等);(11) 小巧,包含全部功能的库文件大小为300KB左右;(12) 可配置,可根据项目需求进行定制配置和编译;(13) 高稳定性和高性能,MiniGUI 已经在Linux发行版安装程序、CNC系统、蓝点嵌入式系统等关键应用程序中得到了实际的应用;(14) 可移植性好。基于以上考虑,本系统的界面的设计都是由MiniGUI设计完成的。2.1.3 SD卡技术SD卡(Secure Digital Memory Card)是一种基于半导体快闪记忆器的新一代记忆设备。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。大

19、小犹如一张邮票的SD记忆卡,重量只有2克,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。SD卡在24mm32mm2.1mm的体积内结合了SanDisk快闪记忆卡控制与MLC(Multilevel Cell)技术和Toshiba(东芝)0.16u及0.13u的NAND技术,通过9针的接口界面与专门的驱动器相连接,不需要额外的电源来保持其上记忆的信息。而且它是一体化固体介质,没有任何移动部分,所以不用担心机械运动的损坏。并不是多大的SD卡都能安在数码摄像机上使用。现在的SD卡容量由8MB到4GB不等。2.2 蓝牙技术蓝牙(Bluetooth)是一种低功耗的无线技术,工作在全

20、球通用的2.4GHz ISM频段,数据传输速率为1Mb/s,目的是取代现有的PC、打印机、传真机和移动电话等设备上的有线接口。主要优点是:可以随时随地用无线接口来代替有线电缆连接;具有很强的移植性,可以用于多种场合,如WAP、GSM、DECT等,引入身份识别后可以灵活的实现漫游;功耗低,对人体危害较小;蓝牙的集成电路应用简单、成本低廉、实现容易、易于推广5。蓝牙技术提供低成本、近距离的无线通信,构成固定与移动设备通信环境中的个人网络,使得近距离内各种设备能够实现无缝资源共享。鉴于以上优点,本系统采用蓝牙作为无线遥控的方式。2.3 语音识别及语音合成技术语音合成和语音识别技术是实现人机语音通信,

21、建立一个有听和讲能力的口语系统所必需的两项关键技术。使电脑具有类似于人一样的说话能力,是当今时代信息产业的重要竞争市场。和语音识别相比,语音合成的技术相对说来要成熟一些,并已开始向产业化方向成功迈进,大规模应用指日可待。语音合成,又称文语转换(Text to Speech)技术,它涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是中文信息处理领域的一项前沿技术,解决的主要问题就是如何将文字信息转化为可听的声音信息,也即让机器像人一样开口说话。我们所说的“让机器像人一样开口说话”与传统的声音回放设备(系统)有着本质的区别。传统的声音回放设备(系统),如磁带录音机,是通过预先录制声音然后

22、回放来实现“让机器说话”的。这种方式无论是在内容、存储、传输或者方便性、及时性等方面都存在很大的限制。而通过计算机语音合成则可以在任何时候将任意文本转换成具有高自然度的语音,从而真正实现让机器“像人一样开口说话”。语音识别目的是研究出一种具有人类听觉功能的机器,能够听懂人的讲话,理解人的意图并做出相应的反应。语音识别系统本质上是一种多维模式识别系统,包括特征提取、语音模式、模式匹配3个基本单元。语音识别按不同的分法有不同的类型。以识别单位分有孤立词识别、音素识别、音节识别、孤立句识别、连接词识别、连续语音识别等;按识别规模分有小词汇量(1050个)、中词汇量(50200个)和大词汇量(200个

23、以上)等;以服务对象分,有特定人讲话、多讲话人和非特定人3种;按识别方法分,有模板匹配法、随机模型法和概率语法分析法。本系统使用的是特定人的、孤立词、中小词汇量的语音识别技术。第三章 系统总体设计本章主要介绍系统的总体设计。首先介绍系统的功能及配置;然后介绍系统硬件的结构(硬件总体规划);最后介绍系统工作的软件结构。3.1 系统功能及配置3.1.1 系统功能系统的功能主要分为两个部分:系统的基本功能和系统的扩展功能,本系统设计主要实现基本功能,扩展功能可以进一步的开发。(1)系统基本功能1 提供丰富的菜谱,包括各大菜系的、适合不同年龄段的、健康饮食类、疾病调理类等,让用户有充分的选择空间;2

24、提供三种查找菜谱的方式,一是按菜名首字母查找,二是按种类查找,三是语音查找。用户可以根据菜名、主料类别、口味类别等快速锁定选择菜谱,语音查找指另可利用语音报菜名迅速查找菜谱;3 系统有语音功能,显示的菜肴信息能以语音方式读出,同时用户可设定一些简单的语音命令,方便烹饪时操作;4 提供定时器功能,对于烹饪时间较长的菜肴,用户可设定定时时间,无需看管,定时时间到,定时器自动提醒用户;5 提供娱乐功能,能播放烹饪视频,也可听音乐;6 电器遥控功能,系统利用蓝牙装置可遥控有蓝牙功能的家电。(2)系统扩展功能烹饪数字助理作为厨房的一个管理中心,它可以对油烟、煤气进行检测,控制厨房的家电自动做饭等。将来它

25、还可以成为未来厨房数字化的一个信息终端,管理厨房的家电,支持用户的远程控制,具有良好的开发前景3.1.2 系统配置根据系统功能以及设计嵌入式系统的要求,开发此系统需要以下主要配置:(1)开发环境:REDHAT LINUX 9.0 + MINICOM + ARM LINUX,Windows系统,嵌入式Berkeley DB数据库;(2)开发语言:C /C+语言(3)硬件:ARM920T 结构芯片三星S3c2410X; 64M NAND FLASH; 64M SDRAM; TFT液晶LCD; 触摸屏; 蓝牙模块; 锂电池; 音频设备; SD卡(256M)。开发板是由北京博创公司提供的UP-NETA

26、RM2410-S,如图3.1所示。图3.1 2410-S平台实物图3.2 系统结构3.2.1硬件结构系统主要用到的硬件有6: LCD模块,显示功能; 触摸屏模块,用来实现对系统的控制和操作; 存储器模块,用来存储数据; 语音模块,实现语音合成与语音识别; 音频模块,用来播放烹饪视频; 蓝牙模块,控制家电; 电源管理模块,用来给处理器和各模块供电。硬件结构如图3.2所示。图3.2 烹饪数字系统硬件结构图3.2.2软件结构本系统的主要软件包括菜谱管理系统、界面系统和实用功能。菜谱管理系统包括菜肴数据库和烹饪指导,方便查找、制作菜肴;界面系统是人机交互的平台,通过良好的界面,用户可以方便的进行烹饪;

27、实用功能包括音乐播放、视频播放和控制功能,其中控制功能包括语音技术、菜肴的添加和删除、红外遥控。软件结构如图3.3所示。图3.3 烹饪数字系统软件结构图第四章 模块设计与实现本章主要介绍了系统设计与实现的过程和方法。对本系统的设计与实现分模块介绍,首先介绍数据处理模块的设计与实现,接着介绍显示模块的设计与实现,然后介绍语音模块的设计与实现,最后介绍蓝牙控制模块的设计与实现。4.1 数据处理的设计与实现4.1.1 简单介绍菜谱管理系统是系统的主要部分,包括菜肴数据库和烹饪指导两部分。菜肴数据库包含各个菜肴的详细信息,同时也包含为方便查找而设置的一些表项。本系统使用的是嵌入式Berkeley DB

28、数据库,Berkeley DB具有良好的嵌入性能,它本质上它是一个函数库,它把数据库直接连接到应用程序中。BDB对需要管理的数据看法很简单,BDB数据库包含若干条记录,每一个记录由关键字和数据(Key/Data)构成。数据可以是简单的数据类型,也可以是复杂的数据类型,例如C语言中结构。BDB对数据类型不做任何解释, 完全由程序员自行处理,典型的C语言指针的自由风格。如果把记录看成一个有n个字段的表,那么第1个字段为表的主键,第2-n个字段对应了其它数据。BDB应用程序通常使用多个BDB数据库,从某种意义上看,也就是关系数据库中的多个表。关键字(Key)和数据(Data)是Berkeley DB

29、用来进行数据库管理的基础,由这两者构成的Key/Data对(见表1)组成了数据库中的一个基本结构单元,而整个数据库实际上就是由许多这样的结构单元所构成的。KeyDatasportfootballFruitorangeDrinkbeer表1 Key/Data对由于我们每道菜肴都有许多属性,如菜名、菜系、烹调类别以及口味等,所以不能由Key和Data同时分别表示这些属性。我们以菜名作为关键字(Key),而将菜肴的其他信息存储在一个名为“my_menu”的结构体作为数据(data),然后利用put函数将这些信息存入数据库。在数据倒入数据库以后我们可以利用BDB专用的API来对数据库进行检索、删除等基

30、本操作,如利用get函数提取数据,可以按关键字或关键字和数据来检索所需要的记录;利用del函数可以删除指定的记录。4.1.2 前期准备我们将数据存入数据库时将信息先存入my_men的结构体中(结构体定义如下所示),然后以my_menu.name为关键字,以my_menu整体为data将信息导入数据库。/* Define cookmenu structure */ typedef struct cookmenu char name26; char firstch10; char class15; char taste15; char objects15; char mainmater15; ch

31、ar envs30; char health30; char infor2000;MENU;MENU my_menu;4.1.3 打开数据库打开数据库通常要分两步进行:首先调用db_create()函数来创建DB的一个句柄,然后再调用DB-open()函数来完成真正的打开操作。Berkeley DB将所有对数据库的操作都封装在名为DB的结构中。db_create()函数的作用就是创建一个该结构,我们创建数据库句柄如下所示:/* Initiallize the DB structure. */db_create(&menu_dbp, NULL, 0);db_create(&class_sdbp, NULL, 0);将磁盘上保存的文件作为数据库打开是由DB-open()函数来完成的,其实现如下所示:/* Open the primary database and secondary database. */menu_dbp-open(menu_dbp, /* DB structure pointer */

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2