基于Qt的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)方案
摘要:本文介紹了一種基于Qt的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)方案,該方案中所設(shè)計(jì)的遠(yuǎn)程監(jiān)控系統(tǒng)是借助跨平臺(tái)的開發(fā)工具Qt和強(qiáng)大的ARM平臺(tái)以其實(shí)用性和良好的穩(wěn)定性及易操作性逐漸成為嵌入式設(shè)備中不可或缺的組成部分。開發(fā)基于嵌入式終端的遠(yuǎn)程視頻監(jiān)控系統(tǒng)具有實(shí)用意義和價(jià)值。方案根據(jù)S3C2410和Qt的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的原理,設(shè)計(jì)并實(shí)現(xiàn)了基于Qt的遠(yuǎn)程監(jiān)控系統(tǒng)。
1. 方案總體設(shè)計(jì)
1.1 設(shè)計(jì)主要模塊
遠(yuǎn)程視頻監(jiān)控系統(tǒng)為軟件系統(tǒng)和硬件系統(tǒng)兩個(gè)部分,其中軟件系統(tǒng)包括在Windows系統(tǒng)上使用軟件Qt開發(fā)的人機(jī)交互界面,第三方的OpenCV庫,硬件系統(tǒng)包括S3C2410板卡,servfox采集工具(使用Linux系統(tǒng)編譯),中星微攝像頭。其整體模塊設(shè)計(jì)框圖如圖1所示:
Qt人機(jī)交互界面在本系統(tǒng)屬于軟件部分,主要是通過Qt設(shè)計(jì)的界面來處理從終端傳過來的視頻圖像。
OpenCV在本系統(tǒng)中也是屬于軟件部分,主要讓Qt導(dǎo)入OpenCV的庫文件,通過OpenCV提供的一些接口在Qt中來實(shí)現(xiàn),這樣就可以順利的顯示從終端傳過來的視頻圖像。
TCP/IP協(xié)議是目前最為流行和常用的網(wǎng)絡(luò)傳輸協(xié)議,在本系統(tǒng)中,通過TCP/IP協(xié)議將系統(tǒng)的軟件部分和硬件部分連接在一起,即將終端采集到的視頻信息通過網(wǎng)線傳遞到客戶端電腦上,只要ping通兩端的網(wǎng)絡(luò)地址即可實(shí)現(xiàn)傳送。
S3C2410板卡在本系統(tǒng)中處于硬件部分,并且也是硬件部分的核心,通過S3C2410板卡的USB端口連接攝像頭,接受攝像頭采集到的視頻信息,將采集到的視頻信息通過網(wǎng)線往外傳送。
servfox在本系統(tǒng)中屬于硬件部分,其主要是通過移植到S3C2410平臺(tái)上,在檢測(cè)到了攝像頭之后,通過指令來啟動(dòng)servfox完成采集視頻信息的任務(wù),而就具體視頻信息在硬件部分交由S3C2410處理。
中星微攝像頭在硬件部分是連接在S3C2410的USB端口,完成視頻畫面采集。
1.2 系統(tǒng)設(shè)計(jì)總體結(jié)構(gòu)
如圖2所示,總體結(jié)構(gòu)上分為終端和客戶端兩大部分,客戶端主要是Qt的人機(jī)交互界面,通過調(diào)用第三方的庫實(shí)現(xiàn)的顯示,而具體的照相,關(guān)閉,開始操作則交給人機(jī)交互界面完成。
在終端最主要的是S3C2410板卡,圍繞板卡連接了中星微攝像頭來采集終端的視頻,通過移植到板卡操作系統(tǒng)中的servfox工具來完成對(duì)視頻流的發(fā)送。終端和客戶端的連接主要是通過網(wǎng)線將其連接,終端發(fā)送視頻信息,客戶端接受視頻信息的同時(shí)進(jìn)行處理,這樣使其成為一個(gè)整體。
2.系統(tǒng)硬件設(shè)計(jì)
2.1 電源接口電路
板卡的電源接口的電路圖如圖3所示:
板卡電源電壓為DC5V,5V電壓通過LDO芯片AS1117-3.3V、AS1117-1.8V分別得到3.3V,1.8V的工作電壓,其中1.8V是供給板卡內(nèi)核使用的。另外1.8V電壓經(jīng)過一個(gè)肖特基二極管后給板卡處理器內(nèi)部RTC供電,RTC電源VCCRTC也引到擴(kuò)展插座,需要的話外部可以接電池。
2.2 USB接口電路
板卡的USB接口的電路圖如圖4所示:
板卡具備一個(gè)USB主口和一個(gè)USB從口,電路中主要是上下拉電阻。USB從口可以檢測(cè)電纜插入動(dòng)作,并可以引起INT10中斷。在本次設(shè)計(jì)中主要是用到了板卡的USB主口來連接攝像頭。
2.3 RS232串口電路
板卡的串口接口的電路圖如圖5所示:
應(yīng)S3C2410的UART0和UART1,用MAX3232芯片做TTL-RS232電平轉(zhuǎn)換。其中UART0對(duì)應(yīng)的RS232串口用DB9插座引出,方便調(diào)試。UART1對(duì)應(yīng)RS232串口從擴(kuò)展插座引出。擴(kuò)展插座上還有UART2(TTL電平)。在本次設(shè)計(jì)中主要是用DB9插座連接到電腦,這樣方便調(diào)試板卡。
2.4 板卡的NandFlash芯片
板卡的NandFlash芯片的原理圖如圖6所示。
K9F1208是三星公司的NandFlash芯片,而S3C2410板卡內(nèi)部具有Nand控制器,所以K9F1208直接和S3C2410連接,并可以從NandFlash引導(dǎo)。
2.5 中星微攝像頭
在終端中選用的是中星微公司生產(chǎn)的ZC301型號(hào)的攝像頭,之所以選擇這款攝像頭,是因?yàn)镾3C2410本來就支持這種型號(hào),不需要再重新配置,只是需要在S3C2410中加載該攝像頭的驅(qū)動(dòng)即可,該驅(qū)動(dòng)在Centos系統(tǒng)中可以找到,具體的目錄是/up-Star2410/kernel/linux-2.6.24.4/drivers/media/video/zc0301,這個(gè)目錄下的zc0301.ko即為驅(qū)動(dòng),將其復(fù)制到S3C2410下,執(zhí)行insmod zc0301.ko即可。
3.系統(tǒng)軟件設(shè)計(jì)
在上文中完整的介紹了系統(tǒng)的整體設(shè)計(jì),但是系統(tǒng)所有的設(shè)計(jì)都需要程序的設(shè)計(jì)來支撐,圖7所示是程序設(shè)計(jì)的流程圖。
4.結(jié)語
本文所介紹的基于S3C2410和Qt的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)方案的設(shè)計(jì)的程序設(shè)計(jì)部分嚴(yán)格按照上圖的流程,在網(wǎng)絡(luò)連接的情況下才可以繼續(xù)進(jìn)行視頻的傳遞,其余的操作主要是集中在人機(jī)交互界面上。方案中設(shè)計(jì)的遠(yuǎn)程監(jiān)控系統(tǒng)不僅可以實(shí)時(shí)顯示終端的視頻狀態(tài),還可以撲捉任意時(shí)刻的圖像并將獲取的圖像實(shí)時(shí)存儲(chǔ)到本地,而且圖像清晰,便于監(jiān)控。并且,還可應(yīng)用到多種場(chǎng)合:工廠的倉庫管理、手機(jī)、PDA等小型或手持型嵌入式設(shè)備。
攝像頭相關(guān)文章:攝像頭原理
評(píng)論