• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)軟件設(shè)計研究

    2019-03-07 05:22:18趙雪梅
    電腦知識與技術(shù) 2019年35期
    關(guān)鍵詞:軟件設(shè)計嵌入式

    摘要:嵌入式系統(tǒng)設(shè)計中,硬件設(shè)計是基礎(chǔ),軟件設(shè)計是核心。文章提出了一種行之有效的嵌入式軟件設(shè)計方案,并以此為核心,完成了一種基于嵌入式的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的軟件設(shè)計。系統(tǒng)軟件設(shè)計中完成以下幾方面的工作:首先完成對系統(tǒng)軟件結(jié)構(gòu)的設(shè)計,其次完成對嵌入式Linux開發(fā)的軟件操作平臺的搭建,最后完成對視頻監(jiān)控軟件中USB攝像頭的驅(qū)動模塊及對視頻圖像的采集、顯示等應(yīng)用程序模塊的設(shè)計與實現(xiàn)。

    關(guān)鍵詞:嵌入式;軟件設(shè)計;Linux

    中圖分類號:TP391.4 文獻(xiàn)標(biāo)識碼:A

    文章編號:1009-3044(2019)35-0061-02

    隨著計算機(jī)網(wǎng)絡(luò)、通信以及數(shù)字信息處理技術(shù)的不斷進(jìn)步,基于嵌入式Web的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)就是在計算機(jī)網(wǎng)絡(luò)技術(shù)與嵌入式技術(shù)完美結(jié)合下的催生產(chǎn)物,它是現(xiàn)代高科技信息產(chǎn)業(yè)的結(jié)晶?;谇度胧絎eb的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)把視頻圖像的處理和Web功能都集成到一個體積很小的設(shè)備之內(nèi),通過接入Internet網(wǎng)絡(luò),利用Web瀏覽器即可實現(xiàn)對采集到的視頻圖像進(jìn)行查看,這樣也就省掉了對傳統(tǒng)的視頻監(jiān)控系統(tǒng)設(shè)備鋪設(shè)很多復(fù)雜的電纜這個煩瑣過程,而且系統(tǒng)的安裝非常方便,因而使得基于嵌入式Web的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)獲得人們的一致肯定和廣泛應(yīng)用。

    1 嵌入式系統(tǒng)的軟件設(shè)計

    1.1系統(tǒng)軟件設(shè)計的基礎(chǔ)環(huán)節(jié)

    基于嵌入式的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計是在ARM9+Linux平臺上進(jìn)行研究開發(fā)設(shè)計的,因此,在完成系統(tǒng)的硬件設(shè)計及硬件平臺的構(gòu)建之后,就要開始進(jìn)行軟件方面的設(shè)計。而整個軟件設(shè)計又緊密圍繞嵌入式Linux操作系統(tǒng)而展開,也就是說,嵌入式Linux操作系統(tǒng)是整個嵌入式系統(tǒng)軟件設(shè)計的核心。

    從軟件的角度來講,一個嵌入式Linux操作系統(tǒng)通常分為四個主要部分:

    1)引導(dǎo)加載程序BootLoader;

    2)嵌入式Linux內(nèi)核;

    3)文件系統(tǒng);

    4)用戶應(yīng)用程序。包含滿足使用用戶需求的某些應(yīng)用程序。

    倘若要使一個嵌入式Linux操作系統(tǒng)能夠在嵌入式硬件平臺上正常的運(yùn)行,就必須要先完成對BootLoader、嵌入式Linux內(nèi)核及其文件系統(tǒng)的燒寫工作,即將BootLoader、Linux內(nèi)核及其文件系統(tǒng)全部下載到嵌入式硬件平臺上才能運(yùn)行,三者缺一不可。

    1.2系統(tǒng)軟件總體框架

    嵌入式系統(tǒng)軟件設(shè)計的目的是要為嵌入式的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)構(gòu)建一種B/S(即瀏覽器,服務(wù)器)的工作模式。并在這種B/S工作模式下,實現(xiàn)嵌入式Web服務(wù)器端與客戶端(這里指Web瀏覽器)之間的通信和信息交互,從而完成設(shè)計系統(tǒng)的各項系統(tǒng)功能。嵌入式系統(tǒng)的服務(wù)器端主要由系統(tǒng)軟件和應(yīng)用軟件兩個部分組成。對系統(tǒng)軟件部分的設(shè)計包括對引導(dǎo)加載程序BootLoader的移植、對嵌入式Linux系統(tǒng)內(nèi)核的配置、裁剪和移植、對文件系統(tǒng)的移植等工作,也就是要完成系統(tǒng)軟件設(shè)計基礎(chǔ)環(huán)節(jié)。

    1.3系統(tǒng)軟件功能模塊設(shè)計

    軟件設(shè)計的最終目的就是實現(xiàn)嵌入式系統(tǒng)的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控的各項功能。而在進(jìn)行系統(tǒng)軟件設(shè)計的過程中,應(yīng)該遵循軟件工程設(shè)計的方法:首先要根據(jù)系統(tǒng)需要實現(xiàn)的各項功能,對系統(tǒng)進(jìn)行功能模塊的劃分和抽象,然后進(jìn)行抽象到具體的深入分析,從而構(gòu)造出系統(tǒng)軟件設(shè)計的層次結(jié)構(gòu),提高系統(tǒng)軟件設(shè)計的可理解性。

    嵌入式系統(tǒng)及其相應(yīng)設(shè)備驅(qū)動模塊需要完成以下幾個方面內(nèi)容:

    首先是對整個嵌入式系統(tǒng)軟件操作平臺Linux內(nèi)核的裁剪、編譯及其移植;其次是完成硬件平臺上所用設(shè)備的驅(qū)動程序的加載;最后是對系統(tǒng)視頻數(shù)據(jù)采集程序模塊的加載。

    而Boa Web服務(wù)器模塊要完成的內(nèi)容包括:

    1)采用B/S模式的監(jiān)測結(jié)構(gòu),ARM板是服務(wù)端,選用Boa作為Web服務(wù)器;

    2)因為Boa服務(wù)器支持CGI編程,可設(shè)計CGI程序產(chǎn)生瀏覽器的監(jiān)控頁面;

    3)遠(yuǎn)程用戶可以通過連接Internet網(wǎng)絡(luò),利用Web瀏覽器打開視頻監(jiān)控的Web主頁面,從而收看由嵌入式系統(tǒng)的USB攝像頭采集到的對現(xiàn)場場景的實時視頻圖像數(shù)據(jù)。

    后臺處理程序模塊需要完成的內(nèi)容主要包括利用網(wǎng)絡(luò)功能的Telnet技術(shù)實現(xiàn)監(jiān)測端用戶遠(yuǎn)程登錄到嵌入式設(shè)備,并實現(xiàn)對設(shè)備的一系列控制操作;同時還需要完成其他一些后臺處理程序。

    2 嵌入式系統(tǒng)軟件操作平臺的構(gòu)建

    2.1嵌入式Linux交叉編譯環(huán)境的建立

    在裁減和定制嵌入式Linux內(nèi)核,并將其應(yīng)用于特定的嵌入式系統(tǒng)硬件平臺之前,考慮到一般嵌入式系統(tǒng)硬件平臺內(nèi)部的存儲空間是有限的,通常需要在PC機(jī)(或稱宿主機(jī))上建立一個嵌入式交叉編譯環(huán)境,用于為特定的嵌入式系統(tǒng)進(jìn)行嵌入式開發(fā)設(shè)計服務(wù)。

    整個交叉編譯的過程就是首先在宿主機(jī)(PC機(jī))上通過跨平臺嵌入式交叉編譯器把源文件編譯成嵌入式系統(tǒng)硬件平臺上的可執(zhí)行文件,然后通過串口、并口、USB口或者網(wǎng)絡(luò)傳送等方式,將經(jīng)過交叉編譯后生成的可執(zhí)行文件下載到目標(biāo)系統(tǒng)硬件平臺(即嵌入式系統(tǒng)的硬件平臺)上的Flash或者其他存儲介質(zhì)中,最后在目標(biāo)系統(tǒng)硬件平臺上運(yùn)行這些文件。

    2.2嵌入式Linux的內(nèi)核裁剪與編譯

    由于嵌入式系統(tǒng)內(nèi)部的硬件資源有限,所以對整個嵌入式Linux內(nèi)核源碼包進(jìn)行完全編譯,勢必會造成系統(tǒng)內(nèi)部資源的浪費,也會因此影響到系統(tǒng)的功能實現(xiàn)及運(yùn)行速度,所以在對嵌入式Linux內(nèi)核編譯之前,先要根據(jù)嵌入式系統(tǒng)的硬件及其要實現(xiàn)的具體功能,在保證內(nèi)核穩(wěn)定工作的前提下,對嵌入式Linux內(nèi)核進(jìn)行裁剪。雖然對內(nèi)核源代碼進(jìn)行修改和裁剪可以達(dá)到精簡內(nèi)核的目的,但也容易導(dǎo)致嵌入式Linux內(nèi)核代碼的不穩(wěn)定或者Linux內(nèi)核代碼的靈活性喪失。通過對嵌入式Linux內(nèi)核進(jìn)行配置,從中選取系統(tǒng)能夠用到的功能,去除系統(tǒng)不需要或者用不到的功能,從而達(dá)到節(jié)省資源、系統(tǒng)優(yōu)化和精簡嵌入式Linux內(nèi)核的目的。

    3 系統(tǒng)應(yīng)用程序模塊的設(shè)計與實現(xiàn)

    3.1USB攝像頭驅(qū)動程序加載

    首先,加載USB攝像頭驅(qū)動模塊,并重新編譯內(nèi)核,因為Linux所選的2.6.12版本系統(tǒng)內(nèi)核中沒有中星微ZC30IP的USB攝像頭驅(qū)動,因此,要下載對應(yīng)的內(nèi)核補(bǔ)丁usb-2.6.12LE06.patch.tar.gz。

    其次,要把下載的驅(qū)動程序復(fù)制到文件目錄/Linux-2.6.12/driver/usb/下,然后進(jìn)行解壓,之后是打補(bǔ)丁。具體操作命令如下所示:

    tar——xvzf usb-2.6.12LE 06.patch.tar.gz

    patch——pl

    然后是編譯內(nèi)核,進(jìn)入嵌入式Linux操作系統(tǒng)kernel源碼目錄下/Linux-2.6.12,執(zhí)行make menuconfig命令。然后在彈出的窗口中,選中下面的幾項:

    1)Multimedia devices一>

    <*>Video For Linux

    這一步的目的是加載video4linux模塊,為視頻采集設(shè)備提供了編程接口。

    2)USB support一>

    <*>Support for Host-side USB

    —USB Host Controller Drivers

    <*>OHCI HCD support

    3)—USB Multimedia devices

    <*>USB SPCA5XX Sunplus/Vimicro/Sonix jpeg Cameras

    這兩步的目的就是在嵌入式Linux內(nèi)核中加入了對中星微ZC301P系列芯片的USB攝像頭的驅(qū)動支持。

    4)對以上配置進(jìn)行保存,然后退出。

    5)make dep; make zlmage。

    3.2視頻圖像采集與顯示模塊加載

    視頻圖像采集與顯示模塊采用的是Servfox+Spcaview的組合。首先,要下載Servfox的源碼,它是視頻圖像的采集模塊。這里用到的是servfox-R1_1_3.tar.gz,進(jìn)行解壓之后修改make-file里面的交叉編譯器的路徑,直接make,就生成了開發(fā)板上的可執(zhí)行文件,然后通過超級終端下載到開發(fā)板上,接著用chmod+x servfox修改可執(zhí)行的屬性,最后運(yùn)行:

    #ln—s/dev/v41/video0/dev/video0

    #servfox—g—s 320x240—w 7070

    可以得到如下所示的測試界面:

    視頻圖像的采集與顯示模塊要下載Spcaview源碼,直接make即可生成可執(zhí)行文件spcaview。在PC機(jī)上的虛擬機(jī)運(yùn)行的Linux環(huán)境下運(yùn)行,192.168.1.130是視頻圖像采集端嵌入式系統(tǒng)主機(jī)的IP地址,7070是端口號。

    spcaview—w 192.168.1.130:7070

    視頻圖像經(jīng)過Servfox+Spcaview的組合模塊完成采集和顯示,實現(xiàn)功能模塊加載過程。

    3.3Telnet技術(shù)

    Telnet是利用Internet網(wǎng)絡(luò)實現(xiàn)遠(yuǎn)程登錄服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式,Telnet協(xié)議屬于TCP/IP協(xié)議族中的重要一員。通過Telnet技術(shù),遠(yuǎn)程用戶實現(xiàn)了在本地計算機(jī)對嵌入式遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的遠(yuǎn)程登錄和遠(yuǎn)程控制。用戶在本地計算機(jī)上輸入操作命令,然后這些操作命令將會在嵌入式系統(tǒng)上執(zhí)行,就如同遠(yuǎn)程用戶在現(xiàn)場嵌入式系統(tǒng)的控制臺上直接進(jìn)行操控一樣,實現(xiàn)對嵌入式遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的遠(yuǎn)程控制功能。

    參考文獻(xiàn):

    [1]孫繼坤,張小全.嵌入式Linux開發(fā)技術(shù)詳解一基于ARM[M].北京:人民郵電出版社,2006:113-134.

    [2]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008:34-56.

    【通聯(lián)編輯:李雅琪】

    收稿日期:2019-10-11

    基金項目:河南省高等學(xué)校重點科研項目計劃支持(項目編號:13B520320)

    作者簡介:趙雪梅(1966-),女,河南鄭州人,鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院,教授,碩士,研究方向為智能控制與計算機(jī)應(yīng)用。

    猜你喜歡
    軟件設(shè)計嵌入式
    搭建基于Qt的嵌入式開發(fā)平臺
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
    基于STC單片機(jī)的廚房智能安全管控系統(tǒng)的設(shè)計
    基于STM8S903K3的序列打螺絲夾具的軟件設(shè)計
    JCI標(biāo)準(zhǔn)下發(fā)送調(diào)配部軟件設(shè)計及應(yīng)用
    一種VHDL語言代碼重用的方法
    科技視界(2016年20期)2016-09-29 13:33:02
    Altera加入嵌入式視覺聯(lián)盟
    倍福 CX8091嵌入式控制器
    自動化博覽(2014年4期)2014-02-28 22:31:15
    本溪市| 泰兴市| 大新县| 兴安县| 景东| 湖南省| 上林县| 来凤县| 沂源县| 昂仁县| 涟源市| 巩义市| 新乡县| 德化县| 青神县| 申扎县| 平遥县| 松阳县| 南靖县| 鹤峰县| 新竹县| 肥乡县| 余姚市| 松原市| 厦门市| 临泉县| 焦作市| 剑河县| 盈江县| 临桂县| 福贡县| 鲜城| 陕西省| 红安县| 天津市| 泾川县| 竹山县| 收藏| 红桥区| 大渡口区| 蓝山县|