基于ARM11嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的分析與設(shè)計
摘要:為了更好的降低監(jiān)控成本,提高系統(tǒng)布防的簡易性;同時提高傳輸速度,達(dá)到更好的監(jiān)控效果。采用三星公司S3C6410開發(fā)板,及其自帶功能強大的ARM11處理器來設(shè)計監(jiān)控系統(tǒng),利用開源軟件mjpg_stream,GCC編譯工具,搭建windows和linux下的網(wǎng)絡(luò)監(jiān)控系統(tǒng)。實驗結(jié)果表明,該系統(tǒng)采集圖像清晰,達(dá)到預(yù)期的設(shè)計目標(biāo)。
本文引用地址:http://2s4d.com/article/201609/304490.htm嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)簡介及應(yīng)用前景:嵌入式遠(yuǎn)程監(jiān)控就是本地PC機,通過訪問http開頭的網(wǎng)絡(luò)地址,對遠(yuǎn)程終端監(jiān)控設(shè)備進(jìn)行控制,監(jiān)控人員不用親臨被監(jiān)控區(qū)域的一類視頻監(jiān)控系統(tǒng)設(shè)備。嵌入式監(jiān)控設(shè)備避免了惡劣環(huán)境對人的影響和監(jiān)控的不利因素,同時也可以做到據(jù)點監(jiān)控,參數(shù)修改,達(dá)到各種災(zāi)害的提前控制??蓮V泛用于軍事監(jiān)控,道路監(jiān)控,學(xué)校宿舍監(jiān)控等。傳統(tǒng)的監(jiān)控設(shè)備有以下一些不足之處:1)普遍采用撥號方式進(jìn)行數(shù)據(jù)傳輸,占用大量網(wǎng)絡(luò)資源,使用成本較高,工作效率低,可靠性不高和傳輸速率低,不適合更廣泛的推廣。2)硬件的要求較高,更新?lián)Q代周期較長,體積龐大,不適合長久的發(fā)展線路。3)系統(tǒng)的針對性也較強,產(chǎn)品的各種技術(shù)手段,參數(shù)都處于半封閉或封閉狀態(tài),可移植性較差。
嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的優(yōu)點:1)嵌入式視頻監(jiān)控系統(tǒng)易于移植,能夠在linux系統(tǒng)和windows下同時開發(fā);2)對監(jiān)控設(shè)備要求較低,只需要能夠聯(lián)網(wǎng),并且只需要安裝IE等瀏覽器;3)各種不同版本的監(jiān)控設(shè)備設(shè)備和軟件層出不窮,跟新較快,能夠?qū)崟r的滿足監(jiān)控要求;4)豐富的人機交換界面。除了以上幾點外,還有包括能夠克服惡劣環(huán)境,加上紅外模塊能夠?qū)崿F(xiàn)夜晚的監(jiān)控,監(jiān)控設(shè)備圖形界面的豐富,達(dá)到控制的多樣化等不同優(yōu)點。
1 嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的硬件組成
任何系統(tǒng)設(shè)備,都是由硬件和軟件組成。本文審計使用的嵌入式系統(tǒng)是由ARM11開發(fā)板,攝像頭,開源軟件以及PC機所構(gòu)成。
1)S3C6420開發(fā)板:ARM是一款低功耗、高性價比的RSIC處理器,可廣泛應(yīng)用于移動電話和通用處理等領(lǐng)域;S3C6410為2.5 G和3 G通信服務(wù)提供了優(yōu)化的硬件性能,內(nèi)置強大的硬件加速器:包括運動視頻處理、音頻處理、2D加速、顯示處理和縮放等;S3C6410集成了一個MFC(Multi—Format video Codec)支持MPEG4/H.263/H.264編解碼和VC1的解碼,能夠提供實時的視頻會議以及NTSC和PAL制式的CVBS輸出;S3C6410處理器內(nèi)置一個采用先進(jìn)技術(shù)的3D加速器,支持OpenGL ES 1.1/2.0和D3DM API,能實現(xiàn)4M triangles/s的3D加速;S3C6410包含了優(yōu)化的外部存儲器接口,該接口能滿足在高端通信服務(wù)中的數(shù)據(jù)帶寬要求。且具有性能優(yōu)越的處理器——ARM11,性能高,處理頻率快,具有強大的ARM指令集體系結(jié)構(gòu),對視頻監(jiān)控的速度和畫面質(zhì)量有著很大的提高。
2)PC機:文中采用的是聯(lián)想G470筆記本電腦,安裝了IE瀏覽器。主要是作為顯示設(shè)備。
3)攝像頭:攝像頭的選取一定是要攝像頭支持UVC視頻格式的攝像頭,并非任何一種都可以的,否則將會出現(xiàn)錯誤,本文后面就遇到過,本文采用的是炫魔攝像頭。
2 系統(tǒng)的總體設(shè)計
2.1 整體的框圖設(shè)計
如圖1所示,該監(jiān)控系統(tǒng)前端采用中星微電子芯片的攝像頭,給開發(fā)板加上紅外模塊可以采用專用的紅外攝像頭,采集得到紅外圖像;核心設(shè)備:采用較先進(jìn)的以ARM11為核心處理器的S3C6410開發(fā)板,ARM11微處理器具有處理數(shù)據(jù)頻率高,傳輸速度快——64位的數(shù)據(jù)通道,可選的浮點運算,支持各種不同的計算機語言(C,C++等)等特點。
2.2 ping通開發(fā)板和PC機
保證開發(fā)板和PC機處于同一個網(wǎng)段,只有在同一個網(wǎng)段的情況下,雙方才能夠很好的數(shù)據(jù)互通,在這里我們采用開發(fā)板和PC在一個路由器下,運用ping這個命令來實現(xiàn)(ping不僅僅是windows下的命令,在unix和linux下也有這個命令,它是一個通信協(xié)議,是ip協(xié)議的一部分,也是tcp協(xié)議的一部分,Ping在Windows下是自帶的一個可執(zhí)行命令。利用它可以檢查網(wǎng)絡(luò)是否能夠連通,用好它可以很好地幫助我們分析判定網(wǎng)絡(luò)故障。應(yīng)用格式:Ping+IP地址),最終ping通的結(jié)果如圖所示,如果沒有ping通的話,開發(fā)板和PC將不能夠?qū)崿F(xiàn)互通,圖2是ping通的圖像顯示。
2.3 交叉編譯環(huán)境的搭建
GCC編譯器:即不同處理器之間的交叉編譯工具,Linux系統(tǒng)下的GCC(GNU C Compiler)是GNU推出的功能強大、性能優(yōu)越的多平臺編譯器,是GNU的代表作品之一。GCC是可以在多種硬體平臺上編譯出可執(zhí)行程序的超級編譯器,其執(zhí)行效率與一般的編譯器相比平均效率要高20%~30%。GCC編譯器能將C、C++語言源程序、匯程式化序和目標(biāo)程序編譯、連接成可執(zhí)行文件,如果沒有給出可執(zhí)行文件的名字,GCC將生成一個名為a.out的文件。在Linux系統(tǒng)中,可執(zhí)行文件沒有統(tǒng)一的后綴,系統(tǒng)從文件的屬性來區(qū)分可執(zhí)行文件和不可執(zhí)行文件。而GCC則通過后綴來區(qū)別輸入文件的類別,一般情況下windows下編譯出來的后綴名為.c文件。
宿主機上安裝的fedora發(fā)行版的Linux內(nèi)核,這里使用的是ARM—linux—gcc 4.3.0.
2.4 mjpg—stream庫的移植
根據(jù)mjpg_stream源代碼,默認(rèn)的網(wǎng)絡(luò)輸出端口:output[0]=“output_http.so—port 8080”;默認(rèn)的輸入端口:char*input=“in put_uvc.so--resolution 640x480--fps 5--device/dev/video0”;而不是每一個開發(fā)板的活動端口都是video0,因此我們需要重新進(jìn)行編譯。采用之前的編譯工具GCC編譯器,利用make和makefile(make和makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進(jìn)行更復(fù)雜的功能操作)命令進(jìn)行編譯,形成可執(zhí)行文件也就是如圖所示的mjpg_streamer文件格式,即是開發(fā)板當(dāng)中的可執(zhí)行文件。前面我們已經(jīng)提到,所采用的攝像頭一定要支持UVC格式的攝像頭,圖3就是不支持UVC和活動端口不連接的時候的錯誤提示,圖4就是正確的提示信息。
評論