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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(嵌入式智能家居之多媒体播放器.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式智能家居之多媒体播放器.docx

1、嵌入式智能家居之多媒体播放器安 康 学 院嵌入式设计报告书课题名称:嵌入式智能家居之多媒体播放器姓 名:学 号:院 系:电子与信息工程系专 业:电子信息工程指导教师:张兴辉时 间:2013年6月一、设计任务及要求:1、设计任务: 智能家居之多媒体播放器2、要 求: 1、熟练掌握虚拟机、Cortex-A8开发板环境搭建 2、实现linux下的多媒体播放器设计指导教师签名: 年 月 日 二、指导教师评语:指导教师签名: 年 月 日 三、成绩评定:指导教师签名: 年 月 日四、系部意见:系部盖章: 年 月 日设计项目成绩评定表设计报告书目录一、 设计目的 1二、设计思路 1三、设计过程 13.1、系

2、统总体方案 13.2、虚拟机、开发板环境的搭建 13.3、程序设计具体步骤 4四、系统调试与结果 6五、主要元器件与设备 6六、课程设计体会与建议 66.1、设计体会 66.2、设计建议 6七、参考文献 71、设计目的1、了解嵌入式系统、物联网2、掌握linux下编程的基础知识3、Linux操作系统环境的搭建及常用命令4、实现Cortex-A8开发板(搭载linux系统)下的多媒体播放器二、设计思路1、播放器背景、按钮图片的显示,歌曲列表的显示2、创建线程获取触摸屏输入3、创建线程获取键盘输入4、创建线程打印歌曲信息、歌词信息三、设计过程3.1、系统总体方案1、编辑在linux系统软件编写程序

3、,写出所有模块的程序2、编译在编译软件中进行程序的编译与检错修改3、运行联通A8开发板在xshell软件中运行,查看现象。3.2、虚拟机、开发板环境的搭建常用命令的介绍:语法:#ls参数:-l:列表显示 -a:显示隐藏文件 -h:配合-l以MB为单位显示文件大小 -R:递归显示所有目录文件#cd:切换目录cd/root 可进入指定目录cd 可进入上一层目录cd - 可进入上一个进入的目录cd 可进入用户的home目录#cp /etc/inittab/home参数: -R:拷贝文件夹 -f:若同名则不提示,直接覆盖 -v:显示拷贝进度rm:删除文件#rm -f filelclear:清屏#cle

4、armkdir:创建目录语法:#mkdir dir1参数:-p在指定路径建立文件夹,需要时创建上层目录find 文件查找指令 语法:find 路径名 name 文件名Pwd:显示当前目录路径#pwdps(进程查看命令)命令格式:$ pscal(显示日历)命令格式: $cal 选项 月份 年选项:-y|显示整年日历$ cal 4 2007reboot(重启电脑)dhclient重新获取IP地址环境搭建的过程:1、设置虚拟机IP,同时保证虚拟机网络通畅2、设置开发板IP,同时保证开发板网络通畅3、挂载虚拟机下指定的文件夹到开发板的指定目录开发流程图如图所示:3.3、程序设计具体步骤第1 步.功能:

5、初始化图形库和触摸屏、实现背景窗口的初始化。要求:创建一个C 文件,在此文件中写一个系统初始化、窗口初始化函数。提示:用到的接口函数1:getFBP(/dev/fb0); /将LCD 内核态的FramerBuffer 映射到用户态,并获取其参数2:TFT_Init(); /初始化液晶屏3:ts_cal_init(); /初始化触摸屏4:创建窗口(创建时窗口的背景可随自己的意愿填写)window_back = TFT_CreateWindowEx(0,0,320,240,COLOR_WHITE); /创建背景窗口5:TFT_File_Picture:窗口贴图函数6:TFT_ClearWindow

6、:窗口清除函数7:TFT_SetTextPos:窗口内设置光标位置函数8:TFT_SetColor:设置窗口前景色第2 步.功能:从文件夹中读取歌曲名字,保存起来(方法:指针数组、链表、数据库。注:读取歌曲名功能、保存歌曲名功能最好能分开);再写一个函数,使其能在屏幕上显示歌词列表,并能高亮指定的某一首歌。要求:1:扫描某个目录下的歌曲文件名字,调用保存歌曲名功能函数,全部保存起来。(参考函数名get_song_list)。2:把所有的歌曲名字(.mp3 为后缀的文件)显示在歌词列表窗口中,当前播放歌曲的名字在列表中应该反显(方法:重新设置颜色、画矩形框等)。提示:获取某个目录下文件的名称所用

7、函数1、DIR* opendir(char* pathname);2、struct dirent * readdir(DIR* dir);3、int closedir(DIR *dir);opendir 返回一个DIR 类型的指针;readdir 参数是opendir 返回的指针;返回值是struct dirent 类型的指针;比如:readdir 函数返回值为dp,dp-d_name 即文件的名字;循环把dp-d_name 保存起来;赋值之前要判断一下dp-d_name 是不是歌曲文件名(即是不是.mp3 文件)。若是则调用保存歌曲名函数,否则不保存(注:可用函数strstr)。可以参考“l

8、inux C 函数.chm”文档中的readdir 函数;循环赋值的时候给一个变量+ 测出有多少首歌(推荐变量名:song_num)。第3 步.功能:播放暂停、上一首、下一首,快进、快退(触摸屏、物理按键都要实现);点播放列表中歌曲的名字实现切换歌曲。要求:切换歌曲的时候,播放列表中的相应歌曲名字要反显。提示:1:歌曲的切换通过mplayer 提供的loadfile pathname命令,切换到pathname 指定的歌曲。2:在歌词列表实现之后,创建子进程,在子进程中启动mplayer启动mplayer 的语句:execl(./mplayer,mplayer,-ac,mad,-slave,-

9、quiet,-input,file=/tmp/mplayer_fifo,buf,NULL);在execl 中规定mplayer 从命名管道中获取消息,主进程中就必须通过向命名管道写命令字符串来控制mplayer,所以必须在创建子进程之前创建mplayer_fifo,父子进程通过mplayer_fifo 通信。buf 为mplayer 启动时播放歌曲的目录文件名。3:主进程中创建touchpad_control 线程(触点检测模块)、key_control 线程(物理按键控制模块);检测触摸屏、物理按键,以及控制相应的操作。第4 步.功能:在屏幕上显示歌曲长度、当前播放到多少秒、当前歌曲的“专辑

10、、歌手、标题、发行年份”、进度条要求:1:在屏幕歌曲信息窗口中显示歌曲的总长度,当前播放时间。(切换歌曲活快进快退的时候刷新信息)2:在歌曲信息窗口中显示歌曲的“专辑、歌手、标题、发行年份”。(切换歌曲的时候刷新信息).3:播放进度条随着时间推移。(切换歌曲、或快进快退的时候可以刷新)提示:1: 父子进程通过管道通信;即子进程通过管道把消息传给父进程子进程把mplayer 输出的信息重定向到管道中。主进程从管道中读,读出来后解析再做相应的处理。(注:使用dup2 函数,子进程重定向mplayer 的输出至管道的写端,父进程从管道的读端读mplayer 的输出信息)2: 主进程创建子线程1:ge

11、t_song_detail每隔一段时间发一条命令,获取当前播放时间、进度、歌曲信息等。2:read_dispose_data循环读管道把读到的消息保存在字符数组中,解析读到的消息,把有用的消息解析出来,做相应的处理。第5步、功能:在歌词窗口显示歌词。要求:歌词循环打印,歌词与歌曲同步,切换歌曲的时候切换新的歌词。提示:1:可以用mplayer 返回来的当前播放时间去查找歌词解析里的时间,这样快进歌词也可以跟着同步。2:如果用以前的虚拟时间,歌曲快进,歌词不能同步。3:歌词解析功能也是创建一个新的线程(display_lyrics)去完成四、系统调试与结果.调试:1、连接开发板与物理机,打开虚拟

12、机、xshell(串口控制开发板用)2、在notepad+下编写程序,虚拟机下进行交叉编译3、联合调试,在xshell查看并分析开发板的运行信息.系统调试结果 系统调试结果如下图所示五、主要元器件与设备1、 课程设计体A8开发板一套2、window XP电脑(装ubuntu的虚拟机、xshell)一台会与建议6.1、设计体会通过这次的课程设计,我明白了一个项目的开发完成,需要列出各个模块的分工,各各个模块的个子模块的编译与调试,最后把各个模块进行组合,系统调试,运行。编译和调试的细节需要仔细认真的完成,才能保证整个项目的圆满完成。6.2、设计建议 建议老师在编辑代码和调试程序的时候多多指导,有

13、的代码读起来有些吃力,希望老师可以在程序的编译这方面多多指点。七、参考文献1 杨士元.掀开智能家居的面纱J.中国计算机用户.2002,21(08):23-26.2 秦勃,王琳,邵峰晶,於雷.无线嵌入式智能家居环境网关J计算机应用研究.2006,12(06):18-35.3 朱文凯,何岭松,丁汉,熊有伦.基于Internet的嵌入式Web传感器J.仪表技术与传感器.2002,3(08):23-25.4 王文利,段宝岩,刘宏.基于网络的机械设备远程监测与故障诊断J.制造业自动化.1999,21(04):32-35.5 周洪,胡文山,张立明,卢亦焱.智能家居控制系统M北京:中国电力出版社.2006:82-85.6 陶波,丁汉,熊有伦基于嵌入式Internet的工业控制J测控技术.2001,12(08):45-49.7 卢伟国,杨本强.嵌入式WEB传感器的网络化接口设计J.电子技术应用.2004,34(22):89-93.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1