粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频)

2024-06-04 3478阅读

项目设计开发环境:

(1)VMware Workstation Pro软件

(2)ubuntu12 .04 (能交叉编译就行)

(3)SecureCRT 

(4)代码编译器(notepad++/Visual Studio Code)

项目功能描述:

(1)幻灯片:开始进行图片幻灯片显示,结束后进入RFID刷卡开锁界面。

(2)RFID:刷卡成功和刷卡失败两种状态(刷卡成功后进入功能选择界面 )。

(3)功能选择界面:四个功能——电子相册、游戏、音乐播放、视频播放。

(4)电子相册:手动切换图片。

(5)游戏:后续待开发。

(6)音乐播放:手动切换歌曲,控制播放和暂停功能。

(7)视频播放:播放、退出。

设计步骤:

1、使用linux创建共享文件夹

2、程序编写

3、Linux的使用(交叉编译)

4、使用SecureCRT传输图片、视频(可U盘传输)

5、程序写入开发板

6、项目成果图:

 

1、创建共享文件夹

(1)打开虚拟机->菜单->管理->虚拟机设置->选项->共享文件夹->总是启用->添加。

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第1张

 粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第2张

 (2)验证是否创建成功

    快捷键:Ctrl+ALT+T 进入命令输入窗口,然后输入cd➕空格➕/mnt/hgfs➕回车,再输入ls➕回车。

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第3张

 

 2、程序编写

查看man手册:

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第4张 man 2 手册函数概述:

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第5张

头文件:

#ifndef _MAIN_H_//头文件名字大写
#define _MAIN_H_
//看一下这个头文件有没有被重复包含
//头文件
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include    //man 3 system ,man手册第三本书
#include "rfid.h"    //
//全局变量
int x,y;//这是触摸屏的坐标变量
int fd;//触摸屏在文件描述符
int lcd_fd;//LCD的文件描述符
int * FB;//内存映射的起始指针
int num;
int ret;
int RD;
int yy;
int aa;
int dd;
//函数声明
int project_init();//初始化函数
void touch_init();//触摸屏函数
void project_show();//主机界面
void project_delete();//释放销毁函数
int bmp_show(char *phtname);//显示图片函数
int system(const char *command);//
//结构体定义
//定义一个结构体存储读取触摸屏的信息
struct input_event touch;
int open_serial(void);
int PiccRequest(int fd);
int init_mplayer();
//宏定义
//联合体,枚举
#endif//结束

 

部分程序:

//主要程序
void project_show()
{
	//幻灯片
	bmp_show("/cry/hzw1.bmp");//刷海贼王1图片
	sleep(2);
	bmp_show("/cry/hzw2.bmp");//刷海贼王2图片
	sleep(2);
	bmp_show("/cry/hzw3.bmp");//刷海贼王3图片
	sleep(2);
	bmp_show("/cry/hzw4.bmp");//刷海贼王4图片
	sleep(2);
	bmp_show("/cry/hzw5.bmp");//刷海贼王5图片
	sleep(2);
    bmp_show("/cry/hzw6.bmp");//刷海贼王6图片
    sleep(2);
	bmp_show("/cry/skks.bmp");//刷刷卡开锁图片
    sleep(2);
	while(1)
	{ 
        ret = PiccRequest(RD);
		if(ret == -1)  //若是请求超时退出,必须要关闭串口后,重新打开才能再次读取数据
		{
			usleep(500000);
			close(RD);
			//打开串口文件
			RD = open_serial();
			/*初始化串口*/
			init_tty(RD);
			timeout.tv_sec = 1;
			timeout.tv_usec = 0;
			continue;
		}	
		else//(ret == 0)
		{
			printf("ok!\n");
		}
		//发送B命令 和获取卡号
		ret = PiccAnticoll(RD);
		//若获取的cardid为0,或获取id超时,则需重新发送'A'命令
		if(cardid == 0 || ret == -1) continue; 
		else if(ret == 0)
		{
			printf("card ID = %x\n", cardid);  //打印cardid号
			usleep(500000);
			//break;
		}
	    //close(RD);
	    if (cardid==0x6333f3ad)  //选择固定卡号
		{
            printf("刷卡成功\n");
			bmp_show("/cry/skcg.bmp");//刷卡成功
			sleep(3);
			bmp_show("/cry/xuanzhe.bmp");//刷卡成功
			while (1)
			{
		             touch_init();//触摸屏在初始化
		             if(touch.type == EV_KEY && touch.code == BTN_TOUCH && touch.value == 0)
		             {
			          printf("(%d,%d)\n",x,y);
			         //界面选择、界面跳转
                     //图片切换
		             if(x>25&&x70&&y 615 && x  390 && y  0 && x  390 && y  310 && x  390 && y  450 && x  290 && y  620 && x  390 && y  29 && x  390 && y  230 && x 390&& y  430 && x  390 && y  630 && x  15 && y  25 && x  290 && y  0 && x  0 && y  600 && x  410 && y  450 && x  70 && y  600 && x  410 && y  25 && x  410 && y  600 && x  410 && y  

3、Linux的使用(交叉编译)

编译命令:

arm-linux-gcc *.c -std=c99   (默认生成a.out文件)

arm-linux-gcc *.c -o a.out -std=c99 (指定生成a.out文件)

arm-linux-gcc *.c -I../inc -o../bin/main -std=c99 (指定生成main文件并存在共享文件夹中的bin文件夹中)

arm-linux-gcc *.c  -std=gnu99

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第6张

 项目框架:

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第7张

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第8张

 

 4、使用SecureCRT传输图片、视频(可U盘传输)

绿勾表示连接成功:

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第9张

 

可以将图片或者文件拖到CRT里面选择Xmodem发送:

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第10张

 

查看开发板有没有mplayer:

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第11张

 

传输文件命令:

rx+空格+你想传输的图片(修改图片宽度像素800x480,后缀为.bmp格式)

rx+空格+你想传输的视频或者音乐(音频格式.mp3、视频格式.avi)

 

U盘传输:

默认路径为:cd + 空格+/mnt/udisk:

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第12张

 

cp+U盘中想传输的文件+/想要存在的路径:

下图意思是拷贝hzw1.bmp文件到根目录文件中的cry文件夹中

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第13张

 查看当前路径或文件夹下有什么文件命令: ls粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第14张

 

调成中文字符:

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第15张

 

5、程序写入开发板

把交叉编译生成的a.out文件或main等文件拖到 SecureCRT中点击发送即可。

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第16张

 

6、项目成果图:

粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第17张粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第18张粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第19张粤嵌Gec6818---小项目功能实现简单步骤(RFID+图片显示+音乐+视频) 第20张

 

 

 

 

 


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]