国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

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

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

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

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

隨著計(jì)算機(jī)網(wǎng)絡(luò)、通信以及數(shù)字信息處理技術(shù)的不斷進(jìn)步,基于嵌入式Web的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)就是在計(jì)算機(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功能都集成到一個(gè)體積很小的設(shè)備之內(nèi),通過接入Internet網(wǎng)絡(luò),利用Web瀏覽器即可實(shí)現(xiàn)對(duì)采集到的視頻圖像進(jìn)行查看,這樣也就省掉了對(duì)傳統(tǒng)的視頻監(jiān)控系統(tǒng)設(shè)備鋪設(shè)很多復(fù)雜的電纜這個(gè)煩瑣過程,而且系統(tǒng)的安裝非常方便,因而使得基于嵌入式Web的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)獲得人們的一致肯定和廣泛應(yīng)用。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

其次,要把下載的驅(qū)動(dòng)程序復(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命令。然后在彈出的窗口中,選中下面的幾項(xiàng):

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)核中加入了對(duì)中星微ZC301P系列芯片的USB攝像頭的驅(qū)動(dòng)支持。

4)對(duì)以上配置進(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í)行文件,然后通過超級(jí)終端下載到開發(fā)板上,接著用chmod+x servfox修改可執(zhí)行的屬性,最后運(yùn)行:

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

#servfox—g—s 320x240—w 7070

可以得到如下所示的測(cè)試界面:

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

spcaview—w 192.168.1.130:7070

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

3.3Telnet技術(shù)

Telnet是利用Internet網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程登錄服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式,Telnet協(xié)議屬于TCP/IP協(xié)議族中的重要一員。通過Telnet技術(shù),遠(yuǎn)程用戶實(shí)現(xiàn)了在本地計(jì)算機(jī)對(duì)嵌入式遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的遠(yuǎn)程登錄和遠(yuǎn)程控制。用戶在本地計(jì)算機(jī)上輸入操作命令,然后這些操作命令將會(huì)在嵌入式系統(tǒng)上執(zhí)行,就如同遠(yuǎn)程用戶在現(xiàn)場(chǎng)嵌入式系統(tǒng)的控制臺(tái)上直接進(jìn)行操控一樣,實(shí)現(xiàn)對(duì)嵌入式遠(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ā)完全手冊(cè)[M].北京:人民郵電出版社,2008:34-56.

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

收稿日期:2019-10-11

基金項(xiàng)目:河南省高等學(xué)校重點(diǎn)科研項(xiàng)目計(jì)劃支持(項(xiàng)目編號(hào):13B520320)

作者簡介:趙雪梅(1966-),女,河南鄭州人,鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院,教授,碩士,研究方向?yàn)橹悄芸刂婆c計(jì)算機(jī)應(yīng)用。

猜你喜歡
軟件設(shè)計(jì)嵌入式
搭建基于Qt的嵌入式開發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
基于STC單片機(jī)的廚房智能安全管控系統(tǒng)的設(shè)計(jì)
基于STM8S903K3的序列打螺絲夾具的軟件設(shè)計(jì)
JCI標(biāo)準(zhǔn)下發(fā)送調(diào)配部軟件設(shè)計(jì)及應(yīng)用
一種VHDL語言代碼重用的方法
科技視界(2016年20期)2016-09-29 13:33:02
Altera加入嵌入式視覺聯(lián)盟
倍福 CX8091嵌入式控制器
吴川市| 太康县| 贡嘎县| 珠海市| 宝山区| 鲁甸县| 江城| 唐河县| 镇康县| 屏东县| 宣化县| 平阴县| 克拉玛依市| 连州市| 开平市| 天等县| 从江县| 尼玛县| 青河县| 平谷区| 镇康县| 饶平县| 将乐县| 土默特左旗| 化德县| 五峰| 新龙县| 台州市| 丰原市| 来凤县| 海原县| 兴国县| 丰都县| 历史| 平山县| 汾西县| 正阳县| 新化县| 濮阳县| 阿拉善盟| 沂水县|