国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于ARM Linux的圖像采集與藍牙傳輸

發布時間:2010-11-17 12:16    發布者:designer
關鍵詞: arm , linux , 傳輸 , 藍牙 , 圖像采集
嵌入式Linux系統具有可移植性好、網絡功能強、優秀的GNU編譯工具、免費的開放源代碼等優點。S3C2410處理器是一款采用ARM920T結構,內部資源非常豐富的32位嵌入式處理器。USB攝像頭具有低廉的價格,良好的性能,加上Linux下有V4L支持對其編程,很容易集成到嵌入式系統中。藍牙技術是目前被認可的短距離無線通信技術,廣泛應用于手機、電腦以及汽車免提系統。

本文介紹基于嵌入式Linux的USB圖像采集系統,并通過構建好的嵌入式Linux下的藍牙環境將采集到的圖片傳送到藍牙手機上,實現監控功能。

1 軟硬件平臺概述

系統硬件平臺如圖1所示。該平臺軟件上采用嵌入式Linux操作系統;硬件上采用Samsung公司的S3C2410處理器,另外配置了64 MB的NAND Flash存儲器和64MB的SDRAM,通過以太網控制芯片CS8900擴展一個10M以太網接口。引出兩個USB主口,一個接USB攝像頭,一個接USB藍牙適配器;將通過USB攝像頭采集到的圖像數據輸出到緩沖區中,保存成文件,并通過藍牙傳輸到藍牙手機上。







2 攝像頭驅動

在Linux下已經支持的攝像頭驅動是采用ov511芯片的攝像頭。使用這款芯片的攝像頭有網眼2000/3000等系列,而現在市面上常見的攝像頭芯片大多采用中芯微的zc0301、zc0302和zc0303等。Linux內核中并沒有相關的驅動支持,但可以從網上下載到相關的spca5xx驅動。

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

3 Video4Linux簡介

Video4Linux(簡稱“V4L”)是Linux下用于獲取視頻和音頻數據的API接口,配合適當的視頻采集設備和相應的驅動程序,可以實現影像/圖片采集、AM/FM廣播、頻道切換等功能,在遠程會議、可視電話、視頻監控系統中都有廣泛的應用。

在Linux下,所有外設都被看成是一種特殊文件,稱為“設備文件”,可以像訪問普通文件一樣對其進行讀寫。一般來說,采用V4L驅動的攝像頭設備文件是/dev/v4l/video0。為了通用,可建立一個到/dev/video0的連接。

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

V4L在include/linux/videodev.h文件中定義了一些重要的數據結構,在進行圖像的采集過程中,就是通過對這些數據的操作來獲得最終的圖像數據。

4 圖像采集

在圖像采集過程中,采用V4L的read方式直接讀取設備來獲取JPEG格式的圖像數據,具體流程如圖2所示。







4.1 初始化攝像頭設備

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





4.2 設定待采集圖像的各種屬性

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








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





4.3 進行圖像采集

在圖像采集過程中,采用read方法直接讀取設備文件來獲取一幀數據保存到緩沖區中,通過convertframe()函數將pFramebuffer中的數據轉成完整的JPEG格式的數據保存到ptframe緩存中去,再調用fwrite()函數將pt-frame緩存中的JPEG格式數據寫入到指定的文件中去,即得到一幅JPEG格式的圖像。





5 藍牙傳輸

藍牙協議規范遵循開放系統互連參考模型(OpenSystem Interconnection/Referenced Model,OSI/RM),從低到高地定義了藍牙協議堆棧的各個層次,如圖3所示。







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

① 在內核中打上藍牙補丁,加入藍牙協議的支持,添加USB藍牙適配器的驅動。

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

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

④ 實現文件傳輸。本系統采用OBEX協議的客戶/服務器模式來傳遞采集到的圖片文件,需要用到藍牙的Object PUSH服務。首先用sdptool工具搜索到藍牙手機的MAC地址以及Object PUSH服務所占用的頻道,然后用rfcomm工具將該頻道綁定到虛擬串口,最后運行obex_test完成文件的傳輸。

圖4是采用Object PUSH服務來實現文件傳輸的流程。




結 語

本設計實現了ARM Linux環境下的圖像采集工作,構建了ARM Linux下的藍牙工作環境;通過藍牙的OBEX協議和Object PUSH服務,實現了ARM Linux平臺與藍牙手機之間的文件傳輸。利用嵌入式系統和無線傳輸實現遠程監控,符合數字化、網絡化的發展趨勢。
本文地址:http://www.qingdxww.cn/thread-39979-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
  • Dev Tool Bits——使用DVRT協議查看項目中的數據
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区国产在线观看 | 国产高清视频一区二区 | 国产中文字幕第一页 | 国产一级视频在线观看 | 91av导航| 日韩成人免费视频播放 | 九九久久国产精品 | 天天干天天插天天 | 亚洲激情综合 | 91欧美一区二区三区综合在线 | 免费国产不卡午夜福在线 | 国产11一12周岁女毛片 | 两个人的视频免费观看 | dy天堂| 午夜官网 | 国产在线精品一区二区三区 | 在线精品视频播放 | 91视频一区二区 | 国产精品毛片大码女人 | 不卡影院在线观看 | 美女又爽又黄视频 | 思思久久96热在精品不卡 | 两个人高清在线观看www | 在线观看视频国产 | 亚洲国产日韩欧美在线vip1区 | 四虎在线视频免费观看 | 亚洲噜噜噜噜噜影院在线播放 | 国产精品香蕉夜间视频免费播放 | 男女羞羞的视频网站在线观看 | 欧美第一页在线观看 | 狼狼色丁香久久女婷婷综合 | 亚洲男人的天堂在线观看 | 在线看片 在线播放 | 5151四虎永久在线精品免费 | 国产精品99久久免费黑人 | 在线天堂中文 | 日韩另类在线 | 免费的成人a视频在线观看 免费岛国小视频在线观看 免费岛国 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片免费看 | 精品国产精品 | 免费看一级做a爰片久久 |