日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]嵌入式Linux系統(tǒng)具有可移植性好、網(wǎng)絡(luò)功能強(qiáng)、優(yōu)秀的GNU編譯工具、免費(fèi)的開(kāi)放源代碼等優(yōu)點(diǎn)。S3C2410處理器是一款采用ARM920T結(jié)構(gòu),內(nèi)部資源非常豐富的32位嵌入式處理器。US

嵌入式Linux系統(tǒng)具有可移植性好、網(wǎng)絡(luò)功能強(qiáng)、優(yōu)秀的GNU編譯工具、免費(fèi)的開(kāi)放源代碼等優(yōu)點(diǎn)。S3C2410處理器是一款采用ARM920T結(jié)構(gòu),內(nèi)部資源非常豐富的32位嵌入式處理器。USB攝像頭具有低廉的價(jià)格,良好的性能,加上Linux下有V4L支持對(duì)其編程,很容易集成到嵌入式系統(tǒng)中。藍(lán)牙技術(shù)是目前被認(rèn)可的短距離無(wú)線通信技術(shù),廣泛應(yīng)用于手機(jī)、電腦以及汽車免提系統(tǒng)。

本文介紹基于嵌入式Linux的USB圖像采集系統(tǒng),并通過(guò)構(gòu)建好的嵌入式Linux下的藍(lán)牙環(huán)境將采集到的圖片傳送到藍(lán)牙手機(jī)上,實(shí)現(xiàn)監(jiān)控功能。

1 軟硬件平臺(tái)概述

系統(tǒng)硬件平臺(tái)如圖1所示。該平臺(tái)軟件上采用嵌入式Linux操作系統(tǒng);硬件上采用Samsung公司的S3C2410處理器,另外配置了64 MB的NAND Flash存儲(chǔ)器和64MB的SDRAM,通過(guò)以太網(wǎng)控制芯片CS8900擴(kuò)展一個(gè)10M以太網(wǎng)接口。引出兩個(gè)USB主口,一個(gè)接USB攝像頭,一個(gè)接USB藍(lán)牙適配器;將通過(guò)USB攝像頭采集到的圖像數(shù)據(jù)輸出到緩沖區(qū)中,保存成文件,并通過(guò)藍(lán)牙傳輸到藍(lán)牙手機(jī)上。

 

2 攝像頭驅(qū)動(dòng)

在Linux下已經(jīng)支持的攝像頭驅(qū)動(dòng)是采用ov511芯片的攝像頭。使用這款芯片的攝像頭有網(wǎng)眼2000/3000等系列,而現(xiàn)在市面上常見(jiàn)的攝像頭芯片大多采用中芯微的zc0301、zc0302和zc0303等。Linux內(nèi)核中并沒(méi)有相關(guān)的驅(qū)動(dòng)支持,但可以從網(wǎng)上下載到相關(guān)的spca5xx驅(qū)動(dòng)。

本系統(tǒng)就采用市面上最常用的zc0301p1芯片的攝像頭。由于是用于ARM開(kāi)發(fā)板上,可以下載專用于嵌入式Linux的spca5xx-LE驅(qū)動(dòng),LE版的驅(qū)動(dòng)最大限度地減少了內(nèi)存的使用,符合嵌入式的需要。將下載的驅(qū)動(dòng)加入到內(nèi)核中,修改Makefile和Kconfig文件,在內(nèi)核中選中USB_SPCA5XX,編譯后就將攝像頭的驅(qū)動(dòng)加入到內(nèi)核映像中了。

3 Video4Linux簡(jiǎn)介

Video4Linux(簡(jiǎn)稱“V4L”)是Linux下用于獲取視頻和音頻數(shù)據(jù)的API接口,配合適當(dāng)?shù)囊曨l采集設(shè)備和相應(yīng)的驅(qū)動(dòng)程序,可以實(shí)現(xiàn)影像/圖片采集、AM/FM廣播、頻道切換等功能,在遠(yuǎn)程會(huì)議、可視電話、視頻監(jiān)控系統(tǒng)中都有廣泛的應(yīng)用。

在Linux下,所有外設(shè)都被看成是一種特殊文件,稱為“設(shè)備文件”,可以像訪問(wèn)普通文件一樣對(duì)其進(jìn)行讀寫(xiě)。一般來(lái)說(shuō),采用V4L驅(qū)動(dòng)的攝像頭設(shè)備文件是/dev/v4l/video0。為了通用,可建立一個(gè)到/dev/video0的連接。

V4L支持兩種方式來(lái)捕獲圖像:mmap(內(nèi)存映射方式)和read(直接讀取方式)。

V4L在include/linux/videodev.h文件中定義了一些重要的數(shù)據(jù)結(jié)構(gòu),在進(jìn)行圖像的采集過(guò)程中,就是通過(guò)對(duì)這些數(shù)據(jù)的操作來(lái)獲得最終的圖像數(shù)據(jù)。

4 圖像采集

在圖像采集過(guò)程中,采用V4L的read方式直接讀取設(shè)備來(lái)獲取JPEG格式的圖像數(shù)據(jù),具體流程如圖2所示。

 

4.1 初始化攝像頭設(shè)備

指定要操作的攝像頭設(shè)備文件/dev/video0,調(diào)用open()打開(kāi)該設(shè)備文件,將自定義的數(shù)據(jù)結(jié)構(gòu)vdIn中的成員初始化,包括設(shè)備名稱 (vd->videodevice)、要采集圖像的寬度(vd->hdrwidth)和高度(vd->hdrheight)、像素位數(shù) (vd->bppIn)、幀大小(vd->framesizeIn),為幀數(shù)據(jù)分配存儲(chǔ)空間(vd->pFramebuffer)。

 

