基于GEC6818的智能家居系统
目录
1、项目名字
2、项目实现功能
3、部分功能讲解
4、项目主函数
1、项目名字
基于GEC6818的智能家居系统
2、项目实现功能
1)开机画面
2)自动播放照片(bmp图片,jpg图面)
3)手动播放照片(上下选择)
4)MP3的播放,暂停,继续功能
5)MP4的播放,暂停,继续功能
6)读取目录里的文件信息,显示到GEC6818屏幕上
7)链表的形式存储图片信息
项目需要用到jpeg库,jpeg库的移植可参考我以下的这篇博客:
(31条消息) jpeg库的移植步骤(GEC6818)_ljpeg库_sakura0908的博客-CSDN博客
3、部分功能讲解
做项目的流程(供参考)
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个字节的信息来获取。
4、项目主函数
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;
}
基于GEC6818的智能家居系统相关推荐
- 基于GEC6818的智能家居系统[完整源码/项目报告/笔记分享]
基于GEC6818的智能家居系统 项目目标: 使用GEC6818(ARM开发板)以及Linux操作系统来设计一个可以实现动感相册/监控/音乐播放器功能且UI友好,人机交互性高的智能家居系统. 代码编写 ...
- 【毕业设计】基于zigbee的智能家居系统 - 单片机 物联网 stm32
文章目录 1 简介 2前言 2.1 系统目标 3 系统架构 3.1 网关板设计: 3.2 ZigBee网络感知层 3.3 显示控制平台及数据保存 3.4 NB-IOT模块实现 实现效果 4 最后 1 ...
- android服务器智能家居,基于Android的智能家居系统
五.参考文献 [1]卜晓晓.基于Android和Wi-Fi的智能家居系统的设计与实现[D].镇江:江苏大学,2016. [2]闫哲,杜涛,左海利.智能家居控制系统的设计与实现[J],自动化技术与应用. ...
- 基于android 的智能家居系统+论文
目录 1.系统开发背景 2.系统的相关技术 3.可行性研究 4.功能模块(图) 5.系统的实现 6.总结 7.论文目录结构 8.源码+SmartHome.apk+6000字论文下载地址 1.系统开发背 ...
- 基于AIOT的智能家居系统
基于AIOT的智能家居系统 1.总体框架 AIOT是2017年在小米开发者大会上提出的一个概念,主要指把物联网和人工智能联系起来产生更加深远的影响力,其中AIOT在智能家居的应用是各大厂商都角逐的一块 ...
- 基于物联网的智能家居系统
一键开启智能生活 熟悉的广告语在生活中并不少见,随着现代化的进程加速,智能家居也逐渐步入我们普通人的日常生活. 智能家居何谓智能? 使用者只需通过关键的物联网技术,构建出整个家庭的日常事务管理模式.家 ...
- 基于python的智能家居系统_基于Python Django的可扩展智能家居系统
基于 Python Django 的可扩展智能家居系统 龚 鸣,余杨志,邓宏涛 * [摘 要] 针对现阶段智能家居系统智能化迭代开发的需求,分析当前智能家居 系统主控的相关实现技术,提出了基于 Pyt ...
- 基于QT简易智能家居系统界面设计
简易版智能家居系统界面,登录窗口.控制面板.及两者间的逻辑关系 请点击:相关代码 设计登录界面 这里采用ui绘制+信号槽函数实现逻辑功能,绘制方面用到Label.Widge.Line Edit.Pus ...
- 基于arduino的智能家居系统
先看这个: https://blog.csdn.net/gsh_hello_world/article/details/56277182 https://blog.csdn.net/gsh_hello ...
最新文章
- kmeans算法原理以及实践操作
- MSIL学习笔记(01):ilasm和ildasm
- JVM调优:-XX:+PrintCommandLineFlags 查看程序使用的默认JVM参数
- 如何使用免安装的mysql-孤单的小孩儿-搜狐博客
- 中信银行c语言笔试题库,中信银行笔试题型及题目
- sql 两表数据合并_多表查询SQL语句
- (二叉树DFS)天平UVa 839
- PHP向右侧拉菜单,测试使用中
- netstat 查看端口
- vs2013 也能重构(refactor )变量名了
- php修改sessiob时间_php中session过期时间设置
- 全球科研城市榜出炉:前二十强中国城市占6席,北京居首
- python中函数的返回值
- 怎么解绑 微信公众号 小程序 开发平台 开发者
- A 1049 Counting Ones (30分)
- Mybatis 传参问题
- Matlab颜色对照(RGB三元组、十六进制表示)
- ubuntu 14.04 安装惠普打印机驱动(测试成功)
- 电机系列(1) - foc最基本原理、clark变换 、park变换、附代码
- Gnuradio安装及ADALM-PLUTO设备的配置
热门文章
- html引入片段,用jQuery加载HTML片段
- 简单聊一聊手机端口的识别协议-BC1.2
- POS机这些基础知识,你一定要了解!
- iOS调用系统闪光灯以及实时修改屏幕亮度
- 微信第三方平台公众号授权流程1—第三方平台概述概述
- 开源IDaaS方舟一账通ArkID系统内置OIDC 认证插件配置流程
- 爱情的背后是一片止水......
- 9 Palindrome Number
- statsmodels线性回归中的Jarque-Bera指标检验残差是否服从正态分布
- STOMP协议——基于Websocket实现