《智能家居》培训第六天------2019-01-10
目录:
一)摄像头
二)照明
三)所想
四)总结
一)摄像头
摄像头这块学了跟没学一样我觉得,摄像头给的api,yuyv转rgb24也是给的api,总而言之就是,直接给了两个源文件,这两个源文件已经实现了屏幕显示摄像头数据的这个功能,我们所做的就只是把这两个文件和main文件整合,摄像头是怎么获得数据怎么传输数据,数据如何通过什么方式显示在屏幕上这些重点的都没详细讲,只是粗略讲了一下这个过程,不过这也正常,看了一下老师的源码,涉及到的东西确实很多,不觉得这是几天可以搞定的东西,而这可以说是本次培训的最后一天了。
那么这篇笔记该怎么写呢,如何实现的肯定是没法写的了,我也不懂,就只记录目前知道的东西吧
1)老师的笔记图
2)V4L2
V4L2是linux系统中的一个关于处理视频这一块的一个开发框架,一个处理视频数据的机制,目前我还没有开始学习这个框架
点击此链接学习V4L2
3)过程遇到的问题
① 问题:显示摄像头界面与菜单栏的点击无法同时实现,就是希望进入摄像界面以后点击返回可以返回主界面,再进入摄像界面依然可以显示摄像头内容
② 解决方法:有了之前解决视频菜单栏无法显示的经验,容易想到这个问题也可以使用线程来解决
③ 实现:我希望我的main.c文件尽量简洁,其中代码尽量少尽量清晰,我整合了很久代码,希望最终可以只是在main里添加一个显示摄像头的子线程,而把其他什么打开设备、缓存帧、yuyv转rgb24等显示摄像头内容之前需要进行的操作独立成一个文件,但是无论我怎么尝试,都无法实现预期,几个小时后,我妥协了,直接把摄像这一块的代码全部移植到main里,yuyv转rgb24为单独一个文件,这就解决问题了,但是我的main.c也变得繁琐起来了。以下是摄像界面图,图一是摄像头打开前显示的画面:
二)照明
其实就是点灯,这个就不详写了,直接给代码吧
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <fcntl.h> 4 #include <linux/ioctl.h> 5 6 #define GEC210_LED_ON _IOW('A', 0x03, unsigned long) 7 #define GEC210_LED_OFF _IOW('A', 0x04, unsigned long) 8 int light(void) 9 { 10 int fd_light; 11 fd_light = open("/dev/led_drv", O_RDONLY);//以只读的方式LED的驱动,这个驱动文件要先安装,用老师给的驱动文件led_drv.ko 12 if(fd_light < 0) 13 { 14 perror("open"); 15 return -1; 16 } 17 //在此基础上实现流水灯的效果 18 while(1) 19 { 20 ioctl(fd_light, GEC210_LED_ON, 4); //点亮第4个灯 21 sleep(1); 22 ioctl(fd_light, GEC210_LED_OFF, 4); //关闭第4个灯 23 sleep(1); 24 } 25 close(fd_light); 26 return 0; 27 }
led.c
三)所想
1)没什么想的今天,就感觉没学到什么东西,希望自己可以抽空学习一下V4L2这个东西,如果学了的话到时候再补充这篇笔记
四)总结
1)实现了摄像头的功能,解决的菜单栏的问题
2)菜单栏的拍照拍摄功能没有实现
3)学习了点灯
4)第七天就不单独写笔记了,因为第七天没学新东西,项目验收而已,我在第七天尝试了实现拍照功能,但是失败了,的确可以生成一张jpg图片,但是这张图片没有数据,问了一下老师,说是在数据写入的时候出现了问题,测试了一下发现不是数据写入的问题,而是使用read函数读取屏幕信息的时候就失败了,尝试了半天,read依然返回-1,也就是依然失败,最后放弃了。
转载于:https://www.cnblogs.com/lzemian-n/p/10259485.html
《智能家居》培训第六天------2019-01-10相关推荐
- MIR DATABANK自动化和智能制造每周要闻 —2019年10月15日
下述新闻摘要由MIR DATABANK数据平台收集.整理.撰写.其中原创新闻属于MIR DATABANK数据平台所有.(MIR DATABANK数据平台属德佳咨询旗下品牌) 注册成为MIR DATAB ...
- 《惢客创业日记》2019.01.10(周四)游击战与阵地战的博弈
今天上午,跟同事一起讨论惢客职场,这已经是第三版设计原型图了.现在看来,不但制定的两个星期拿下惢客职场的计划泡了汤,而且,再过两个星期能出来都有点儿悬.除了人员变动的原因外,还有一个最大的问题就是产品 ...
- 科技前沿智能创新 2019北京智能家居 全屋智能博览会
2019北京智能家居大型展览会 2019北京全屋智能家居博览会 报道布展:2019年6月26日-27日 展会开幕:2019年6月28日上午9:00时 展会交易:2019年6月28日-30日 展会撤展: ...
- 专业高科技展-2019智能锁智能家居博览会
2019亚洲智能家居博览会简称"C-SMART2019",作为智能家居行业的经贸盛会,集结了一大批国内外的智能家居主机.智能安防.智能门锁.智能晾衣机.家庭影院.智慧社区.智能家电 ...
- 2019智能家居博览会-今日优选展会
智能家居是在互联网影响之下物联化的体现,综合利用物联网.云计算.移动互联网和大数据技术,结合自动控制技术,将家庭设备智能控制.家庭环境感知.家人健康感知.家居安全感知以及信息交流.消费服务等家居生活有 ...
- 智能家居终于起风了,三派玩家谁能收割市场?
1997年,比尔·盖茨耗资4000万美元建造的大型豪宅"未来之屋"成了华盛顿湖的一大景观,当时"智能家居"概念尚未出现,国内出现了"住宅电脑化&quo ...
- 松江主机点位怎么预留_智能家居设计篇:智能化布线怎么做到有备无患
[摘要]大家对自己新房的装修总是充满着期待,也有对智能家居向往却又不愿投入太多. | 智 | 装 | 小| 站 | 中国智能家居行业第一自媒体 本文来源:科学讲 特别是对于有所了解的朋友,总觉得智能家 ...
- 智能家居市场年增速近30%!苹果看齐亚马逊、谷歌,欲开辟三足鼎立
来源:物联网智库整理 摘要:作为世界领先的科技巨头,亚马逊.谷歌和苹果相爱相杀许多年.在智能家居领域,三家的"战争"也会随着市场的成熟而更加激烈.尽管苹果目前稍显落后,但未来市场广 ...
- Android@Home与智能家居
何为智能家居? 智能家居是一个居住环境,又称智能住宅.通俗地说,它是融合了自动化控制系统.计算机网络系统.无限传感网络系统.和网络通讯技术于一体的网络化智能化的家居控制系统.智能家居将让用户有更方便的 ...
- Arm公布2019年物联网领域五大预测:智能家居、智慧城市、医疗保健上榜
Arm公布2019年物联网领域五大预测:智能家居.智慧城市.医疗保健上榜 近日,Arm公司对2019年的物联网行业进行了预测,具体为以下五个趋势: 一.智能家居成为主流 消费者将会看到主流消费品牌推出 ...
最新文章
- 演示:通过实验取证IP报文的各个字段
- Oracle 双机热备 镜像 纯软 实战 配置教程 配置手册
- C#访问Access和Win7 64位下可能遇到的 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序 问题
- 连接php的作用是什么意思,链接是什么?
- 更换checkbox的原有样式
- 二等水准数据平差_二等水准复测平差成果表
- 计蒜客挑战难题:整数转换成罗马数字
- UI自定义UITableView的右侧索引
- MediaElement 4.1.3 发布,HTML5 音视频解决方案
- Appium+Python之PO模型(Page object Model)
- 年底购物狂欢,移动支付安全不容忽视
- Rust: HashMap的用法及其它
- nas共享服务器怎么同步文件,如何轻松在两个NAS之间文件同步?
- linux中安装程序的命令是,Linux安装软件命令是什么
- 厦门大学计算机软件学院,厦门大学软件学院研究生招生信息_厦门大学软件学院2019-研究生招生报名查询系统...
- 使用layui实现表格制作
- 智能柜怎么与Android通信,快递智能柜Android系统该何去何从
- 游戏原画教程:角色设计中的几个基本图形的用法
- linux挂载ntfs硬盘6,CentOS 6.2 挂载 NTFS格式的硬盘
- 口红机 抖音口红机 女神赢口红系统源码 全开源可二次开发 微信游戏,公众号游戏,口红机源码安装部署、调试...
热门文章
- linux内存管理简介,Linux操作系统的内存管理特性简介 (3)
- 威斯康星大学计算机专业找工作,威斯康星麦迪逊大学计算机申请条件有哪些?...
- toolbar java_Java ToolBar.layout方法代码示例
- docker 主进程 日志_运维笔记--docker高效查看后台日志
- 基于上下文的rpn_构建事物-产品评论视频中基于上下文的情感分析
- 老姚浅谈:怎么学JavaScript?
- FP error code老是忘记的看这里:只给出最常用的几个。
- 1067: 有问题的里程表
- go语言载入json的一个坑
- left join 和 inner join