赞
踩
目录
基于GEC6818的智能家居系统
1)开机画面
2)自动播放照片(bmp图片,jpg图面)
3)手动播放照片(上下选择)
4)MP3的播放,暂停,继续功能
5)MP4的播放,暂停,继续功能
6)读取目录里的文件信息,显示到GEC6818屏幕上
7)链表的形式存储图片信息
项目需要用到jpeg库,jpeg库的移植可参考我以下的这篇博客:
(31条消息) jpeg库的移植步骤(GEC6818)_ljpeg库_sakura0908的博客-CSDN博客
做项目的流程(供参考)
1.jpg的移植
2.mp3_mp4功能的测试
3.字库功能的测试
4.实现项目的框架
5.实现各个子功能
1).mp3
2).mp4
3).管理员
说明: 读取目录里面的文件信息,然后打印到GEC6818屏幕上。(需要使用到字库)
4).自动播放
说明:先读取目录里面的jpg图片和bmp图片,然后存入到双向循环链表中;最后遍历双向循环链表完成整张图片的自动播放;以上做完之后再做bmp图片的算法。
注意:读出来的文件名要区分jpg图片和bmp图片。
5).上下张
说明:比如说有3张图片1.jpg 2.jpg 3.jpg;那么按下一张后要从1.jpg跳到2.jpg再跳到3.jpg;
按上一张后要从3.jpg跳到2.jpg再跳到1.jpg
6).完成bmp图片的算法
说明:bmp图片的算法包括:百叶窗、左进、右进、上进、下进等等。
注意: bmp图片的分辨率可以通过解析bmp的头54个字节的信息来获取。
- int main(int argc,char **argv)
- {
- //硬件的初始化
- fd_lcd = open("/dev/fb0",O_RDWR);
- if(fd_lcd == -1)
- {
- printf("open lcd fail\n");
- return -1;
- }
-
- addr = mmap(NULL,800*480*4,PROT_READ|PROT_WRITE,MAP_SHARED,fd_lcd,0);
- if(addr == NULL)
- {
- printf("mmap lcd fail\n");
- return -1;
- }
-
- fd_bmp = open("/study/project_home/pic/xitong.bmp",O_RDWR);
- if(fd_bmp == -1)
- {
- printf("open bmp fail\n");
- return -1;
- }
-
- fd_ts = open("/dev/input/event0",O_RDWR);
- if(fd_ts < 0)
- {
- printf("open ts fail");
- return -1;
- }
-
- //链表的初始化
- node* head = initList();
-
- dp = opendir("/study/project_home/pic");
- if(dp == NULL)
- {
- printf("opendir fail");
- return -1;
- }
-
- chdir("/study/project_home/pic");
-
- int j =0;
- while(1)
- {
- ep = readdir(dp);
-
- if(ep == NULL)
- break;
- if(ep->d_name[0] == '.')
- continue;
- if(ep->d_name[2] == 'b')
- {
- node* new = newNode(ep->d_name);
- insertHead(head, new);
- }
- if(ep->d_name[2] == 'j')
- {
- node* new = newNode(ep->d_name);
- insertHead(head, new);
- }
- }
-
- show_bmp("/study/project_home/menu/kaiji.bmp");
- sleep(3);
-
- while(1)
- {
- // //功能界面
- show_bmp("/study/project_home/pic/xitong.bmp");
- get_xy(&x,&y);
-
- if(x>80&&x<280&&y>90&&y<150)
- {
- auto_play(head);
- }
-
- if(x>500&&x<700&&y>90&&y<150)
- {
- hand_play(head);
- }
-
- if(x>70&&x<190&&y>340&&y<390)
- {
- chdir("/study/project_home/mp3_mp4");
- mp3_play();
- chdir("/study/project_home/pic");
- }
-
- if(x>340&&x<460&&y>340&&y<390)
- {
- chdir("/study/project_home/mp3_mp4");
- mp4_play();
- chdir("/study/project_home/pic");
- }
-
- if(x>580&&x<730&&y>340&&y<390)
- {
- chdir("/study/project_home/usr_date");
- admin_info();
- chdir("/study/project_home/pic");
- }
- }
-
- //链表的释放
- head = destroy(head);
-
- //关闭硬件
- munmap(addr,800*480*4);
-
- close(fd_bmp);
-
- close(fd_lcd);
-
- close(fd_ts);
-
- closedir(dp);
-
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。