做電子發(fā)燒友技術(shù)探索官,分享你的原創(chuàng)電子行業(yè)文章!
本期小編繼續(xù)為大家分享一些優(yōu)秀專(zhuān)欄原創(chuàng)技術(shù)文章,供大家一起學(xué)習(xí)交流。
本期推薦
專(zhuān)欄作者:嵌入式技術(shù)
專(zhuān)欄介紹:精通STM32開(kāi)發(fā)(寄存器、HAL庫(kù))、PCB電路設(shè)計(jì)、Linux下進(jìn)程、線(xiàn)程、網(wǎng)絡(luò)編程等。
Linux下基于GTK人臉識(shí)別界面設(shè)計(jì)
GTK(GIMP Toolkit)是一套源碼以L(fǎng)GPL許可協(xié)議分發(fā)、跨平臺(tái)的圖形工具包。最初是為GIMP寫(xiě)的,已成為一個(gè)功能強(qiáng)大、設(shè)計(jì)靈活的一個(gè)通用圖形庫(kù),是GNU/Linux下開(kāi)發(fā)圖形界面的應(yīng)用程序的主流開(kāi)發(fā)工具之一。當(dāng)然,GTK也是支持跨平臺(tái)的,支持Unix類(lèi)的系統(tǒng)、Windows,甚至手機(jī)平臺(tái)。
GTK是使用C語(yǔ)言寫(xiě)的,所以其原生API都是面向C的,同時(shí)GTK的一大特點(diǎn)是,在C語(yǔ)言層面實(shí)現(xiàn)了面向?qū)ο蟮奶匦?。GTK是完全免費(fèi)的,而且基于LGPL協(xié)議,這可以保證私有軟件通過(guò)鏈接使用GTK可以不把軟件源代碼開(kāi)放,對(duì)商業(yè)應(yīng)用較友好,這跟GPL協(xié)議是不一樣的。也正是LGPL協(xié)議,使得早些年Gnome(基于GTK編寫(xiě))風(fēng)頭勝過(guò)KDE(基于QT編寫(xiě))。(開(kāi)發(fā)流程如下圖)

>>>點(diǎn)此查看全文
Linux下基于SDL庫(kù)貪吃蛇游戲
SDL(Simple DirectMediaLayer)是一套開(kāi)放源代碼的跨平臺(tái)多媒體開(kāi)發(fā)庫(kù),使用C語(yǔ)言寫(xiě)成。SDL提供了數(shù)種控制圖像、聲音、輸出入的函數(shù),讓開(kāi)發(fā)者只要用相同或是相似的代碼就可以開(kāi)發(fā)出跨多個(gè)平臺(tái)(Linux、Windows、MacOS X等)的應(yīng)用軟件?,F(xiàn)SDL多用于開(kāi)發(fā)游戲、模擬器、媒體播放器等多媒體應(yīng)用領(lǐng)域。
實(shí)現(xiàn)原理
貪吃蛇游戲?qū)崿F(xiàn)方式很多,可以通過(guò)鏈表方式實(shí)現(xiàn),也可以通過(guò)結(jié)構(gòu)體數(shù)組方式實(shí)現(xiàn)。結(jié)構(gòu)體主要用來(lái)保村蛇身的坐標(biāo)位置和長(zhǎng)度。移動(dòng)蛇身則通過(guò)不斷遍歷結(jié)構(gòu)體數(shù)組,刷新屏幕窗口即可。

>>>點(diǎn)此查看全文
Linux下V4L2框架基于SDL庫(kù)本地USB攝像頭監(jiān)控
1.攝像頭框架編程步驟
(1)打開(kāi)攝像頭設(shè)備(/dev/video0 、/dev/video1 );
(2)設(shè)置圖像格式:VIDIOC_S_FMT(視頻捕獲格式、圖像顏色數(shù)據(jù)格式、圖像寬和高);
(3)申請(qǐng)緩沖區(qū):VIDIOC_REQBUFS(緩沖區(qū)數(shù)量、緩沖映射方式、視頻捕獲格式);
(4)將緩沖區(qū)映射到進(jìn)程空間:VIDIOC_QUERYBUF(要映射的緩沖區(qū)下標(biāo)、緩沖映射方式、視頻捕獲格式);
(5)將緩沖區(qū)添加到隊(duì)列中:VIDIOC_QBUF(映射的緩沖區(qū)下標(biāo)、緩沖映射方式、視頻捕獲格式);
(6)開(kāi)啟攝像頭采集:VIDIOC_STREAMON (視頻捕獲格式) (7)從采集隊(duì)列中取出圖像數(shù)據(jù),通過(guò)SDL圖像渲染;

