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

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于ARM的家庭視頻服務(wù)器的研究

引言
    隨著科學(xué)技術(shù)的不斷進(jìn)步和發(fā)展,人們對生活質(zhì)量也提出了更高的要求。家庭網(wǎng)絡(luò)作為一個(gè)新生體越來越近的開始走進(jìn)人們的生活,它將家庭單元作為一個(gè)節(jié)點(diǎn)加入了網(wǎng)絡(luò)的大家庭,其中作為連接家庭內(nèi)部與Internet的橋梁的家庭網(wǎng)關(guān)起了舉足輕重的作用。嵌入式網(wǎng)關(guān)的主要功能如下:
    遠(yuǎn)程控制:客戶通過Internet上連接的任意一臺PC機(jī)的瀏覽器,都可以訪問家庭網(wǎng)絡(luò)的服務(wù)器;家庭網(wǎng)絡(luò)中的設(shè)備狀態(tài)將以HTML文件的方式顯示在客戶端的瀏覽器中;客戶通過對HTML頁面上相應(yīng)設(shè)備的點(diǎn)擊以實(shí)現(xiàn)對家庭網(wǎng)絡(luò)中設(shè)備的遠(yuǎn)程控制,操作的結(jié)果同樣以HTML頁面的方式刷新客戶端的瀏覽器。
    遠(yuǎn)程監(jiān)視:客戶通過Internet上連接的任意一臺PC機(jī)的瀏覽器,都可以訪問家庭網(wǎng)絡(luò)的服務(wù)器,在HTML頁面上通過點(diǎn)擊控件按鈕來實(shí)現(xiàn)視頻工具的自動下載和所要求視頻文件的自動播放,從而可以顯示多個(gè)攝像頭中的視頻信息。
    遠(yuǎn)程維護(hù):當(dāng)HomeNetServer的后臺數(shù)據(jù)庫需要維護(hù),或者家庭網(wǎng)絡(luò)中設(shè)備的HTML描述文件有了更新,甚至系統(tǒng)的網(wǎng)絡(luò)管理系統(tǒng)需要升級為新版本時(shí),管理員都可以通過Internet遠(yuǎn)程對家庭網(wǎng)絡(luò)中的服務(wù)器做維護(hù)和更新。
    基于這些基本要求和嵌入式系統(tǒng)自身資源有限的特點(diǎn),系統(tǒng)選擇了S3C4510芯片,并對其進(jìn)行外圍電路擴(kuò)展如圖1:

圖1  外圍擴(kuò)展電路方框圖
         
    其中:Flash/ROM用于存儲家庭網(wǎng)關(guān)中的嵌入式操作系統(tǒng)、HTTP服務(wù)器、CGI網(wǎng)關(guān)程序、家庭網(wǎng)絡(luò)服務(wù)器以及各種服務(wù)所需的文件系統(tǒng)。整個(gè)家庭網(wǎng)關(guān)軟件平臺存儲在Flash中,系統(tǒng)啟動時(shí),將從Flash中運(yùn)行Bootloader,解壓操作系統(tǒng)并將其移入SDRAM中。
    Ethernet:S3C4510內(nèi)部集成了網(wǎng)絡(luò)控制接口,并提供專用于網(wǎng)絡(luò)通信的DMA通道。通過Ethernet模塊,S3C4510實(shí)現(xiàn)與Internet的連接。Ethernet模塊完成芯片與網(wǎng)絡(luò)的隔離和數(shù)據(jù)的收發(fā)。
    System:S3C4510所需的其他外圍電路,包括:電源電路、外部時(shí)鐘(50MHZ)電路、開關(guān)及復(fù)位電路和JTAG調(diào)試接口電路等。
    嵌入式操作系統(tǒng)選擇的是uClinux操作系統(tǒng),uClinux是專門針對沒有MMU的處理器而設(shè)計(jì)的,系統(tǒng)多采用Romfs文件系統(tǒng),Romfs是一種相對簡單、占用空間較少的文件系統(tǒng)。而在UCLINUX下,主要有三個(gè)WEB服務(wù)器:httpd、thttpd和boa,httpd是最簡單的WBE服務(wù)器,功能簡單,不支持認(rèn)證和CGI,thttpd和boa均支持認(rèn)證和CGI,功能豐富,其中boa1是一個(gè)單任務(wù)的http服務(wù)器,源代碼開放,性能較高,占用系統(tǒng)資源較少,boa服務(wù)器在收到請求時(shí),不啟動多個(gè)服務(wù)進(jìn)程處理多個(gè)請求,在一個(gè)進(jìn)程內(nèi)處理所有服務(wù)請求。對于CGI程序,將生成新的進(jìn)程來處理,考慮到嵌入式系統(tǒng)自身資源有限,和家庭網(wǎng)關(guān)的進(jìn)程數(shù)量有限,系統(tǒng)選擇了在uCLinux系統(tǒng)中的boa服務(wù)器。
    由于目前的uCLinux還不支持ASP、PHP等動態(tài)網(wǎng)頁技術(shù),所以在uCLinux下通過CGI2技術(shù)連接WEB頁和本地程序,提供動態(tài)和交互的特性。

