基于嵌入式的数码相框设计

基于嵌入式的数码相框设计
基于嵌入式的数码相框设计

嵌入式系统综合设计说明书

题 目: 基于嵌入式的数码相框设计 学生姓名:刘建平 组 别:

学 院: 信息工程学院 班 级: 计08-3班

指导教师: 刘志强 王晓强 庄旭菲

张迪 高晓松

2011年9 月 20 日

摘要 (2)

ABSTRACT (2)

一、设计任务与要求 (3)

1、任务: (3)

2、要求: (3)

二、设计方案 (3)

1、总体设计功能 (3)

2、设计思路: (4)

3、显示图片: (4)

4、鼠标控制: (4)

5、网路检测更新图片下载: (4)

三、软件设计 (4)

1、主要模块流程图 (4)

2、部分程序清单及注释 (6)

2.1、客户端主程序: (6)

2.2、三种图片更换效果 (8)

3、服务器端程序流程图 (13)

4、服务器端主程序: (14)

四、调试过程 (17)

1、实验步骤 (17)

1.1、进入linux环境,启动两个终端,一个用于服务器程序,一个用于客户端程

序。 (17)

1.2、解压freetype_

2.

3.11.tar.bz2文件,进入其目录下,输入make命令进行编

译连接。 (17)

1.3、在命令行执行source ./dpf.sh shell文件。 (17)

1.4、在命令行 sudo chmod 777 /dev/fb0 sudo chmod 777 /dev/input/mice 命

令,输入密码即可。 (17)

1.5、启动服务器终端,在命令行使用make命令,输入./server运行程序。 .. 17

1.6、启动客户终端,在命令行使用make命令,输入./client运行程序。 (17)

2、出现的问题 (17)

2.1、每当鼠标滑过都会有痕迹留下,看上去很像画笔。 (17)

2.2、程序编译时出现段错误。 (17)

2.3、下载文件时出现阻塞现象。 (17)

3、解决方法 (17)

3.1、在鼠标绘制前保留一下上一时刻鼠标锁在位置的像素值,鼠标过后在还原,

问题解决。 (17)

3.2、出现段错误的地方很多,原因也很多一般是越界了,把内存地址中的其他值

给冲掉了,用gdb调试即可找到问题所在。 (18)

3.3、下载文件时出现阻塞现象的可能原因是套接字read与write不同步,还有可

能是文件读完了,获得不到中断信号,退不出循环体,这是只要获得文件的大小即

可(获取文件大小用lseek函数)。 (18)

五、总结 (18)

六、参考文献 (19)

摘要

数码摄影已经成为如今的主流摄影方式,但并不是每个美丽的瞬间都用相

纸冲刷出来(原因:这需要大量的金钱),经过市场调查只有%35左右的相片被冲洗,为了尽可能的减少人们的遗憾,数码相框的产生成为了必然,数码摄影

也推动数码相框的发展。

本设计主要应用了C/S模式,实现了网络间的数据传递和服务器的并发。

客户端(Client)实现了鼠标控制,图片接受,图片的检测更新,图片的显示

等功能,服务器(Server)主要实现图片的检测更新及传递数据,图片显示主

要是引入了JPEG数据库包(Copyright George Peter Staplin),使我们的设

计更为简单易懂。服务器使用了fork()函数实现的服务器并发,使阅读程序的人员能更清楚地理解服务器并发的实现。

关键词:鼠标控制,服务器并发,检测更新

ABSTRACT

Digital photography has becomed the mainstream of the photography way.Now ,it is not every beautiful moments all washed out by the paper ( Reason: this will need a lot of money). By market investigation only around thirty-five percent of pictures were flush, in order to minimize the number of people regret, digital photo frames become necessary, digital photography promote the development of the digital photo frame.

This design is mainly used for C/S mode, and realize the data transfer between the network and server concurrent. The Client realized the mouse control, pictures accepts, images of the detection update, pictures of the show, and other functions, Server mainly realizes the detection update and pictures, pictures showed the main transfer data introduce JPEG database bag (Copyright George Peter

Staplin), make our design more simple to understandable. Server use fork () of the realization of the function, make reading program server and the personnel can be more clearly to understand the realization of the concurrent server.

Key words: The mouse control, Server concurrent, Detection update

一、设计任务与要求

1、任务:

在linux(ubuntu)系统下利用C语言开发一个具有上传下载、鼠标控制、图片自动更新且图片具有多样式动态功能特效的数码相框。

2、要求:

对鼠标,和图片做效果处理,实现服务器的并发操作。

二、设计方案

1、总体设计功能

实现对鼠标的控制功能,图片检测更新,图片的轮换显示(实现幻灯片

的效果),网络间图片的传递,多客户端——服务器的并发。

2、设计思路:

在客户端要实现三大主要功能:显示图片、鼠标控制、网络检测更新图片下载。

3、显示图片:

在程序中用FrameBuffer设备(/dev/fb0)映射到进程的地址空间,再用mmap进行地址映射,取mmap中的值进行解压、缩放、色值还原,打印图片(调用gpeglib库,用jpeg算法解压)。

4、鼠标控制:

在程序中用FrameBuffer设备(/dev/fb0),鼠标控制设备

(/dev/input/mice),用10*17的数组 cursor绘制鼠标,再用mmap映射答应道屏幕上;

5、网路检测更新图片下载:

使用网络套接字TCP协议接受服务器发送的图片,使用链表把所有的图片都串起来,监控图片更新。

客户端要实现上述三种功能的同步,因此我选用了进程实现的这个功能,因为每个进程之间是独立的,但还要用鼠标控制图片的切换速度(正常每五秒切换一张,点击鼠标后立刻切换到下一张),为此我又用信号量来解决此问题。

在服务器端主要实现图片的更新和上传。

三、软件设计

1、主要模块流程图

客户端程序流程图

2、部分程序清单及注释

2.1、客户端主程序:

#include"head.h"

int main(void)