>>>點(diǎn)此查看全文
Linux下IIC子系統(tǒng)和觸摸屏驅(qū)動(dòng)
I2C( Inter-Integrated Circuit)總線(xiàn)是由 PHILIPS 公司開(kāi)發(fā)的兩線(xiàn)式串行總線(xiàn),用于連接微控制器及其外圍設(shè)備。是微電子通信控制領(lǐng)域廣泛采用的一種總線(xiàn)標(biāo)準(zhǔn)。具有接口線(xiàn)少,控制方式簡(jiǎn)單,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。
I2C特性
(1)只要求兩條總線(xiàn)線(xiàn)路一條串行數(shù)據(jù)線(xiàn)SDA,一條串行時(shí)鐘線(xiàn)SCL;
(2)每個(gè)連接到總線(xiàn)的器件都可以通過(guò)唯一的地址和一直存在的簡(jiǎn)單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器;
(3)它是一個(gè)真正的多主機(jī)總線(xiàn),如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳輸可以通過(guò)沖突檢測(cè)和仲裁防止數(shù)據(jù)被破壞;
(4)串行的 8 位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá) 3.4Mbit/s;
(5)片上的濾波器可以濾去總線(xiàn)數(shù)據(jù)線(xiàn)上的毛刺波保證數(shù)據(jù)完整;
(6)連接到相同總線(xiàn)的IC數(shù)量只受到總線(xiàn)的最大電容400pF;
IIC是屬串行通訊總線(xiàn),同步傳輸、半雙工。
I2C 總線(xiàn)上的每一個(gè)設(shè)備都可以作為主設(shè)備或者從設(shè)備,而且每一個(gè)設(shè)備都會(huì)對(duì)應(yīng)一個(gè)唯一的地址(可以從I2C 器件的數(shù)據(jù)手冊(cè)得知),主從設(shè)備之間就通過(guò)這個(gè)地址來(lái)確定與哪個(gè)器件進(jìn)行通信,在通常的應(yīng)用中,我們把 CPU 帶 I2C 總線(xiàn)接口的模塊作為主設(shè)備,把掛接在總線(xiàn)上的其他設(shè)備都作為從設(shè)備。

>>>點(diǎn)此查看全文
Linux下基于HTTP網(wǎng)頁(yè)視頻監(jiān)控
超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)是一個(gè)簡(jiǎn)單的請(qǐng)求-響應(yīng)協(xié)議,它通常運(yùn)行在TCP之上。它指定了客戶(hù)端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。請(qǐng)求和響應(yīng)消息的頭以ASCII形式給出;而消息內(nèi)容則具有一個(gè)類(lèi)似MIME的格式。這個(gè)簡(jiǎn)單模型是早期Web成功的有功之臣,因?yàn)樗归_(kāi)發(fā)和部署非常地直截了當(dāng)。
HTTP的發(fā)展是由蒂姆·伯納斯-李于1989年在歐洲核子研究組織(CERN)所發(fā)起。HTTP的標(biāo)準(zhǔn)制定由萬(wàn)維網(wǎng)協(xié)會(huì)(World Wide Web Consortium,W3C)和互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)進(jìn)行協(xié)調(diào),最終發(fā)布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定義了HTTP協(xié)議中現(xiàn)今廣泛使用的一個(gè)版本——HTTP 1.1。
HTTP 是一個(gè)基于 TCP/IP 通信協(xié)議來(lái)傳遞數(shù)據(jù)( HTML 文件, 圖片文件, 查詢(xún)結(jié)果等)。工作于客戶(hù)端-服務(wù)端架構(gòu)上,默認(rèn)端口號(hào)為 80,但是你也可以改為 8080或其它端口號(hào)。HTTP協(xié)議永遠(yuǎn)都是客戶(hù)端發(fā)起請(qǐng)求,服務(wù)器回送響應(yīng)。

>>>點(diǎn)此查看全文
更多熱點(diǎn)文章閱讀
-
電子技術(shù)
+關(guān)注
關(guān)注
18文章
923瀏覽量
59011 -
電子發(fā)燒友論壇
+關(guān)注
關(guān)注
5文章
198瀏覽量
1474
原文標(biāo)題:嵌入式Linux開(kāi)發(fā)秘籍!工程師大佬親歷分享項(xiàng)目樣例
文章出處:【微信號(hào):gh_9b9470648b3c,微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論