《智能家居》培训第六天------2019-01-10
目錄:
一)攝像頭
二)照明
三)所想
四)總結(jié)
?
?
一)攝像頭
攝像頭這塊學了跟沒學一樣我覺得,攝像頭給的api,yuyv轉(zhuǎn)rgb24也是給的api,總而言之就是,直接給了兩個源文件,這兩個源文件已經(jīng)實現(xiàn)了屏幕顯示攝像頭數(shù)據(jù)的這個功能,我們所做的就只是把這兩個文件和main文件整合,攝像頭是怎么獲得數(shù)據(jù)怎么傳輸數(shù)據(jù),數(shù)據(jù)如何通過什么方式顯示在屏幕上這些重點的都沒詳細講,只是粗略講了一下這個過程,不過這也正常,看了一下老師的源碼,涉及到的東西確實很多,不覺得這是幾天可以搞定的東西,而這可以說是本次培訓的最后一天了。
那么這篇筆記該怎么寫呢,如何實現(xiàn)的肯定是沒法寫的了,我也不懂,就只記錄目前知道的東西吧
1)老師的筆記圖
2)V4L2
V4L2是linux系統(tǒng)中的一個關(guān)于處理視頻這一塊的一個開發(fā)框架,一個處理視頻數(shù)據(jù)的機制,目前我還沒有開始學習這個框架
點擊此鏈接學習V4L2
3)過程遇到的問題
?、?問題:顯示攝像頭界面與菜單欄的點擊無法同時實現(xiàn),就是希望進入攝像界面以后點擊返回可以返回主界面,再進入攝像界面依然可以顯示攝像頭內(nèi)容
?、?解決方法:有了之前解決視頻菜單欄無法顯示的經(jīng)驗,容易想到這個問題也可以使用線程來解決
?、?實現(xiàn):我希望我的main.c文件盡量簡潔,其中代碼盡量少盡量清晰,我整合了很久代碼,希望最終可以只是在main里添加一個顯示攝像頭的子線程,而把其他什么打開設(shè)備、緩存幀、yuyv轉(zhuǎn)rgb24等顯示攝像頭內(nèi)容之前需要進行的操作獨立成一個文件,但是無論我怎么嘗試,都無法實現(xiàn)預(yù)期,幾個小時后,我妥協(xié)了,直接把攝像這一塊的代碼全部移植到main里,yuyv轉(zhuǎn)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的驅(qū)動,這個驅(qū)動文件要先安裝,用老師給的驅(qū)動文件led_drv.ko 12 if(fd_light < 0) 13 { 14 perror("open"); 15 return -1; 16 } 17 //在此基礎(chǔ)上實現(xiàn)流水燈的效果 18 while(1) 19 { 20 ioctl(fd_light, GEC210_LED_ON, 4); //點亮第4個燈 21 sleep(1); 22 ioctl(fd_light, GEC210_LED_OFF, 4); //關(guān)閉第4個燈 23 sleep(1); 24 } 25 close(fd_light); 26 return 0; 27 } led.c三)所想
1)沒什么想的今天,就感覺沒學到什么東西,希望自己可以抽空學習一下V4L2這個東西,如果學了的話到時候再補充這篇筆記
四)總結(jié)
?1)實現(xiàn)了攝像頭的功能,解決的菜單欄的問題
2)菜單欄的拍照拍攝功能沒有實現(xiàn)
3)學習了點燈
4)第七天就不單獨寫筆記了,因為第七天沒學新東西,項目驗收而已,我在第七天嘗試了實現(xiàn)拍照功能,但是失敗了,的確可以生成一張jpg圖片,但是這張圖片沒有數(shù)據(jù),問了一下老師,說是在數(shù)據(jù)寫入的時候出現(xiàn)了問題,測試了一下發(fā)現(xiàn)不是數(shù)據(jù)寫入的問題,而是使用read函數(shù)讀取屏幕信息的時候就失敗了,嘗試了半天,read依然返回-1,也就是依然失敗,最后放棄了。
轉(zhuǎn)載于:https://www.cnblogs.com/lzemian-n/p/10259485.html
總結(jié)
以上是生活随笔為你收集整理的《智能家居》培训第六天------2019-01-10的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 计算机页面设置代码,计算机二级考试Acc
- 下一篇: DoIP 流程