{

int res, i, n;

fb_info fb;

pid_t pid;

pid_t *p;

struct sigaction act;

act.sa_handler = sig_usr1;

act.sa_flags = 0;

sigemptyset(&act.sa_mask);

sigaction(SIGUSR1, &act, NULL);//信号

res = init_fb(&fb);

if(res == -1)

err_sys("init_fb error");

p = smalloc(sizeof(pid_t) * 2);

if(p == NULL)

err_sys("smalloc error");

for(i = 0; i < 3; i++){

pid = fork();

if(pid == 0)

break;

p[i] = pid;

}

if(i == 0){

pic_display();//图片显示函数

}else if(i == 1){

int fd;

int x = fb.w / 2;

int y = fb.h / 2;

char buf[8];

mice_event_t m;

fd = open("/dev/input/mice", O_RDONLY);

if(fd == -1)

err_sys("open error");

mice_save(fb, x, y);

mice_draw(fb, x, y);

while(1){

n = read(fd, buf, 8);

mice_parse(buf, &m);

mice_restore(fb, x, y);

x += m.x;

y += m.y;

/*确定鼠标移动范围*/

if(x < 12)

x = 12;

if(x > (fb.w-12))

x = fb.w-12;

if(y < 12)

y = 12;

if(y > (fb.h-24))

y = fb.h-24;

mice_save(fb, x, y);

mice_draw(fb, x, y);

if(m.button == 1 || m.button == 2 || m.button == 3)

kill(p[0], SIGUSR1);

}

}else if(i == 2)

{

client();//图片下载检测更新函数

}

else{

for(i = 0; i < 2; i++)

wait(NULL);

fb_destroy(&fb);

}

return 0;

}

2.2、三种图片更换效果

int yuan(u32_t * buf32, fb_info fb_inf)//点到圆