圖2 系統(tǒng)總體設(shè)計(jì)框圖
1  配置boa服務(wù)器
    CGI程序不是放在服務(wù)器上就能順利運(yùn)行,如果要想使其在服務(wù)器上順利的運(yùn)行并準(zhǔn)確的處理用戶的請求,則須對所使用的服務(wù)器進(jìn)行必要的設(shè)置。
    Boa的配置文件boa.conf:在boa.conf中對boa進(jìn)行了配置,這些配置多使用默認(rèn)值,本系統(tǒng)中將Document Root指定的WEB服務(wù)器的根修改為/boas.
    在對內(nèi)核進(jìn)行配置時(shí),選擇boa程序和cgi.
    將cgi_generic文件夾下的cgi.c和makefile覆蓋到程序包中的/usr/cgi_generic/。
    將boa文件夾下的hash.c覆蓋到程序包中的/usr/boa/src。
    將rc文件覆蓋到程序包中的/vendor/Miectek/4510。
    本系統(tǒng)中的ucLinux系統(tǒng)中的文件使用的是ROMFS和運(yùn)行于RAM的EXT2。為了可通過FTP等工具更新網(wǎng)頁,rc文件在/boas下創(chuàng)建文件夾cgi_bin,然后將index.html,boa.conf和mine.type復(fù)制到/boas下,將CGI程序復(fù)制到/boas/cgi­_bin下。至此建立了boa運(yùn)行的基本環(huán)境,使用〝>boa  c/boas/&〞命令就可以運(yùn)行boa.