4.2 設(shè)定待采集圖像的各種屬性

zc0301p1攝像頭支持JPEG格式的圖像采集,定義VIDEO_PALETTE_JPEG為21,將其賦值給圖像幀的調(diào)色板palette,這是一個(gè)必須設(shè)置的重要的參數(shù)。其他參數(shù)(如圖像色調(diào)、顏色、對(duì)比度等)可以先將VIDIOCGPICT傳遞給ioctl()查看其默認(rèn)值。

 

 

如果發(fā)覺(jué)以上的參數(shù)不符合采集圖像的規(guī)范,則可以將pict.brightness、pict.colour、pict.contrast、 pict.white-ness、pict.depth等重新賦值,再將VIDIOCSPICT傳遞給ioctl()來(lái)重新設(shè)置這些參數(shù)。

 

4.3 進(jìn)行圖像采集

在圖像采集過(guò)程中,采用read方法直接讀取設(shè)備文件來(lái)獲取一幀數(shù)據(jù)保存到緩沖區(qū)中,通過(guò)convertframe()函數(shù)將 pFramebuffer中的數(shù)據(jù)轉(zhuǎn)成完整的JPEG格式的數(shù)據(jù)保存到ptframe緩存中去,再調(diào)用fwrite()函數(shù)將pt-frame緩存中的 JPEG格式數(shù)據(jù)寫(xiě)入到指定的文件中去,即得到一幅JPEG格式的圖像。

 

5 藍(lán)牙傳輸

藍(lán)牙協(xié)議規(guī)范遵循開(kāi)放系統(tǒng)互連參考模型(OpenSystem Interconnection/Referenced Model,OSI/RM),從低到高地定義了藍(lán)牙協(xié)議堆棧的各個(gè)層次,如圖3所示。

 

在藍(lán)牙協(xié)議體系中,OBEX位于RFCOMM 之上。OBEX提供了對(duì)象的表示模型,并通過(guò)“Put”和“Get”操作傳輸對(duì)象。設(shè)備間的對(duì)話遵循客戶和服務(wù)器間的請(qǐng)求—響應(yīng)模式。OBEX會(huì)話開(kāi)始由客戶端發(fā)出連接請(qǐng)求,連接建立成功后服務(wù)器發(fā)送成功的連接響應(yīng),否則發(fā)送連接不成功的連接響應(yīng)。在連接之后,客戶端可以通過(guò)Put請(qǐng)求向服務(wù)器“推送 (Push)”對(duì)象,如果對(duì)象較大,Put請(qǐng)求可以使用多個(gè)Put請(qǐng)求分組,每個(gè)請(qǐng)求分組需返回一個(gè)Put響應(yīng)分組。本系統(tǒng)將采集到的圖片保存到/tmp/cap.jpeg,現(xiàn)在要將圖片通過(guò)藍(lán)牙傳輸到藍(lán)牙手機(jī)上。具體實(shí)現(xiàn)過(guò)程如下:

① 在內(nèi)核中打上藍(lán)牙補(bǔ)丁,加入藍(lán)牙協(xié)議的支持,添加USB藍(lán)牙適配器的驅(qū)動(dòng)。

② 編譯bluez的庫(kù)和工具。從網(wǎng)上下載bluez-libs、bluez-utils和dbus庫(kù),用arm-linux-gcc完成交叉編譯,得到了arm版的bluez庫(kù)和bluez的工具以及dbus-daemon工具。這是藍(lán)牙適配器在ARM Linux的環(huán)境下正常工作所必需的。

③ 啟動(dòng)USB藍(lán)牙適配器。要使USB藍(lán)牙適配器正常工作,需要用到步驟②中編譯得到的dbus-daemon工具和一些藍(lán)牙工具(如hciconfig、hcid等)。dbus是一個(gè)消息傳遞系統(tǒng),應(yīng)用程序間可通過(guò)它來(lái)相互傳遞消息。dbus-daemon是一個(gè)守護(hù)進(jìn)程,是運(yùn)行hcid所必需的,hcid用來(lái)讀入hcid.conf文件。該文件是藍(lán)牙設(shè)備的一個(gè)配置文件,在該配置文件中設(shè)置好藍(lán)牙設(shè)備的類型、classid、配對(duì)碼、設(shè)備是否可被搜索等其他的屬性。

④ 實(shí)現(xiàn)文件傳輸。本系統(tǒng)采用OBEX協(xié)議的客戶/服務(wù)器模式來(lái)傳遞采集到的圖片文件,需要用到藍(lán)牙的Object PUSH服務(wù)。首先用sdptool工具搜索到藍(lán)牙手機(jī)的MAC地址以及Object PUSH服務(wù)所占用的頻道,然后用rfcomm工具將該頻道綁定到虛擬串口,最后運(yùn)行obex_test完成文件的傳輸。

圖4是采用Object PUSH服務(wù)來(lái)實(shí)現(xiàn)文件傳輸?shù)牧鞒獭?/p>

 

結(jié) 語(yǔ)

本設(shè)計(jì)實(shí)現(xiàn)了ARM Linux環(huán)境下的圖像采集工作,構(gòu)建了ARM Linux下的藍(lán)牙工作環(huán)境;通過(guò)藍(lán)牙的OBEX協(xié)議和Object PUSH服務(wù),實(shí)現(xiàn)了ARM Linux平臺(tái)與藍(lán)牙手機(jī)之間的文件傳輸。利用嵌入式系統(tǒng)和無(wú)線傳輸實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,符合數(shù)字化、網(wǎng)絡(luò)化的發(fā)展趨勢(shì)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