www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于ARM的家庭視頻服務器

摘要:針對家庭網關的最重要功能:遠程監(jiān)控功能,本文設計了一個基于ARM平臺的嵌入式家庭網關服務器平臺。平臺中集成了boa服務器和家庭網絡服務器及視頻服務器于一體,通過通用網關接口程序CGI,實現了遠程用戶和家庭內部網絡的動態(tài)交互。本文中研究的數據信息主要是攝像頭視頻信息,采用了將視頻信息通過ActiveX控件解碼,發(fā)送的方式在HTTP瀏覽器上直接播放的方式來實現遠程傳輸(本文不論述信息家電的遠程控制部分)。

關鍵詞:ARM;boa服務器;CGI;ActiveX

引言

隨著科學技術的不斷進步和發(fā)展,人們對生活質量也提出了更高的要求。家庭網絡作為一個新生體越來越快走進人們的生活,它將家庭單元作為一個節(jié)點加入了網絡的大家庭,其中連接家庭內部與Internet的橋梁的家庭網關起了舉足輕重的作用。嵌入式網關的主要功能如下:

遠程控制:客戶通過Internet連接的任意一臺PC機的瀏覽器,都可以訪問家庭網絡的服務器。家庭網絡中的設備狀態(tài)將以HTML文件的方式顯示在客戶端的瀏覽器中??蛻敉ㄟ^對HTML頁面上相應設備的點擊以實現對家庭網絡中設備的遠程控制,操作的結果同樣以HTML頁面的方式刷新客戶端的瀏覽器。

遠程監(jiān)視:客戶通過PC機的瀏覽器,都可以訪問家庭網絡的服務器,在HTML頁面上通過點擊控件按鈕來實現視頻工具的自動下載,和所要求視頻文件的自動播放,從而可以顯示多個攝像頭中的視頻信息。

遠程維護:當HomeNetServer的后臺數據庫需要維護,或者家庭網絡中設備的HTML描述文件有了更新,甚至系統(tǒng)的網絡管理系統(tǒng)需要升級為新版本時,管理員都可以通過Internet遠程對家庭網絡中的服務器做維護和更新。

本文采用的系統(tǒng)總體設計框圖如圖1所是?;谶@些基本要求和嵌入式系統(tǒng)自身資源有限的特點,系統(tǒng)處理器選擇了三星的S3C4510芯片,并對其進行外圍電路擴展如圖2所示。

圖1系統(tǒng)總體設計框圖

圖2處理芯片的外圍擴展電路方框圖

其中,Flash/ROM用于存儲家庭網關中的嵌入式操作系統(tǒng)、HTTP服務器、CGI網關程序、家庭網絡服務器以及各種服務所需的文件系統(tǒng)。整個家庭網關軟件平臺存儲在Flash中,系統(tǒng)啟動時,將從Flash中運行引導程序,解壓操作系統(tǒng)并將其移入SDRAM中。

Ethernet:S3C4510內部集成了網絡控制接口,并提供專用于網絡通信的DMA通道。通過Ethernet模塊,S3C4510實現與Internet的連接。Ethernet模塊完成芯片與網絡的隔離和數據的收發(fā)。

系統(tǒng):S3C4510所需的其他外圍電路,包括:電源電路、外部時鐘(50MHz)電路、開關及復位電路和JTAG調試接口電路等。

嵌入式操作系統(tǒng)選擇的是mCLinux操作系統(tǒng),mCLinux是專門針對沒有MMU的處理器而設計的,系統(tǒng)多采用Romfs文件系統(tǒng),Romfs是一種相對簡單、占用空間較少的文件系統(tǒng)。而在mCLINUX下,主要有三個WEB服務器:httpd、thttpd和boa。httpd是最簡單的WEB服務器,功能簡單,不支持認證和CGI,thttpd和boa均支持認證和CGI,功能豐富,其中boa1是一個單任務的http服務器,源代碼開放,性能較高,占用系統(tǒng)資源較少,boa服務器在收到請求時,不啟動多個服務進程處理多個請求,在一個進程內處理所有服務請求。對于CGI程序,將生成新的進程來處理,考慮到嵌入式系統(tǒng)自身資源有限,和家庭網關的進程數量有限,系統(tǒng)選擇了在mCLinux系統(tǒng)中的boa服務器。

由于目前的mCLinux還不支持ASP、PHP等動態(tài)網頁技術,所以在mCLinux下通過CGI2技術連接WEB頁和本地程序,提供動態(tài)和交互的特性。

配置boa服務器

