《智能家居》培訓第六天------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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/278473.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/278473.shtml
英文地址,請注明出處:http://en.pswp.cn/news/278473.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在Linux上按大小列出文件和目錄

This page will show us how to create a list of files and folders ordered by size using standard Linux commands. 該頁面將向我們展示如何使用標準Linux命令創建按大小排序的文件和文件夾列表。 命令 (Command) To get a list with the size of each item in a folder, y…

記一次kafka數據丟失問題的排查

2019獨角獸企業重金招聘Python工程師標準>>> 數據丟失為大事&#xff0c;針對數據丟失的問題我們排查結果如下。 第一&#xff1a;是否存在數據丟失的問題&#xff1f; 存在&#xff0c;且已重現。 第二&#xff1a;是在什么地方丟失的數據&#xff0c;是否是YDB…

Maximum upload size exceede上傳文件大小超出解決

在這里記錄三種方法, 努力提高自己的姿勢水平 application.yml配置spring:servlet:multipart:enabled: truemax-file-size: 10MB #單個文件最大大小max-request-size: 1024MB #上傳數據總大小 application.properties配置spring.servlet.multipart.max-file-size10Mb #單個文件…

ipad iphone開發_如何在iPhone或iPad上更改應用程序的語言

ipad iphone開發BigTunaOnline/Shutterstock.comBigTunaOnline / Shutterstock.comApple’s iOS 13 makes the iPhone and iPad multilingual. Now, you can change the language of an individual app without changing your primary system language. Each app can have its …

Docker最全教程——從理論到實戰(七)

Docker最全教程——從理論到實戰&#xff08;七&#xff09; 原文:Docker最全教程——從理論到實戰&#xff08;七&#xff09;在本系列教程中&#xff0c;筆者希望將必要的知識點圍繞理論、流程&#xff08;工作流程&#xff09;、方法、實踐來進行講解&#xff0c;而不是單純…

Bash Cookbook 學習筆記 【中級】

Read Me 本文是以英文版<bash cookbook> 為基礎整理的筆記&#xff0c;力求脫水2018.01.21 更新完【中級】。內容包括工具、函數、中斷及時間處理等進階主題。本系列其他兩篇&#xff0c;與之互為參考 【基礎】內容涵蓋bash語法等知識點。傳送門【高級】內容涉及腳本安全…

設置Windows 10時如何創建本地帳戶

Windows 10 tries its hardest to make you use a Microsoft account. The option was already hidden, but now it’s not even offered on Windows 10 Home while you’re connected to the internet. Here’s how to create a local account anyway. Windows 10盡最大努力使…

HSQL

Hive的數據存儲  1、Hive中所有的數據都存儲在 HDFS 中&#xff0c;沒有專門的數據存儲格式&#xff08;可支持Text&#xff0c;SequenceFile&#xff0c;ParquetFile&#xff0c;RCFILE等&#xff09;  2、只需要在創建表的時候告訴 Hive 數據中的列分隔符和行分隔符&…

在PowerPoint 2010中將鼠標用作激光筆

Have you ever wished you had a laser pointer to focus attention on a key point in a PowerPoint slideshow? Today, we’ll take a look at how can use use your mouse as a laser pointer in PowerPoint 2010. 您是否曾經希望激光指示器能將注意力集中在PowerPoint幻燈…

Java 8 并發: 原子變量和 ConcurrentMap

原文地址: Java 8 Concurrency Tutorial: Atomic Variables and ConcurrentMap AtomicInteger java.concurrent.atomic 包下有很多原子操作的類。 在有些情況下&#xff0c;原子操作可以在不使用 synchronized 關鍵字和鎖的情況下解決多線程安全問題。 在內部&#xff0c;原子類…

this表示當前對象簡單實例

直接上代碼 class Message { private Channel channel ; // 保存消息發送通道 private String title ; // 消息標題 private String content ; // 消息內容 // 4、調用此構造實例化&#xff0c;此時的channel 主類ch public Message(Channel channel,String title,String cont…

twitter推文不收錄_如何使用Twitter書簽保存推文供以后使用

twitter推文不收錄Khamosh PathakKhamosh PathakTwitter has a new Bookmarks feature that lets you privately save tweets for later. If you’ve been using the Like feature as a workaround for saving tweets, here’s why you should start bookmarking. Twitter具有一…

if的作用域問題 *輸出1~6的隨機數*

1 //測試if語句2 public class TestIf {3 public static void main(String[] args){4 double d Math.random();//0~1之間的小數5 int e (int)(d*5); //[0,4]6 //int f 1(int)(d*6); //[1,6] 擲色子7 System.out.println(e);8 …

為您的Blogger博客設計一個美麗的新主題

Would you like to give your Blogger blog a fresh coat of paint with a new theme? Here’s how you can use the new Template Designer to make your Blogger site stand out from the crowd and look great. 您想給Blogger博客一個新的主題嗎&#xff1f; 您可以通過以…

Lab 6-4

In this lab, we’ll analyze the malware found in the file Lab06-04.exe. Questions and Short Answers What is the difference between the calls made from the main method in Labs 6-3 and 6-4? A: The function at 0x401000 is the check Internet connection method…

步入三十歲前的總結:看似經歷很多得到很多,但,實際卻一無所得

本文算是一篇審視自己的文章吧&#xff0c;感覺跟我類似經歷的人應該很多&#xff0c;認同感應該也大一些。我是12年網絡專業很普通的一所大專院校畢業&#xff0c;到現在為止工作已經超過五年。這五年里&#xff0c;做過運維工程師&#xff0c;也在小車床工作間里做了一下技工…

vue---day03

1. Vue的生命周期 - 創建和銷毀的時候可以做一些我們自己的事情 - beforeCreated - created - beforeMount - mounted - beforeUpdate - updated - activated - deactivated - beforeDestroy - destroyed 1.1 知識點回顧 1.1.1 be…

U Sparkle 開發者計劃招募中!

向我們投稿吧 在此之前&#xff0c;我們有收到過幾篇民間高手的投稿&#xff0c;如&#xff1a; USequencer 初識&#xff08;作者&#xff1a;焱燚(七火)&#xff09; Unity游戲界面解決方案: PSD For UGUI&#xff08;作者&#xff1a;張俊欽&#xff09; UGUI 降低填充率技巧…

階乘和 大整數

///大整數階乘的和 #include<bits/stdc.h> using namespace std; int main() {int n;while(cin>>n){int a[2000] {1},b[2000] {0}; //存放結果的數組a。int c; //b用于存放每位存放的結果。int r0; //r用來表示進位的數。int h1,hb1; //h用來表示運算過程中 結果a…

如何添加引文標_如何在Google文檔中查找和添加引文

如何添加引文標When writing papers, you need to generate a detailed and accurate list of all the sources you’ve cited in your paper. With Google Docs, you can easily find and then add citations to all of your research papers. 撰寫論文時&#xff0c;您需要生…