2  系統(tǒng)設(shè)計(jì)描述
    在嵌入式網(wǎng)關(guān)的設(shè)計(jì)中,網(wǎng)關(guān)程序與家庭網(wǎng)絡(luò)的HTTP服務(wù)器和家庭網(wǎng)絡(luò)內(nèi)部服務(wù)器位于同一物理設(shè)備(基于S3C4510的硬件平臺)之上,負(fù)責(zé)連接HTTP服務(wù)器與后臺數(shù)據(jù)庫,完成HTTP服務(wù)器與HomeNetServer之間的信息交互。
    在家庭網(wǎng)關(guān)的設(shè)計(jì)中,根據(jù)功能描述,網(wǎng)關(guān)應(yīng)能提供遠(yuǎn)程監(jiān)視、遠(yuǎn)程控制、遠(yuǎn)程維護(hù)功能。網(wǎng)關(guān)內(nèi)部工作流程如下:
    ● 若客戶發(fā)送的HTTP請求,經(jīng)過HTTP服務(wù)器接收和解析后,得知要求的是設(shè)備狀態(tài)信息時(shí),HTTP服務(wù)器從存儲設(shè)備狀態(tài)信息的靜態(tài)文件中取出設(shè)備狀態(tài),并封裝為HTTP響應(yīng)消息發(fā)送回客戶端。
    ● 若客戶發(fā)送的HTTP請求,經(jīng)過HTTP服務(wù)器接收和解析后,得知請求的消息是對設(shè)備的設(shè)置(操作),則通CGI函數(shù)將消息內(nèi)容轉(zhuǎn)換為家庭網(wǎng)絡(luò)協(xié)議傳遞給家庭網(wǎng)絡(luò)服務(wù)器,由家庭網(wǎng)絡(luò)服務(wù)器對家庭內(nèi)部設(shè)備的管理和控制,并將處理結(jié)果以消息形式傳遞給CGI程序,并封裝為HTTP響應(yīng)消息的形式,發(fā)送回客戶端。
    ● 若客戶發(fā)送的HTTP請求,經(jīng)過HTTP服務(wù)器接收和解析后,得知請求的頁面是提供實(shí)時(shí)視頻服務(wù)時(shí),HTTP服務(wù)器將調(diào)用CGI函數(shù)向視頻數(shù)據(jù)處理模塊發(fā)送消息,通過視頻數(shù)據(jù)處理模塊來控制視頻壓縮卡完成視頻數(shù)據(jù)的采集,壓縮和發(fā)送等功能。
    ● 若客戶發(fā)送的HTTP請求,經(jīng)過HTTP服務(wù)器接收和解析后,得知請求的消息包含對云臺設(shè)備及鏡頭的控制命令時(shí),HTTP服務(wù)器通過CGI函數(shù)向云鏡解碼器直接發(fā)送控制指令以實(shí)現(xiàn)對云臺和鏡頭的控制。


圖3  家庭網(wǎng)關(guān)軟件結(jié)構(gòu)框圖
3  實(shí)時(shí)視頻傳輸部分設(shè)計(jì)
    基于HTTP的boa服務(wù)器負(fù)責(zé)接收和響應(yīng)客戶端的HTTP請求,當(dāng)請求的是視頻信息時(shí),此請求通過CGI函數(shù)向視頻數(shù)據(jù)處理模塊發(fā)送消息,從而向視頻設(shè)備發(fā)送事件以允許實(shí)時(shí)視頻發(fā)送任務(wù)進(jìn)入運(yùn)行隊(duì)列。
    視頻數(shù)據(jù)處理模塊主要包括視頻圖像的實(shí)時(shí)捕捉(借助MPEG-4視頻壓縮卡完成)、動態(tài)存儲和實(shí)時(shí)播放,圖像的實(shí)時(shí)播放可以和圖像的實(shí)時(shí)捕捉存儲同時(shí)進(jìn)行。
    初始化視頻壓縮卡:
 M878Object*pObject=NULL;
      For(int i=0;i<m_nDevice;i++)
          {pObject=new M878Object(i,m_strDisk+m_str VideoDir);
            If(!pObjectGetDataFormFile())
                pObject->InitData();
              m_obArray.Add(pObject);
}
    數(shù)據(jù)采集:
for(i=0;i<m_nDevice;i++)
   {
     OpenDev(i);                         //打開指定卡號的設(shè)備,分配相應(yīng)系統(tǒng)資源
     pObject=( M878Object*)m_obArray[i];
      OutMpegBuff(i,OnMpeg4Write);       //采集視頻數(shù)據(jù)流
       RegisterViSaveExceptionProc(i,(ViSaveErrCallBack) ViErrCallBack);
       pObject->SetParamToDevice();      //設(shè)定參數(shù)
}
    停止設(shè)備:
    當(dāng)不再使用設(shè)備時(shí),調(diào)用ViUnInit()關(guān)閉視頻壓縮采集卡并卸載系統(tǒng)資源。
    數(shù)據(jù)發(fā)送模塊:
    OutMpegBuff(i,OnMpeg4Write);
    Void CALLBACK OnMpge4Write(DWORD dwCard,BYTE *pbuff,DWORD dwSize,
BOOL isKeyFrom)
{
    if(dwCard>=g_dwDevice)
    return;
    g_VStrmInfo[dwCard]+=dwSize/26;
    MTAWriteVideo((BYTE)dwCard,pbuff,(LONG)dwSize,isKeyFrm)
}
    發(fā)送模塊負(fù)責(zé)向地址表中的地址發(fā)送經(jīng)過編碼處理的實(shí)時(shí)視頻數(shù)據(jù),并修改地址表中的信息。地址表用來保存請求實(shí)時(shí)視頻服務(wù)的用戶的IP地址,視頻發(fā)送任務(wù)根據(jù)地址表中的地址來發(fā)送視頻包。
    數(shù)據(jù)接收模塊:
    該模塊主要完成視頻數(shù)據(jù)的接收、解碼和顯示工作。用戶通過瀏覽器實(shí)現(xiàn)對遠(yuǎn)程設(shè)備的監(jiān)控,服務(wù)器返回的信息通過瀏覽器顯示。瀏覽器可以使用微軟公司的Internet Exploer或Netscape公司的Netscape Navigator等。對于普通的文本及HTML文件支持的GIF、JPEG等格式的圖片,普通瀏覽器都可以顯示。但對于實(shí)時(shí)視頻數(shù)據(jù),首先,與HTTP鏈接不同,不是使用流套接字而是使用數(shù)據(jù)報(bào)套接字接收,然后還需解碼和顯示,這些工作瀏覽器都無法完成。為使用戶能通過瀏覽器觀看視頻,本系統(tǒng)采用在WEB頁面中嵌入ActiveX控件,由ActiveX控件完成視頻數(shù)據(jù)的接收、解碼和顯示工作。而ActiveXInternet技術(shù)的一個(gè)重要方面是安全的下載和安裝ActiveX控件和需要的支持文件。Microsoft Internet Explore通過在HTML文檔中使用Internet Component Download方法自動下載并安裝ActiveX控件3。
    (1)客戶端控件的嵌入
    在WEB服務(wù)器的HTML文件中嵌入ActiveX屬性,針對客戶端使用最多的IE瀏覽器,HTML代碼可使用的MFCControl控件如下:
<HTML>
<HEAD>
<TITLE>VideoPage</TITLE>
</HEAD>
<BODY>
<OBJECT>
ID=〝Mpge4Control 〞
WIDTH=100
HEIGHT=51
CLASSID=CLSID:A119846-2E75-11D0-BDB2-000000000000〞
CODEBASE=http://www.myhome.com/videodisplay/MFCControl.ocx>#Version=1,0,0,1>
<PARAMNAME=〝Alighment〞VALUE=〝1〞>
<PARAMNAME=〝CaptionProp〞VALUE=〝Sample〞>
</OBJECT>
</BODY>
</HTML>
    其中ID標(biāo)志控件命名,提供訪問控件的HTML代碼。CLASSID標(biāo)志是唯一的UUID給控件賦值的指令,告訴IE哪個(gè)對象被裝載。在HTML頁面實(shí)現(xiàn)控件的自動下載,使用<OBJECT>標(biāo)志的CODEBASE屬性,該屬性告訴IE要下載和安裝的控件版本和找到和下載控件及其支持文件的地址。
    (2)客戶端控件的注冊
    控件編寫完成后,需要在客戶端注冊,關(guān)于控件的信息記錄在注冊表中??蛻舳藦姆?wù)器端接收到嵌有控件的HTML頁面后,將根據(jù)OBJECT標(biāo)簽中的信息通過注冊表使用對應(yīng)的空間完成接收,解碼和顯示。