{

int i,j,r;

for(r=0;r<=160;r++)

{

for (i=0;i

for(j=0;j

{

if(((i-50)*(i-50)+(j-50)*(j-50))

{

point_t p;

p.x = i;

p.y = j;

fb_pixel(fb_inf, p, buf32[i + j*fb_inf.w]);

}

}

for (i=0;i

for(j=0;j

{

if(((i-800)*(i-800)+(j-200)*(j-200))

{

point_t p;

p.x = i;

p.y = j;

fb_pixel(fb_inf, p,buf32[i+j*fb_inf.w]);

}

}

for (i=0;i

for(j=0;j

{

if(((i-256)*(i-256)+(j-576)*(j-576))

{

point_t p;

p.x = i;

p.y = j;

fb_pixel(fb_inf, p, buf32[i + j*fb_inf.w]);

}

}

for (i=0;i

for(j=0;j

{

if(((i-768)*(i-768)+(j-576)*(j-576))

{

point_t p;

p.x = i;

p.y = j;

fb_pixel(fb_inf, p, buf32[i + j * fb_inf.w]);

}

}

for (i=0;i

for(j=0;j

{

if(((i-512)*(i-512)+(j-384)*(j-384))

{

point_t p;

p.x = i;

p.y = j;

fb_pixel(fb_inf, p, buf32[i + j * fb_inf.w]);

}

}

}

usleep(100);

for (i=0;i

for(j=0;j

{

point_t p;

p.x = i;

p.y = j;

fb_pixel(fb_inf, p, buf32[i + j * fb_inf.w]);

}

usleep(100);

return 0;

}

int baiye(u32_t * buf32, fb_info fb_inf){//百叶窗

int i, j;

int n,y;

int num = fb_inf.h/N;

int num2 = num/N_2;

printf("fb_inf.h = %d\nfb_inf.w = %d\n", fb_inf.h,fb_inf.w);

for(y = 0; y < N_2; y++){

#if 1

for(n = 0; n < N; n++)

{

for(i = n*num+y*num2-n*3/(n+1); i <

(n)*num+num2+y*num2; ++i)

{

for (j = 0; j < fb_inf.w; ++j){

point_t p;

p.x = j;

p.y = i;

fb_pixel(fb_inf, p, buf32[j + i * fb_inf.w]);

}

}

usleep(10);

}

usleep(10);

#else

for(i = n*num; i <= (n+1)*num; ++i){

for (j = 0; j < fb_inf.w; ++j){

point_t p;

p.x = j;

p.y = i;

fb_pixel(fb_inf, p, buf32[j + i * fb_inf.w]);

}

}

#endif

}

return 0;

}

int jianbian(u32_t * buf32, fb_info fb_inf){//渐变效果

int i,j,k,a=10;

while(a>0){

for(i = 0; i < fb_inf.h; i+=a){

for (j =0; j < fb_inf.w; j+=a){

point_t p;

p.x = j;

p.y = i;

for(k=0;k<100;k++)

fb_pixel(fb_inf, p, buf32[j + i * fb_inf.w]);

}

}

a--;

for(k=0;k<10;k++);

// for(n=0;n<4000;n++);

}

return 0;

}

3、服务器端程序流程图

服务器端程序流程图

4、服务器端主程序:

#include"head.h"

#include"err.h"

#define IP "192.168.0.98"

#define PORT 8000

int main(void){

int lfd,cfd;

int fly = 0;

pid_t pid;

struct sockaddr_in addr_in;

lfd = socket(AF_INET,SOCK_STREAM,0);//服务器端套接字的建立

if(lfd == -1)

err_sys("socket error");

memset(&addr_in,0,sizeof(addr_in));

addr_in.sin_family = AF_INET;

addr_in.sin_port = htons(PORT);

inet_pton(AF_INET,IP,&addr_in.sin_addr.s_addr);

if(bind(lfd,(struct sockaddr*)&addr_in,sizeof(addr_in)) == -1) err_sys("bind error");

if(listen(lfd,128) == -1)

err_sys("listen error");

while(1){

cfd = accept(lfd,NULL,NULL);

if(cfd == -1)

err_sys("accept err");

pid = fork();

if(pid == 0){

pid = fork();//用子进程的子进程实现服务器的并发

if(pid > 0)

exit(0);

change(cfd);//更新上传函数

}

else{

close(cfd);

wait(NULL);

}

fly =0;

}

return 0;

}

#include"head.h"

pic_link *creat_pic_node( char *pic_name)//链表节点的建立{

pic_link *p;

int len;

len = strlen(pic_name);

printf("--------->%s\n",pic_name);

p = (pic_link *)malloc(sizeof(pic_link));

p->pic_name = (char *)malloc(sizeof(char)*(len+1));

strcpy(p->pic_name,pic_name);

p->pic_flag = 1;

p->next = NULL;

return p;

}

void insert_pic(pic_link *p) //节点的插入{

printf("p ->name=%s\n",p->pic_name);

if(head == NULL)

{

p->next = head;

head = p;

q = p;

}

else

{

q->next = p;

q = p;

}

}

四、调试过程

1、实验步骤

1.1、进入linux环境,启动两个终端,一个用于服务器程序,一个用于客户端程序。

1.2、解压freetype_

2.

3.11.tar.bz2文件,进入其目录下,输入make命令进行编译连接。

1.3、在命令行执行source ./dpf.sh shell文件。

1.4、在命令行 sudo chmod 777 /dev/fb0 sudo chmod 777 /dev/input/mice 命令,输入密码即可。

1.5、启动服务器终端,在命令行使用make命令,输入./server运行程序。

1.6、启动客户终端,在命令行使用make命令,输入./client运行程序。

2、出现的问题

2.1、每当鼠标滑过都会有痕迹留下,看上去很像画笔。

2.2、程序编译时出现段错误。

2.3、下载文件时出现阻塞现象。

3、解决方法

3.1、在鼠标绘制前保留一下上一时刻鼠标锁在位置的像素值,鼠标过后在还原,问题解决。

3.2、出现段错误的地方很多,原因也很多一般是越界了,把内存地址中的其他值给冲掉了,用gdb调试即可找到问题所在。

3.3、下载文件时出现阻塞现象的可能原因是套接字read与write不同步,还有可能是文件读完了,获得不到中断信号,退不出循环体,这是只要获得文件的大小即可(获取文件大小用lseek函数)。

五、总结

通过本次实习我更深入的了解到程序模块化的重要性,他可以使人有更清晰的思路去处理所实现的个个功能。对linux系统编程有了自己的见解,感觉到Makefile,与shell脚本在以后项目中的重要性。在以后的工作学习中要注重自己编程思想的建立、重要程序代码的积累和一些重要函数的使用。

不动手永远不知道自己能力的大小,解决问题靠的并不是纸上谈兵,所以我们要勤于动手,解决自己所遇到的问题,当你把一个很难解决得问题自己解决时,会发现人得潜力是无极限的,只要你肯努力。

这个项目完成,收获的是喜悦、编程的经验,自己的动手能力,编码的风格等等。

六、参考文献

1、Advanced Programming in the UNIX Environment (Second Edition )[USA] W.Richard Stevens Stephen A.Rago 2006

2、章毓晋. 图像处理分析[M]. 北京: 清华大学出版社, 1999, 2.

3、沈庭芳, 方子文. 数字图像处理及模式识别[M]. 北京: 北京理工大学出版社, 1998.

4、 G. K. Wallace. The JPEG Still Picture Compression Standard. IEEE Trans. Consumer Electronics, 1992, 38(1), 18-34.

5、谷爱昱. 基于ARM的静态图像显示系统的研究与实现. 广东工业大学硕士论文, 2007年4月.

数码相框的设计与实现

数码相框的设计与实现 【摘要】本课题以MCS-51单片机为开发平台,针对SD卡移植一种开源的FATFS 文件系统,能自动对SD卡上的文件进行枚举,并对符合格式要求的图像文件进行读取操作。本系统采用软件解码技术,实现对通用图像文件格式BMP进行解码操作,并使图像在彩色LCD显示屏上显示,同时通过按键控制图像播放模式,包括图片的切换以及循环显示。该设计方案制作成本低,硬件构成简单,易于扩展和升级,其解码功能是通过软件模拟实现,这样使系统具有良好的灵活性、适应性以及实用性。 【关键词】STC12C5A60S2单片机,FAT FS文件系统,BMP软件解码,SD卡

Design and Realization of Digital Photo Frame 【Abstract】Based with MCS-51 MCU Development Platform,the system transfers an open source file system named FATFS for the SD card.This file system can automatically enumerate the files of SD card and achieve read operation of the image file which meets the requirements of format. At the same time the system uses the software decoding to achieve the decoding operation of the common image file formats BMP. While the image can be displayed on the color LCD, through the key buttons,the system also can control the image playback mode,including the switch and cycle display. With low production costs and simple hardware ,this design is easy to expand and upgrade. Also the decoding function is achieved through software simulation, so that the system has good flexibility, adaptability and practicality. 【Key Words】STC12C5A60S2 MCU,FATFS FileSystem,BMP Software decoder,SD Card

网络电子相册系统的设计与实现_毕业设计(论文)

武汉工程大学邮电与信息工程学院 毕业设计(论文) 网络电子相册系统的设计与实现 Design and Implementation of System of Network Electronic Album

作者声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。如本毕业设计(论文)引起的法律结果完全由本人承担。 毕业设计(论文)成果归武汉工程大学邮电与信息工程学院所有。 特此声明。 作者专业: 作者学号: 作者签名: ____年___月___日 摘要

网络相册系统是采用https://www.360docs.net/doc/db17455732.html,开发的一个基于B/S构架的连接数据库的网站。相比起互联网的发展,电子相册出现的时间不算太长,但却迎合了大多数网民的需求,是一个大有前途的新生事物。 本设计主要讲述了网络电子相册的基本功能和使用https://www.360docs.net/doc/db17455732.html,、数据库的设计方法。设计最终达成了非注册用户可以浏览受限制权限的照片,注册用户在前台可以实现包括上传、查看图片、创建相册、用户登录、用户注册、修改密码、修改个人资料等电子相册的基本功能;在后台,管理员可以管理会员、添加和删除相册类型、对照片进行管理、可以发布网站新闻实现和会员进行信息分享。并且网站能够正常运行,各个页面交互性较好。在整个设计中基本运用基础的https://www.360docs.net/doc/db17455732.html,进行功能编程,也运用到了一些前端控件来控制输入信息,对输入信息进行验证,连接数据库使用的https://www.360docs.net/doc/db17455732.html,技术。在系统规划中先后用数据流程图、系统功能结构图还有用例图分析了网站所需的各种数据,对网站所要实现的功能和各个模块之间的关系进行了详细的构思。同时对本系统所需要的代码进行了认真的分析和设计,从而有利于系统的稳定。详细的展现了系统的各个功能模块并给出了主要功能运行界面图。本系统的设计主要通过图表来表现,实现主要通过运行的截图还有代码来实现。使系统科学合理。 关键词:相册;https://www.360docs.net/doc/db17455732.html,;B/S架构 Abstract

多媒体电子相册管理系统毕业设计

毕业论文(设计)题目多媒体电子相册管理系统 姓名来娜学号1109064042 所在院(系)数学与计算机科学学院 专业班级信息与计算科学02班 指导教师张瑞林 完成地点陕西理工学院 2015年6 月6日

多媒体电子相册管理系统 作者:来娜 (陕西理工学院数学与计算机科学学院信息与计算科学专业信计1102班,陕西汉中723000) 指导教师:张瑞林 [摘要]随着社会的发展,信息的获取、处理、交流和决策都需要高质量的计算机软件来完成。图片管理是现在互联网网站面临的一项必要任务,如何有效的实现对图片的管理也是一项比较重要和复杂的工作。相册在很久以前就开始有了,原来是以纸质照片的形式存在,后来随着数码相机和数码摄像机的普及,照片再也不是原来意义上的相片了。在网络上,电子相册发展迅速,很多网站、博客都需要有电子相册的功能。目前很多网站都提供了个人电子相册功能,用户可以把照片放在电子相册中,一是有利于保管照片,二是可以和朋友共同分享这些照片并为网站聚集较高的人气。本系统将从系统概述、需求分析、数据库结构设计、系统设计和功能实现等方面讲述如何实现电子相册管理系统的开发。 [关键词]电子相册;照片;jsp;MySQL;

Multimedia electronic album management system Author :LaiNa (Grade11,Class02,Information and computing science Major, Mathematics and Computing Science Dept., Shaanxi University of Technology, Hanzhong 723000,Shaanxi) Tutor: ZhangRuiLin [Abstract] With the development of the society, the acquisition, disposal, communication and decision of the information all need the high-quality computer software to complete. Nowadays, image management is a necessary task faced by the Internet site, it is also an important and complex work to implement the management of the image effectively. The album exists a long time, originally it in the form of paper photos, with the universality of digital cameras and digital video cameras, photo is not the original sense of the photo anymore. On the Internet, electronic photo album has been developing rapidly, many of the websites and blogs need the function of electronic photo album. Many web sites provide the function of personal electronic albums, users can put pictures to the electronic photo album, on the one hand it is beneficial to keep photos, on the other hand friends can share these pictures with each other, and pick up high popularity for website. This system will relate how to realize the electronic photo album management system development from the system overview, demand analysis, database structure design, system design and function realization, etc. 残骛楼諍锩瀨濟溆塹籟。 [Keywords] Electronic album;Photo; jsp; MySQL

数码相框嵌入式课程设计报告

武汉工业学院计算机系数码相框设计实验报告 课程:嵌入式 班级:网络工程081 姓名:彭晓晓 学号:080510122 日期:2011-11-28

一.设计目的 开设本课程设计的目的是,通过本课程设计,提高学生的分析问题、解决问题的能力,巩固嵌入式系统的基本理论知识,进一步了解和掌握课程中所讲授的概念,方法。同时通过本课程设计,全面综合应用所学过的基础知识,建立一个完整的嵌入式系统的开发过程的概念,并掌握其中的主要原理和方法 本课程设计的目的是通过开发一个消费类电子产品——数字相框,了解嵌入式产品开发的主要步骤,包括需求分析、系统结构设计、图形界面设计、驱动程序、功能优化、系统测试等,从而培养学生独立完成比较复杂的实际系统设计的能力。 二.设计内容和要求 2.1设计的内容 作为一个消费类电子产品,数码相框整个系统要完成的基本功能大致如下: 1、用户界面友好,操作简便。由于该产品的使用者大多是非专业人士,用户界面是否清晰明了、操作是否简捷方便成为用户是否能迅速接受此产品的重要因素。 2、数字相框的功能应包括以下方面: (1)在LCD屏上全屏循环显示多幅图像文件; (2)根据设定的时间间隔更新图像; (3)显示时间、日期; (4)通过按钮进行操作;

2.2 要求 本课程设计要求学生根据实际应用的特点对产品进行完整的需求分析,形成比较完善的总体设计方案。同时,要求学生具备Linux操作系统下简单的设备驱动程序开发、图形用户接口设计的能力。此外,还要求读者掌握基本的系统功能及性能测试技术,从而具备比较全面的嵌入式应用系统开发能力。 三.总体设计 主要步骤和方法 根据数字相框的主要特点和设计功能那个要求,我们将课设分为以下几个步骤:3.1、数字相框软硬件平台的选择 性能方面,由于数字图像的解码算法比较复杂,而且大量图片需要从外部Flash存储器中读取,所以对嵌入式微处理器的性能要求比较高。外部接口方面,该芯片最好能在外围直接支持CF卡的Compact Flash接口,还应提供按钮、LCD显示屏、触摸屏、声音输出通道等。在本课程设计中,采用了Intel的PXA270作为微处理器,完全能满足上述硬件平台的要求。 数字相框属于消费类电子产品,对价格比较敏感,而嵌入式Linux操作系统上有比较丰富的软件资源、驱动程序和开发工具,因此本课程设计采用嵌入式Linux作为软件开发平台。在Linux操作系统平台上有多种嵌入式图形界面开发工具可供使用,主要包括MicroWindows、MuniGUI、TinyX和Qt/Embedded等几种。本课程设计将集中讨论在 Qt/Embedded系统上数字相框的实现技术,当然也可以通过其他图形开发界面工具实现数字相框功能。 3.2、数字相框的软件总体设计 数字相框软件系统功能可以划分为三个模块: 1)图片浏览模块,可以通过按键控制选定某个图像或更新图像页(上一页、下一页)。

数码相框发展背景与国内外现状

数码相框发展背景与国内外现状 1 数码相框发展背景 2 国内外研究现状 1 数码相框发展背景 随着数码相机的大量普及和数字影像的流行,原本使用的传统相框、影集已经不能满足人们的需求,仅能使用PC进行浏览图片严重的限制了人们娱乐需要。随着电子技术的不断发展,数码相框的实现成本越来越低,这必将使得数码相框越来越普及。 数码相框采用传统相框的外观造型,把传统相框的中间部分换成液晶显示屏,配上电池,存储介质等部件,就可以直接播放数码照片,同时,还可以循环展示不同照片,给日益增多的数码照片和喜好摄影的人们提供了一个很好的照片展示平台和空间。数码相框的优势在于:使用简单,直接从数码相机中取出记忆卡插入数码相框中即可浏览;无须使用电脑,无须冲洗打印,各种数码相片都可存放在数码相框中显示;它适用于家庭,以及各种高雅场所如商场,宾馆,酒店,休闲中心等。数码相框继承了数码的时尚和相框的温情,受到年轻人的追捧毋庸置疑, 但它傻瓜式的操作方式,简洁直观的操作体验对老年人也颇有吸引力,可谓老少皆宜。 在产业融合的大趋势下,数码相框的发展也正逐渐从单一的照片回放功能逐渐扩展出新的功能,并衍生出许多个性化的需求应用,甚至有成为家庭娱乐显示第二中心的趋势。国内外的品牌厂商在实现数码相框的基本功能之外,也在不断增加一些附加功能。如加入了立体声扬声器;可以支持背景音乐的播放;能实现多种视频文件的回放;具备更大容量的内置存储器、并兼容多种移动存储介质。而在一些高端产品上,诸如Wi-Fi、蓝牙、红外等无线功能,操作更直观的触摸屏等设置也不鲜见。 开发数码相框的平台有很多,NiosⅡ就是其中的一种。由于NiosⅡ嵌入式系统处理器是一种采用流水线技术、单指令的RISC处理器,其大多数指令可以在一个时钟周期内完成,所以处理速度很快。NiosⅡ处理器软核是一种可配置的通用RISC处理器,可以与用户自定义逻辑集合构成一个基于FPGA的片上系统。它结合片外Flash以及大容量存储器,可构成一个功能强大的嵌入式系统。这对于相框的速度和图像质量有很大好处,保证数码相框显示时的速度和质量。

基于嵌入式linux和Qt数码相框设计与实现

基于嵌入式linux和Qt数码相框设计与实现 【摘要】数码相框是嵌入式技术应用产品之一,它通过一个液晶的屏幕显示数码照片,具有精致、轻便、怀旧外观、可随意摆放等有优点,其照片展示方式多样。从SD卡获取相片后,可设置多种显示方式,灵活多变,给数码相片提供了一个创新和良好的展示平台。本文根据国内外数码相框技术和发展现状,结合用户具体需求完成了嵌入式linux和Qt数码相框系统设计。 【关键词】数码相框;嵌入式;linux;设计 1.系统需求分析 (1)图片显示功能 基于嵌入式linux和Qt数码相框支持常见的图片格式为BMP和JPEG两种。消费者用户可选择U盘、SD卡或内置存储器中的图片进行播放。其播放模式有: 1)循环播放。设定每间隔一段时间就更换一副图片,其播放过程可控制,可以实现播放,暂停,上一幅,下一幅等功能。 2)静显状态。静显状态可实现图片缩放以及触控方式移动图片。图片在缩放时,以x0.2,x0.4,x0.6,x1,x1.2,x1.6等比例显示。 (2)音乐播放功能 基于嵌入式linux和Qt数码相框,其音乐播放支持常见的mp3文件。其播放的模式有: 1)单独播放功能。数码相框单独播放功能就指播放界面显示当前曲目信息,包括文件名,播放时间和文件格式,具有播放、暂停、上一曲、下一曲等功能。有单曲、多曲、循环这三种播放模式。用户可以选择播放的音乐曲目(单曲或者多曲)。 2)混合播放模式。数码相框在显示图片的时候,循环播放音乐作为图片的背景音乐。消费者用户可以选择播放的音乐曲目(单曲或者多曲)。 3)系统设置功能。通过系统设置,可以实现以下功能: a.可以设置该图片播放时停留的时间。 b.可以延时关机功能,可设置延时时间。 c.关机功能。

数码相框论文

广州大学华软软件学院 本科毕业论文 论文题目嵌入式数码相框的设计与实现专业电子信息工程 班级11级嵌入式应用软件开发1班姓名许家淇 学号1140907104 指导教师徐礼国 广州大学华软软件学院电子系 2015年 4 月

摘要本设计采用搭载s3c2440芯片的TQ2440开发板作为硬件平台,并在该硬件平台上移植了u-boot,linux内核,根文件系统,构成一个嵌入式linux操作系统,该系统的最大特点就是,可以根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求,主要用途就是对软硬件资源的调度与分配。 在搭载了linux嵌入式系统的TQ2440开发板上,本文设计了一个界面应用程序,该应用程序主要功能为:用户通过对界面的操作就可对数码相框中图片的浏览与管理,以及进行幻灯片播放功能。 关键词: TQ2440;嵌入式系统;数码相框;

ABSTRACT This curriculum designt uses the TQ2440 development board with the S3C2440 chip as the hardware platform and transplant u-boot, the hardware platform in the Linux kernel, root file system, constitute an embedded Linux operating system, the biggest feature of the system is that can be tailored to meet the hardware and software according to the demand of application, function, reliability, cost, volume requirements of application system, the main purpose is to soft hardware resource allocation and scheduling. When equipped with a TQ2440 development board Linux embedded system, this paper designed an interface application program, the main function of the application program so that the user can browse and management of the image in the digital photo frame through the interface, and a slideshow feature. KEY WORDS:TQ2440; Embedded System; Digital Photo Frame

数码相框

南华大学计算机科学与技术学院 实训内容:数码相框(触摸切换) 一、目的: 将一个指定目录中的 bmp图片的完整文件名保存到链表中循环的在FB上显示链表中的图片,滑动屏幕使之改变当前的图片显示,左滑(上滑)上一张,右滑(下滑)下一张。 二、原理: 通过dir函数打开目录,读取文件,筛选出bmp文件,利用strcmp 函数比较文件后缀是否为“.bmp”来确定文件为bmp文件。 创建一个带头的节点的链表,然后将找到的bmp文件存到链表中。 每个图片都是数据,先通过open函数打开屏幕设备和图片文件,将图片文件的光标用lseek函数移到地54位,将屏幕通过mmap函数映射到内存,由于图片读出来的数据写进去后图片是倒着的,需要用数组将数据倒过来,屏幕每一个点都是有B、G、R、A组成利用数组将图片数据写进去就实现了图片的显示,然后解除屏幕的映射关闭设备。 通过读取滑动屏幕的落点和终点的坐标,计算差值来判断左滑(上滑)还是右滑(下滑)来控制图片为上一张还是下一张。 三、环境 Linux.c编译环境

四、代码 #include #include #include #include #include #include #include #include #include #include #include #include #include #define KEY_DEV "/dev/event0" #define MOU_DEV "/dev/event0" #define TOUS_DEV "/dev/event0" #define TOUP_DEV "/dev/event0" //构建函数体 typedef char Eletype; typedef struct node { Eletype data[128]; struct node *next; struct node *perv; }Node; typedef struct list { Node *frist; Node *last; int num; }List; List *p; static int ts_fd = -1; static struct input_event data; //创建坐标函数 static int x0, y0, x1, y1;

电子相册系统的设计与实现

哈尔滨理工大学 毕业设计题目:电子相册系统设计与实现 院、系:荣成学院软件工程系 姓名: xxxxx xx 指导教师: xxxxx 系主任: xxxxxxx 2013年6月21日 哈尔滨理工大学毕业设计(论文)评语

哈尔滨理工大学毕业设计(论文)任务书

电子相册系统设计与实现 摘要 随着人们生活水平的逐步提高,旅游照相成了大家必不可少放松项目。虽然照片最后会存入到自己的电脑里,但是时间一长、照片一多,这些有着勾起回忆的“资料”,就会显得杂乱无章,即不方便欣赏,也不方便管理。而电子相册具有欣赏、界面美观等特点,传播方便,可以很好的管理所存入的照片,不失为最佳欣赏、保存照片的相册工具。 本系统是一种基于B/S架构的电子相册管理系统,它采用了目前最流行的Java语言进行编写,用到了当今先进的技术如JSP技术、Hibernate、Spring、Struts框架等来实现该系统。系统分为五大模块:相册列表模块、新建相册模块、修改资料模块、修改密码模块、添加相册分类模块。前四大模块是根据注册用户的提供的,注册用户登陆后可以进行添加相册,上传,删除照片,修改资料等一系列操作,最后一个模块是管理员登陆所进行的操作。而如果是未注册用户只能查看相册中的内容,没有权力进行相应的修改。 关键词JAVA;电子相册;SSH框架;MVC

The Electronic Album System Base On SSH Framework Abstract With the gradual improvement of people's living standards,Journey and photograph is becoming our indispensable project for relaxing. Although the pictures will eventually be stored into their own computer, but those pictures which has broken back memories of the past time, will become disorganized after a long time. It is inconvenient to appreciate and manage. Electronic album has features of appreciation and beautiful interface. It is easily to spread .The matter of managing stored pictures will become a relaxed thing. Electronic album which has best appreciation will become a album tool to store pictures. This system is a album management system, which is based on B / S structure .Its code uses java to write which is the most popular language. And today's advanced technologies such as JSP technology, Hibernate, spring, Struts framework are used to implement the system. This system is divided into five modules, such as album list module, new album module, modify data module, change password module, add album classification module. The top four modules are provided according to registered users. Registered users can do a series of operations such as add albums, upload and delete photos, modify data after opining system. The last module is used to perform for an

电子相册FLASH毕业设计说明

大学毕业电子纪念相册设计与制作 前言 电子相册是指可以在任何电子显示器上呈现,结合图片、文字、音乐、相框等多种表达形式于一体的综合产物,它可以是一组静态图像,也可以是动态视频组合在一起的故事性短片。电子相册包括两种,一种是软件类型的电子相册,例如 Flash、Windows Movie Maker、Premiere、Portable Scribus等制作的电子相册;还有一类电子相册属于硬件类型,这种相册可以不通过电脑播放,而是在LCD上显示,此类电子产品被称为电子相框。 电子相册有方便保存、价格低廉、便于传阅、表达方式丰富等优点,因此深入应用到了人们生活的方方面面,比如婚纱影像、儿童写真、个人写真、聚会情景等等,它们都需要应用电子相册制作成为影像记录人生的美好时光,刻录成VCD、DVD光盘长期保存。 1 素材收集 随着科技的发展,数码产品的使用已经普及到大部分人们的生活,带有摄影摄像功能的仪器,也从最初时期的专业摄影机、DV、照相机逐步转化为家庭式更便捷的单反相机,甚至是手机。 1.1 摄影概述 摄影从物理角度讲,就是光学成像的原理,让现实场景的东西通过镜头在二维平面上展现出来。由此我们又可通过成像方式和效果来分类,分别为图片摄影、电影摄影和电视摄影等。在接下来的素材获取中,我们最常用的就是图片摄影,通俗的讲就是用照相机进行拍摄。 1.2 素材获取 素材的获取过程依次为选择、照明、构图、曝光、呈现。选择是选择需要拍摄的物体,此物体要能通过照片来表达自己的信息和思想;照明则是为了保证被摄体能被清晰看见;构图就是把被摄体放在合适的位置,更好的表达摄影者的思想、情绪、艺术修养。如图1.2-1所示:

数码相框设计与研究毕业论文

数码相框设计与研究毕业论文 1绪论 1.1 课题背景 随着数码相机的大量普及和数字影像的流行,原本使用的传统相框、影集已经不能满足人们的需求,仅能使用PC进行浏览图片严重的限制了人们娱乐需要。随着电子技术的不断发展,数码相框的实现成本越来越低,这必将使得数码相框越来越普及。 数码相框采用传统相框的外观造型,把传统相框的中间部分换成液晶显示屏,配上电池,存储介质等部件,就可以直接播放数码照片,同时,还可以循环展示不同照片,给日益增多的数码照片和喜好摄影的人们提供了一个很好的照片展示平台和空间。数码相框的优势在于:使用简单,直接从数码相机中取出存储卡插入数码相框中即可浏览;无须使用电脑,无须冲洗打印,各种数码相片都可存放在数码相框中显示:它适用于家庭,以及各种高雅场所如商场,宾馆,酒店,休闲中心等。数码相框继承了数码的时尚和相框的温情,受到年轻人的追捧毋庸置疑,但它傻瓜式的操作方式,简洁直观的操作体验对老年人也颇有吸引力,可谓老少皆宜。在产业融合的大趋势下,数码相框的发展也正逐渐从单一的照片回放功能逐渐扩展出新的功能,并衍生出许多个性化的需求应用,甚至有成为家庭娱乐显示第二中心的趋势。国外的品牌厂商在实现数码相框的基本功能之外,也在不断增加一些附加功能。如加入了立体声扬声器,可以支持背景音乐的播放,能实现多种视频文件的回放,具备更大容量的置存储器、并兼容多种移动存储介质。而在一些高端产品上,诸如Wi-Fi、蓝牙、红外等无线功能,操作更直观的触摸屏等设置也不鲜见。 1.2课题研究的意义 现在社会已经进入数码时代,许多传统的东西都有对应的数码设备产生,比如数码相机,就代替了原来的有胶片才能照相的窘境,并且在体积还是功能,又或者是容量方面都有显著的提高和改进。 针对数码相机照相品质高,数量多的这一特点,如果用传统的相册来存放显然是不理想的,需要大量的资金,并且占用较大的空间。因此开发了电子相册这样一种数码产品以适应这样一种发展的趋势和潮流。 电子相册的功能设定的是四个,分别是music功能、preview功能、slide 功能和exit功能。Music功能就是播放音乐,主要是MP3格式的。而且有播放

基于嵌入式ARM_Linux的电子相册设计方案

基于嵌入式ARM-Linux的电子相册设计方案 1.1 电子相册市场成长的必然性 (1)市场需求的必然性 在上世纪末本世纪初,电子相册呈现迅速发展的势头,普及型数码相机的分辨率由200万象素增长到现在的800—1500万象素,价格也由300美元左右下降到现在的120美元左右。随着数码相机的日益普及,作为一种以数字照片的保存、回放和浏览为核心功能的产品——电子相册自然迎合了消费者的需求。(2)核心器件性能和价格的合理化推动市场的发展 电子相册有三大核心器件:处理器,半导体存储器和LCD显示单元。随着ARM的不断发展,电子相册所需要的ARM+Jpeg处理器技术已为许多厂商所拥有,集成了USB Host及卡接口单元的产品也屡见不鲜。Nandflash技术飞速发展,单位容量的价格在过去的六年中约下跌40至50倍。 1.2电子相册未来产品的发展 1.2.1 数码相框 数码相框将是以数字照片的重显为主要功能的产品,其功能更接近于传统意义上的相框。由于受到人机界面的限制,为更方便地重显和浏览以及确定重显的规则,这类产品不强调有大容量的存以及丰富的卡接口。主要特征是:(1)USB 接口以便更新和同步数据; (2)在某些情况下(如从PC端通过相框的USB接口同步数据时),允许修改数字照片的格式,使其有最佳的重显效果; (3)仅依靠置的半导体存储器存放需要重显的数字照片; (4)文件(照片)查询和播放规则设定非常简洁易用; (5)产品大致分为桌面和壁挂两种。 1.2.2 电子相册 电子相册是以数字照片的存储和浏览为主要功能的产品 由于需要满足跟PC相同的类似功能,这类产品的主要特征是: (1)有大容量的置数据存储器; (2)USB 等各种卡接口,并支持部存贮器与各种数据存贮器之间的同步以及相互拷贝;

电子相册FLASH毕业设计

电子相册FLASH毕 业设计 1

大学毕业电子纪念相册设计与制作 前言 电子相册是指能够在任何电子显示器上呈现,结合图片、文字、音乐、相框等多种表示形式于一体的综合产物,它能够是一组静态图像,也能够是动态视频组合在一起的故事性短片。电子相册包括两种,一种是软件类型的电子相册,例如Flash、Windows Movie Maker、Premiere、Portable Scribus等制作的电子相册;还有一类电子相册属于硬件类型,这种相册能够不经过电脑播放,而是在LCD上显示,此类电子产品被称为电子相框。 电子相册有方便保存、价格低廉、便于传阅、表示方式丰富等优点,因此深入应用到了人们生活的方方面面,比如婚纱影像、儿童写真、个人写真、聚会情景等等,它们都需要应用电子相册制作成为影像记录人生的美好时光,刻录成VCD、DVD光盘长期保存。 1 素材收集 随着科技的发展,数码产品的使用已经普及到大部分人们的生活,带有摄影摄像功能的仪器,也从最初时期的专业摄影机、DV、照相机逐步转化为家庭式更便捷的单反相机,甚至是手机。 1.1 摄影概述 摄影从物理角度讲,就是光学成像的原理,让现实场景的东西经过镜头在二维平面上展现出来。由此我们又可经过成像方式和效果来分类,分别为图片摄影、电影摄影和电视摄影等。在接下来的素材获取中,我们最常见的就是图片摄影,通俗的讲就是用照相机进行拍摄。

1.2 素材获取 素材的获取过程依次为选择、照明、构图、曝光、呈现。选择是选择需要拍摄的物体,此物体要能经过照片来表示自己的信息和思想;照明则是为了保证被摄体能被清晰看见;构图就是把被摄体放在合适的位置,更好的表示摄影者的思想、情绪、艺术修养。如图1.2-1所示: 图1.2-1 军训 图1.2-1则是选择军训场景为拍摄物,将被摄物体以九宫格黄金分割点比例排放,以侧面拍摄的角度体现军训同学整齐划一的队列,另外曝光部分虽经过后期处理,但目的在于增强了画面视觉冲击力,也充分突出了军训场景太阳的炽烈和同学们训练的一丝不苟。 2 Photoshop处理素材与图形绘制 2.1 Photoshop概述 Adobe Photoshop是一个专业级图像编辑软件。从1990年第一代开始,到如今它已成为图像处理行业的标准。使用人员可在电脑上直接完成文字的录入与编排、图像绘制与处理、形象创造和网页设计等。随着现在人们对图像要求的增多,也正是因为该软件的便利与优势,几乎无处不见PS的痕迹。

数码相框嵌入式课程设计正文

简易电子相框的设计 摘要:嵌入式系统是在传统单片机等技术的基础上发展起来的一项结合硬件和软件应用广泛功能强大的系统。嵌入式系统通过在软件平台编译控制程序并在硬件上运行,嵌入式软件的开发已经在工业各个方面都有很多应用,学习好嵌入式系统开发已成为现在从事电子研发人员必不可少的技能。本次课程设计是基于嵌入式硬件平台,完成了有操作系统的嵌入式系统软件设计,通过在虚拟机平台上使用Linux操作系统实现在该操作系统下多任务程序开发,通过编译下载能够在超级终端显示信息,从而达到课程设计要求。关键字:嵌入式系统;虚拟机;Linux操作系统;超级终端

目录 1.设计目的 (1) 2.设计内容和要求 (1) 2.1设计的内容 (1) 2.2 要求 (1) 3.设计步骤 (1) 主要步骤和方法 (1) 3.1数字相框软硬件平台的选择 (2) 3.2数字相框的软件总体设计 (2) 3.2.功能模块组织架构图 (2) 4. 环境搭建 (3) 5. 运行结果及调试 (6) 6. 课程设计总结与体会 (8) 参考论文: (9)

正文 1.设计目的 开设本课程设计的目的是,通过本课程设计,提高学生的分析问题、解决问题的能力,巩固嵌入式系统的基本理论知识,进一步了解和掌握课程中所讲授的概念,方法。同时通过本课程设计,全面综合应用所学过的基础知识,建立一个完整的嵌入式系统的开发过程的概念,并掌握其中的主要原理和方法 本课程设计的目的是通过开发一个消费类电子产品——数字相框,了解嵌入式产品开发的主要步骤,包括需求分析、系统结构设计、图形界面设计、驱动程序、功能优化、系统测试等,从而培养学生独立完成比较复杂的实际系统设计的能力。 2.设计内容和要求 2.1设计的内容 作为一个消费类电子产品,数码相框整个系统要完成的基本功能大致如下: 1、用户界面友好,操作简便。由于该产品的使用者大多是非专业人士,用户界面是否清晰明了、操作是否简捷方便成为用户是否能迅速接受此产品的重要因素。 2、数字相框的功能应包括以下方面: (1)在LCD屏上全屏循环显示多幅图像文件; (2)根据设定的时间间隔更新图像; 2.2 要求 本课程设计要求学生根据实际应用的特点对产品进行完整的需求分析,形成比较完善的总体设计方案。同时,要求学生具备Linux操作系统下简单的设备驱动程序开发、图形用户接口设计的能力。此外,还要求读者掌握基本的系统功能及性能测试技术,从而具备比较全面的嵌入式应用系统开发能力。 3.设计步骤 主要步骤和方法 根据数字相框的主要特点和设计功能那个要求,我们将课设分为以下几个步骤:

1300330129张涛-电子相册系统的设计与实现

编号:29 UML与系统分析 课程设计说明书 题目:电子相册系统 的设计与实现 学院:计算机科学与工程学院 专业:软件工程 学生姓名:张涛 学号:1300330129 指导教师:谢武 2016年06月22日

摘要 本文介绍了电子相册系统的开发过程。随着数码相机逐步走进寻常百姓家中,人们对电子相册的需求不断增加,在当今社会电子相册系统应经成为人们生活和工作中日以追求的物质和精神需求,婚纱照片、儿童写真、个人照片等等,它可以记录人生的美好时光,这都需要应用电子相册来保存这些照片。本文就是以此为背景,分为系统概述、系统开发工具和相关技术、系统需求分析、系统模块设计、系统详细设计、总结等六章,详尽论述了从需求分析、系统分析、概要设计、详细设计、以及设计中的各方面的问题。 关键词:电子相册;路径;数据库;软件

目录 第1章绪论 (6) 1.1课题背景和意义 (6) 1.1.1课题背景 (6) 1.1.2课题意义 (6) 1.2 国内外发展现状 (6) 1.3 论文主要工作 (7) 1.4 论文章节安排 (7) 第2章可行性和需求分析 (8) 2.1 可行性分析 (8) 2.1.1技术可行性 (8) 2.1.2经济可行性 (8) 2.1.3政策可行性 (8) 2.2 用户分类及功能说明 (8) 2.2.2 系统功能模块 (8) 2.2.3功能描述 (9) 2.3 系统层次方框图 (5) 2.4 DFD和DD (6) 第3章系统设计 (9) 3.1 E-R图 (9) 3.2 用例图 (11) 3.2.1用例描述 (11) 3.3 活动图 (172) 第4章系统实现 (15) 4.1 前台 (15) 4.1.1打开照片模块 (15) 4.1.2加入相册 (16)

基于FPGA技术的电子相册设计--本科毕业设计

摘要 随着现今电子技术的快速发展,各式各样的电子数码产品层出不穷,人们生活的方方面面也离不开它们,与人们的生活息息相关。正是电子技术的不断进步与发展,驱使着数码相机以比较低廉的价格出现在市场上。现今,人们使用数码相机,一次拍摄下来往往就少不了上百张精美的图片,当图片存储在数码相机时,使用电脑来翻查所拍图片的操作比较繁琐,为了更便捷的观看到照片,电子相册就逐渐演变成电子数码相机的一种附属品,得到人们的热捧。与此同时,电子相册也能够大大节省传统打印照片的费用。 本课题是基于FPGA(Field Programmable Gate Array,现场可编程门阵列)技术设计的电子相册,选取Cyclone系列FPGA芯片EP1C3T144作为控制器,以SDRAM芯片 K4S641632作为储存器,读取SD卡内部的图片数据,然后通过15针VGA接口送往LCD 显示出图片,以实现简单的电子相册功能,让电子相册成为普通家庭摆设中的一道引人注目的风景线。 关键字FPGA;电子相册;VGA;Cyclone

Abstract With the rapid development of modern electronic technology, digital electronic products of all kinds has penetrated into every aspect of people's life, and is closely related to people's life.It is the continuous progress and development of electronic technology, driven by a digital camera with relatively low prices in the market.Nowadays, common family are in possession of a digital camera, and shooting down tend to store hundreds of beautiful pictures.Therefore,it is so more complicated when we use the computer to turn operation check the picture . In order to more convenient to watch the pictures, electronic photo album is a byproduct of people chasing hot digital camera.At the same time, the electronic photo album can also greatly reduce the cost of traditional print photos. This topic is based on FPGA (Programmable Gate Array Field, field programmable gate array) technology design of electronic albums, the system uses Cyclone series FPGA chip EP1C3T144C8 as the control processor, using SDRAM chip K4S641632 as the register, reading the internal image data of SD card , and then through the 15 pin VGA interface to the LCD display pictures, to achieve a simple electronic albums, can become a beautiful family scenery line. Key words FPGA Electronic photo album VGA Cyclone

相关文档
最新文档