CGI程序不是放在服務器上就能順利運行,如果要想使其在服務器上順利的運行并準確的處理用戶的請求,則須對所使用的服務器進行必要的設置。

boa的配置文件boa。conf:在boa。conf中對boa進行了配置,這些配置多使用默認值,本系統(tǒng)中將DocumentRoot指定的WEB服務器的根修改為/boas。

在對內核進行配置時,選擇boa程序和cgi。

將cgi_generic文件夾下的cgi。c和makefile覆蓋到程序包中的/usr/cgi_generic/。將boa文件夾下的hash。c覆蓋到程序包中的/usr/boa/src。將rc文件覆蓋到程序包中的/vendor/Miectek/4510。

本系統(tǒng)中的mCLinux系統(tǒng)中的文件使用的是ROMFS和運行于RAM的EXT2。為了可通過FTP等工具更新網頁,Src文件在/boas下創(chuàng)建文件夾cgi_bin,然后將index。html,boa。conf和mine。type復制到/boas下,將CGI程序復制到/boas/cgi_bin下。至此建立了boa運行的基本環(huán)境,使用“>boa-C/boas/&”命令就可以運行boa。

家庭網關設計

在嵌入式網關的設計中,網關程序與家庭網絡的HTTP服務器和家庭網絡內部服務器位于同一物理設備(基于S3C4510的硬件平臺)之上,負責連接HTTP服務器與后臺數據庫,完成HTTP服務器與HomeNetServer之間的信息交互。

圖3家庭網關軟件結構框圖

家庭網關的軟件結構如圖3所示。根據功能描述,網關應能提供遠程監(jiān)視、遠程控制、遠程維護功能。網關內部工作流程如下:

*若客戶發(fā)送的HTTP請求,經過HTTP服務器接收和解析后,得知要求的是設備狀態(tài)信息時,HTTP服務器從存儲設備狀態(tài)信息的靜態(tài)文件中取出設備狀態(tài),并封裝為HTTP響應消息發(fā)送回客戶端。

*若客戶發(fā)送的HTTP請求,經過接收和解析后,得知請求的消息是對設備的設置(操作),則通CGI函數將消息內容轉換為家庭網絡協(xié)議傳遞給家庭網絡服務器,由家庭網絡服務器對家庭內部設備的管理和控制,并將處理結果以消息形式傳遞給CGI函數,并封裝為HTTP響應消息的形式,發(fā)送回客戶端。

*若客戶發(fā)送的HTTP請求,經過接收和解析后,得知請求的頁面是提供實時視頻服務時,HTTP服務器將調用CGI函數向視頻數據處理模塊發(fā)送消息,通過視頻數據處理模塊來控制視頻壓縮卡完成視頻數據的采集、壓縮和發(fā)送等功能。[!--empirenews.page--]

*若客戶發(fā)送的HTTP請求,經過接收和解析后,得知請求的消息包含對云臺設備及鏡頭的控制命令時,HTTP服務器通過CGI函數向云鏡解碼器直接發(fā)送控制指令以實現對云臺和鏡頭的控制。

實時視頻傳輸設計

基于HTTP的boa服務器負責接收和響應客戶端的HTTP請求,當請求的是視頻信息時,此請求通過CGI函數向視頻數據處理模塊發(fā)送消息,從而向視頻設備發(fā)送事件以允許實時視頻發(fā)送任務進入運行隊列。

視頻數據處理模塊主要包括視頻圖像的實時捕捉(借助MPEG-4視頻壓縮卡完成)、動態(tài)存儲和實時播放,實時播放可以和實時捕捉存儲同時進行。

初始化視頻壓縮卡:

M878Object*pObject=NULL;