4  遠(yuǎn)程控制部分設(shè)計(jì)
    在遠(yuǎn)程控制部分設(shè)計(jì)中,根據(jù)性能最優(yōu)化和實(shí)時(shí)性考慮,將控制部分分為兩部分:云臺控制部分,主要是通過串口進(jìn)行通信;信息家電遠(yuǎn)程控制,通過內(nèi)部家庭網(wǎng)絡(luò)協(xié)議對相應(yīng)設(shè)備進(jìn)行控制,控制信號的物理載體是家庭網(wǎng)絡(luò)內(nèi)部總線。(由于篇幅有限,本文僅討論前者)。
    云臺控制模塊設(shè)計(jì)
    該模塊是個(gè)相對獨(dú)立的模塊,負(fù)責(zé)控制云臺的上下左右旋轉(zhuǎn)以及鏡頭的焦距和光圈的調(diào)整。當(dāng)服務(wù)器接受到的請求中含有對云臺設(shè)備以及鏡頭的控制命令時(shí),將通過CGI函數(shù)向云臺解碼器發(fā)送控制指令以實(shí)現(xiàn)對云臺,鏡頭的控制。在室內(nèi),采用CDA2000室內(nèi)萬能解碼器4直接通過RS-232串行口與嵌入式網(wǎng)關(guān)通信,云臺控制電壓~24V、~220V 可選,鏡頭控制電壓可在 5V-12V 之間無級調(diào)節(jié)。

圖4  云臺控制系統(tǒng)硬件連接框圖
    在云鏡控制模塊中,解碼器起著核心的地位,設(shè)計(jì)云鏡控制模塊主要解決的問題是將各項(xiàng)操作如上下旋轉(zhuǎn),鏡頭調(diào)焦等操作進(jìn)行編碼,但本系統(tǒng)采用的解碼器封裝了底層硬件程序的編寫,因此所做的工作是利用解碼器開發(fā)商提供的協(xié)議,通過RS232串行口向解碼器發(fā)送指令。
    Linux對串口的操作是通過設(shè)備文件進(jìn)行訪問的,只需打開相應(yīng)的串口文件,然后通過調(diào)用設(shè)備相關(guān)函數(shù)來打開串口(open()),設(shè)置串口參數(shù)(tcgetattr(),cfsetispeed(), cfsetospeed()),設(shè)置輸入輸出模式(options.c_Iflag和options.c_Oflag),恢復(fù)串口屬性,關(guān)閉串口(close())等即可。

圖5 串行通信流程
5  結(jié)論   
    本系統(tǒng)的特點(diǎn)是基于嵌入式微處理器有限的系統(tǒng)資源之上,為客戶提供視頻服務(wù)。本系統(tǒng)采用的是〝boa服務(wù)器+CGI+家庭網(wǎng)絡(luò)服務(wù)器〞的模式來實(shí)現(xiàn)對信息家電的控制,但由于篇幅有限,不做論述。鑒于實(shí)時(shí)視頻服務(wù)的特殊性,采用了〝boa服務(wù)器+CGI+視頻接收和控制模塊(視頻服務(wù)器)〞的模式實(shí)現(xiàn)對視頻數(shù)據(jù)的捕獲、采集、發(fā)送等操作,并通過串行口通信方式對云臺和鏡頭進(jìn)行直接的控制,視頻的接收問題一直以來是研究的重點(diǎn),本系統(tǒng)采用的是在WEB頁面中嵌入ActiveX控件的方式,由ActiveX控件完成視頻數(shù)據(jù)的接收、解碼和顯示工作。而這樣做的好處是,不需對客戶端做任何設(shè)置,就可以完成控件的自動下載和視頻文件的實(shí)時(shí)播放。

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

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進(jìn)出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機(jī) CAN

要問機(jī)器人公司哪家強(qiáng),波士頓動力絕對是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢依然嚴(yán)峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