本系統(tǒng)視頻監(jiān)控有些是在InterPXA270為中心的硬件渠道上,經(jīng)過構(gòu)建嵌入式WindowsCE操作系統(tǒng)的軟件開發(fā)完結(jié)上層運用。該規(guī)劃以流接口方法開發(fā)攝像頭驅(qū)動,并運用攝像頭驅(qū)動供給的接口,完結(jié)嵌入式WindowsCE下實時圖畫的數(shù)據(jù)收集,對原始圖畫進行MPEG-4格局的編碼緊縮,一起在WindowsCE端運用SOCKET編程,完結(jié)監(jiān)控數(shù)據(jù)的傳輸。
1 硬件渠道
現(xiàn)有的轎車防盜報警系統(tǒng)的構(gòu)造如圖1虛線框內(nèi)所示,這篇文章側(cè)重規(guī)劃完結(jié)的是此系統(tǒng)的視頻監(jiān)控有些。視頻監(jiān)控有些的硬件包含三個有些,收集監(jiān)控數(shù)據(jù)的攝像頭、多媒體處理器和通訊模塊。硬件建立構(gòu)造圖如圖2所示。視頻監(jiān)控有些的硬件渠道是以InterXScale微系統(tǒng)構(gòu)造的InterPXA270處理芯片為中心,選用SIM5218模塊作為3G通訊模塊,選用雙端口RAM技能完結(jié)視頻處理和圖1系統(tǒng)的整體構(gòu)造框圖3G通訊模塊的雙CPU之間通訊。其間,InterPXA270芯片的主頻為520Hz,一起參加WirelssMMX技能,大大提高了多媒體處理才能。此外PXA270的InterSpeedStep動態(tài)電源辦理技能,在確保CPU功能的狀況降低低了設(shè)備的功耗;西門子公司的3G通訊模塊SIM5218支撐高達7.2Mb/s的數(shù)據(jù)傳輸率,而且供給UART、USB2.0、GPIO和I2C等豐厚的外圍接口,降低了規(guī)劃難度;本規(guī)劃中攝像頭挑選了網(wǎng)眼2000,它選用OV511芯片為中心,具有COMS35萬像素的清晰度,并選用USB方法通訊,能夠選用流接口的方法實時收集監(jiān)控數(shù)據(jù)。
2 軟件功用
根據(jù)WindowsCE操作系統(tǒng)的軟件架構(gòu)包含兩有些。
運用PlatformBuilder定制WindowsCE系統(tǒng)并開發(fā)USB攝像頭驅(qū)動和數(shù)據(jù)發(fā)送端的開發(fā),這篇文章詳細介紹USB攝像頭驅(qū)動的規(guī)劃和發(fā)送端的程序規(guī)劃。系統(tǒng)的軟件構(gòu)造圖如圖3所示。
WindowsCE流接口驅(qū)動程序是具有定制接口的驅(qū)動程序,表現(xiàn)為在用戶一級的動態(tài)鏈接庫DLL,是通常類型的設(shè)備驅(qū)動程序。流接口驅(qū)動程序中用來完結(jié)一組固定的函數(shù)稱為流接口函數(shù),這些流接口函數(shù)使得運用程序能夠經(jīng)過文件系統(tǒng)拜訪這些驅(qū)動程序。流接口驅(qū)動程序簡直支撐任何類型的能夠連接到根據(jù)WindowsCE.net的渠道外部設(shè)備,其間包含USB設(shè)備。
流接口驅(qū)動程序的首要任務(wù)是把外設(shè)的運用傳遞給運用程序,這是經(jīng)過把設(shè)備表明為文件系統(tǒng)的一個特殊文件完結(jié)。運用程序經(jīng)過文件系統(tǒng)的API函數(shù)調(diào)用流接口函數(shù),然后流接口驅(qū)動程序調(diào)用本機驅(qū)動或者經(jīng)過設(shè)備辦理器與系統(tǒng)內(nèi)核或外圍打交道。
2.1 攝像頭驅(qū)動程序的流接口函數(shù)的完結(jié)
開發(fā)攝像頭驅(qū)動程序涉及到一組標準的流接口驅(qū)動程序的函數(shù),如CAM_Init()、CAM_Deinit()、CAM_Open()、CAM_Read()等,這些函數(shù)是接口驅(qū)動程序的DLL接口,其間CAM_Init()、CAM_Open()、CAM_Read()和CAM_IOControl()最為重要。下面臨這些重要函數(shù)進行詳細介紹。
(1)CAM_Init()
CAM_Init()函數(shù)是經(jīng)過設(shè)備辦理器供給的ActiveDeviceEx()函數(shù)調(diào)用。在設(shè)備初始化時經(jīng)過ActiveDeviceEx()將設(shè)備句柄信息寫入Drivers\Active下面,當運用程序初始化時,注冊表的地址將以Context參數(shù)方式傳給CAM_Init(),運用RegOpenKeyEx()、RegQueryValueEx()等函數(shù)履行翻開和讀寫注冊表操作,等履行成功后回來USB設(shè)備的句柄信息等。驅(qū)動程序的有些源代碼:
(2)CAM_Open()
在對設(shè)備進行讀操作之前,首先要先經(jīng)過履行CeratFile()來調(diào)用CAM_Open()翻開設(shè)備,CAM_Open()所需的第一個參數(shù)是運用程序初始化時由CAM_Init()回來的設(shè)備句柄等信息,然后將設(shè)備關(guān)閉的事情設(shè)為無信號狀況。
下面是有些源碼:
程序中涉及的EnterCriticalSection()和LeaveCriticalSection()兩個函數(shù)的作用是確保在臨界區(qū)內(nèi)所有被拜訪的資本不被其他線程拜訪,直到當時線程履行完臨界區(qū)代碼。EnterCriticalSection()和LeaveCriticalSection()別離表明為進入臨界區(qū)和退出臨界區(qū)。
(3)CAM_IOControl()
程序規(guī)劃中經(jīng)過CreatFile()函數(shù)調(diào)CAM_Open()翻開攝像頭設(shè)備,經(jīng)過ReadFile()將回來值傳給CAM_IOControl()流接口函數(shù),而CAM_IOControl()則調(diào)用OV51xReadOneFrame()對USB設(shè)備數(shù)據(jù)進行讀取。下面是有些源碼:
關(guān)于USB總線上的數(shù)據(jù)傳輸,一共有四種傳輸類型,別離是操控傳輸、中斷傳輸、批量傳輸和實時傳輸,這四種傳輸類型別離運用到不同的USB設(shè)備。其間實時傳輸適用于以固定速率或特定時間內(nèi)傳輸,能夠忍受偶然過錯的流數(shù)據(jù)狀況,關(guān)于USB攝像頭這種實時性要求比較高的設(shè)備通常選用實時傳輸,所以在CAM_Read()中就需求用到實時傳輸函數(shù)IssueIsochTransfer()來讀取攝像頭收集的數(shù)據(jù)。假如IssueIsochTransfer()履行后回來一個標明句柄,則代表履行成功,假如無回來值,則表明履行失利。
在每次得到一包數(shù)據(jù)時,查找?guī)_端符號,假如查找到,則仿制剩余的所有數(shù)據(jù)到運用程序的緩沖中。在程序的Ov51xReadOneFrame()函數(shù)中,pDataBuff申請了9610B空間,dwFrameLen為10次傳輸每次的長度,這里都設(shè)置為961。圖4為Ov51ReadFrame()軟件流程圖。
2.2 通訊發(fā)送端的規(guī)劃完結(jié)
通訊發(fā)送端首要完結(jié)RTP/RTCP協(xié)議封裝寬和封裝、網(wǎng)絡(luò)發(fā)送與數(shù)據(jù)獲取。這篇文章所完結(jié)的是根據(jù)RTP/UDP/IP協(xié)議棧的MPEG-4實時流媒體傳輸,是移動視頻監(jiān)控系統(tǒng)中網(wǎng)絡(luò)傳輸有些的子模塊。選用JRTPLIB庫函數(shù)來完結(jié)RTP的實時傳輸。傳輸有些的系統(tǒng)架構(gòu)如圖5所示。
該發(fā)送端的首要功用是將音視頻流封裝到RTP包內(nèi)經(jīng)過3G網(wǎng)絡(luò)傳送給接納端,一起發(fā)送和接納RTCP包進行反饋操控,以期到達最好效果。根據(jù)WindowsCE渠道經(jīng)過調(diào)用JRTPLIB函數(shù)庫來編程完結(jié)實時流媒體傳輸。
因為RTP協(xié)議并不作為獨立的網(wǎng)絡(luò)層來完結(jié),它選用運用層組幀的理念,作為運用程序代碼的一有些,這篇文章針對一個詳細媒體的運用經(jīng)過運用程序完結(jié)RTP封裝分組,然后將RTP分組交給UDP接口,選用JTHREAD作為線程庫,完結(jié)多線程的操作。運用RTP來做視頻傳輸分2個session來完結(jié):一個擔任聲響傳送;另一個擔任視頻傳送。
發(fā)送端的有些主程序如下:
3 結(jié)語
這篇文章在現(xiàn)有的轎車防盜報警系統(tǒng)的基礎(chǔ)上,經(jīng)過接口的拓展,完結(jié)了根據(jù)3G網(wǎng)絡(luò)的視頻監(jiān)控功用,并詳細論述了攝像頭的流接口函數(shù)和通訊發(fā)送端的規(guī)劃。此外,經(jīng)過該系統(tǒng)的通用接口的拓展,該系統(tǒng)還可與詳細職業(yè)或家庭運用相結(jié)合,完結(jié)手機關(guān)于小范圍環(huán)境的可視化監(jiān)控。該系統(tǒng)的規(guī)劃完結(jié)不但關(guān)于轎車防盜商品的開展有側(cè)重要的含義,一起關(guān)于AV168根據(jù)3G網(wǎng)絡(luò)的可視化監(jiān)控的開展供給了杰出的運用遠景。
來源:機房監(jiān)控 機房環(huán)境監(jiān)控系統(tǒng) 機房監(jiān)控系統(tǒng) http://m.wer666.com北京金恒智能系統(tǒng)工程技術(shù)有限責任公司 版權(quán)所有 Copyright 2007-2020 by Create-china.com.cn Inc. All rights reserved.
法律聲明:未經(jīng)許可,任何模仿本站模板、轉(zhuǎn)載本站內(nèi)容等行為者,本站保留追究其法律責任的權(quán)利!
電話:86+10-62104277/2248/4249 傳真:86+10-62104193-819 京ICP備10010038號-2網(wǎng)站XML
智慧機房
在線體驗