For(inti=0;i

{pObject=newM878Object(i,m_strDisk+m_strVideoDir);

If(!pObjectGetDataFormFile())

pObject->InitData();

m_obArray。Add(pObject);

}

數據采集:

for(i=0;i

{

OpenDev(i);//打開指定卡號的設備,分配相應系統(tǒng)資源

pObject=(M878Object*)m_obArray[i];

OutMpegBuff(i,OnMpeg4Write);//采集視頻數據流

RegisterViSaveExceptionProc(i,(ViSaveErrCallBack)ViErrCallBack);

pObject->SetParamToDevice();//設定參數

}

停止設備:

當不再使用設備時,調用ViUnInit()關閉視頻壓縮采集卡并卸載系統(tǒng)資源。

數據發(fā)送模塊:

OutMpegBuff(i,OnMpeg4Write);

VoidCALLBACKOnMpge4Write(DWORDdwCard,BYTE*pbuff,DWORDdwSize,

BOOLisKeyFrom)

{

if(dwCard>=g_dwDevice)

return;

g_VStrmInfo[dwCard]+=dwSize/26;

MTAWriteVideo((BYTE)dwCard,pbuff,(LONG)dwSize,isKeyFrm)

}

發(fā)送模塊負責向地址表中的地址發(fā)送經過編碼處理的實時視頻數據,并修改地址表中的信息。地址表用來保存請求實時視頻服務的用戶的IP地址,視頻發(fā)送任務根據地址表中的地址來發(fā)送視頻包。

數據接收模塊主要完成視頻數據的接收、解碼和顯示工作。用戶通過瀏覽器實現對遠程設備的監(jiān)控,服務器返回的信息通過瀏覽器顯示。瀏覽器可以使用微軟公司的InternetExploer或Netscape公司的NetscapeNavigator等。對于普通的文本及HTML文件支持的GIF、JPEG等格式的圖片,普通瀏覽器都可以顯示。但對于實時視頻數據,由于與HTTP鏈接不同,不是使用流套接字而是使用數據報套接字接收,然后還需解碼和顯示,這些工作瀏覽器都無法完成。為使用戶能通過瀏覽器觀看視頻,本系統(tǒng)采用在WEB頁面中嵌入ActiveX控件,由ActiveX控件完成視頻數據的接收、解碼和顯示工作。而ActiveXInternet技術的一個重要方面是安全的下載和安裝ActiveX控件和需要的支持文件。MicrosoftInternetExplore通過在HTML文檔中使用InternetComponentDownload方法自動下載并安裝ActiveX控件完成客戶端控件的嵌入和注冊。

在WEB服務器的HTML文件中嵌入ActiveX屬性,針對客戶端使用最多的IE瀏覽器,HTML代碼可使用MFCControl控件。

控件編寫完成后,需要在客戶端注冊,關于控件的信息記錄在注冊表中??蛻舳藦姆掌鞫私邮盏角队锌丶腍TML頁面后,將根據OBJECT標簽中的信息通過注冊表使用對應的空間完成接收,解碼和顯示。

遠程控制設計

在遠程控制部分設計中,根據性能最優(yōu)化和實時性考慮,將控制部分分為兩部分:云臺控制部分,主要是通過串口進行通信;信息家電遠程控制,通過內部家庭網絡協(xié)議對相應設備進行控制,控制信號的物理載體是家庭網絡內部總線。由于篇幅有限,以下只介紹圖4所示云臺控制模塊。

圖4云臺控制系統(tǒng)硬件連接框圖

該模塊是個相對獨立的模塊,負責控制云臺的上下左右旋轉以及鏡頭的焦距和光圈的調整。當服務器接受到的請求中含有對云臺設備以及鏡頭的控制命令時,將通過CGI函數向云臺解碼器發(fā)送控制指令以實現對云臺和鏡頭的控制。在室內,采用CDA2000解碼器直接通過RS-232串行口與嵌入式網關通信,云臺控制電壓~24V、~220V可選,鏡頭控制電壓可在5V-12V之間無級調節(jié)。

在云鏡控制模塊中,解碼器起著核心的作用,設計云鏡控制模塊主要解決的問題是將各項操作如上下旋轉,鏡頭調焦等操作進行編碼,但本系統(tǒng)采用的解碼器封裝了底層硬件程序的編寫,因此所做的工作是利用解碼器開發(fā)商提供的協(xié)議,通過RS232串行口向解碼器發(fā)送指令。

Linux對串口的操作是通過設備文件進行訪問的,只需打開相應的串口文件,然后通過調用設備相關函數來打開串口(open()),設置串口參數(tcgetattr(),cfsetispeed(),cfsetospeed()),設置輸入輸出模式(options。c_Iflag和options。c_Oflag),恢復串口屬性,關閉串口(close())等即可。

結語

本系統(tǒng)的特點是基于嵌入式微處理器有限的系統(tǒng)資源之上,為客戶提供視頻服務。本系統(tǒng)采用的是“boa服務器+CGI+家庭網絡服務器”的模式來實現對信息家電的控制。以及采用了“boa服務器+CGI+視頻接收和控制模塊(視頻服務器)”的模式實現對視頻數據的捕獲、采集、發(fā)送等操作,并通過串行口通信方式對云臺和鏡頭進行直接的控制,視頻的接收問題一直以來是研究的重點,本系統(tǒng)采用在WEB頁面中嵌入ActiveX控件的方式,由ActiveX控件完成視頻數據的接收、解碼和顯示工作。這樣做的好處是,不需對客戶端做任何設置,就可以完成控件的自動下載和視頻文件的實時播放。

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