嵌入式課程設(shè)計---基于web的視頻遠(yuǎn)程監(jiān)控設(shè)計_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  嵌入式課程設(shè)計實驗報告書</p><p>  設(shè)計題目:遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)設(shè)計</p><p><b>  遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控</b></p><p><b>  1 引 言</b></p><p>  嵌入式系統(tǒng)課程設(shè)計是本專業(yè)在學(xué)習(xí)完 C 語言、LINUX 操作系統(tǒng)、嵌入式

2、系統(tǒng)原理與接口設(shè)計、嵌入式操作系統(tǒng)原理之后的專業(yè)課程設(shè)計,屬于專業(yè)課內(nèi)容。通過課程設(shè)計建立嵌入式系統(tǒng)主體環(huán)節(jié),嵌入式系統(tǒng)的最小結(jié)構(gòu)和系統(tǒng)應(yīng)用設(shè)計基本技能,培養(yǎng)分析和解決一些簡單的實際問題的能力,為今后畢業(yè)設(shè)計奠定基礎(chǔ)。隨著嵌入式技術(shù)的發(fā)展和高速寬帶網(wǎng)絡(luò)的普及, 利用網(wǎng)絡(luò)實現(xiàn)遠(yuǎn)程監(jiān)控已為人們廣泛接受, 嵌入式網(wǎng)絡(luò)監(jiān)控技術(shù)正是在此條件下逐步發(fā)展成熟起來的。 用戶使用 Web 瀏覽器, 通過以太網(wǎng)遠(yuǎn)程訪問內(nèi)置 Web 服務(wù)器的監(jiān)控攝像機(jī), 不

3、但可以實現(xiàn)對現(xiàn)場的遠(yuǎn)程視頻監(jiān)控, 而且可以向監(jiān)控現(xiàn)場發(fā)送指令。 在整個系統(tǒng)的實現(xiàn)過程中, 嵌入式 Web 服務(wù)器起著十分重要的作用。本課題就是基于該項技術(shù),最終編程實現(xiàn)通過網(wǎng)絡(luò)控制下位機(jī)嵌入式控制器的電機(jī)啟動和停止。</p><p>  1.1研究目的和意義</p><p>  1、通過嵌入式課程設(shè)計,熟練掌握 C 語言的編程方法。基于 WEB 的遠(yuǎn)程監(jiān)控的實現(xiàn),CGI 的編寫和使用,將理

4、論聯(lián)系到實踐中去,提高我們的動腦和動手的能力。</p><p>  2、通過基于 WEB 的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計,掌握 S3C2410 實驗箱,直流電機(jī)的工作原理,BOA 服務(wù)器的使用,CGI 的使用和簡單程序的編寫及調(diào)試方法,最終提高我們的動手實踐能力。</p><p>  3、本課題的研究目的是用 BOA 服務(wù)器、CGI、IE 瀏覽器設(shè)計一個通過 IE 瀏覽器監(jiān)控電機(jī)的系統(tǒng),能夠通

5、過兩個簡單的按鍵對電機(jī)進(jìn)行啟動和停止的控制,并能夠在 IE 瀏覽器上看到電機(jī)的當(dāng)前狀態(tài)。</p><p>  4、由于基于 WEB 的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)將成為今后遠(yuǎn)程監(jiān)控技術(shù)發(fā)展的主流方向,所以需要設(shè)計出簡單實用,讓人們更滿意的產(chǎn)品。</p><p>  1.2 本設(shè)計任務(wù)和主要內(nèi)容</p><p><b>  1.基本要求</b></p

6、><p>  本課題主要設(shè)計和研究基于WEB的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng),要求在遠(yuǎn)程WEB上能看到本地監(jiān)控攝像頭所采集的實時圖像。</p><p><b>  2.應(yīng)解決的問題</b></p><p>  1)設(shè)計系統(tǒng)網(wǎng)絡(luò)方案</p><p>  2)分析網(wǎng)絡(luò)程序結(jié)構(gòu)和應(yīng)用程序的使用方法</p><p>  

7、3)編程實現(xiàn)嵌入式系統(tǒng)服務(wù)器功能</p><p>  4)編程實現(xiàn)嵌入式系統(tǒng)聯(lián)網(wǎng)功能</p><p><b>  2實驗設(shè)備及工具:</b></p><p>  硬件:UP-NETARM2410-S嵌入式實驗儀、PC機(jī)pentumn500以上、硬盤40G以上、內(nèi)存大于256M,130萬高清攝像頭.。</p><p>  

8、軟件:PC機(jī)操作系統(tǒng)REDHAT LINUX 9.0 、MINICOM 、AMRLINUX開發(fā)環(huán)境。</p><p>  UP-NETARM2410-S嵌入式實驗儀</p><p>  嵌入式Linux 開發(fā)平臺簡介</p><p>  Linux價格低廉、功能強(qiáng)大,可以運行在X86,Alpha,Sparc,MIPS,PPC,MOTOROLA,NEC,ARM等硬件平

9、臺上,而且開放源代碼,可以定制。我們所介紹的硬件平臺是基于ARM體系結(jié)構(gòu),由北京博創(chuàng)興業(yè)科技有限公司開發(fā)的UP-NetARM3000、UP-NetARM2410 系列以及UP-TECHPXA270 系列實驗儀器。UP-NetARM3000 的CPU為ARM7TDMI內(nèi)核的三星S3C44B0X01 芯片,由于沒有MMU(內(nèi)存管理單元)只能運行uClinux,UP-NetARM2410 系列的CPU為ARM920T內(nèi)核的三星S3c2410

10、芯片,由于有MMU可以運行標(biāo)準(zhǔn)的ARM-LINUX內(nèi)核。UP-TECHPXA270 系列實驗儀器為Intel PXA ARM10 系列CPU。通過這些硬件平臺,我們可以學(xué)習(xí)嵌入式LINUX中的針對有MMU和無MMU的不同開發(fā)過程。UP-NetARM3000 和UP-TECHPXA270 系列產(chǎn)品及其相關(guān)資料可以訪問博創(chuàng)公司的網(wǎng)站www.up-tech.com獲得。本書以UP-NetARM2410 系列中的經(jīng)典版UP-TECH </

11、p><p><b>  3實驗內(nèi)容:</b></p><p>  基于UP-NETARM2410-S嵌入式實驗儀平臺,在ARM-Linux 系統(tǒng)下,實現(xiàn)嵌入式WEB服務(wù)器BOA 和視頻服務(wù)器SPCASERV 搭建視頻監(jiān)控系統(tǒng)。</p><p><b>  4實驗步驟:</b></p><p>  4.1

12、、移植 BOA 服務(wù)器</p><p>  打開虛擬機(jī),啟動linux。</p><p>  新建終端,輸入minicom啟動實驗箱</p><p>  Minicom啟動圖</p><p>  設(shè)置ip并且在minicom下ping通主機(jī)</p><p>  實驗用主機(jī)IP :192.168.0.100</p&

13、gt;<p>  開發(fā)板IP: 192.168.0.122</p><p>  手動創(chuàng)建本實驗?zāi)夸沨xq(創(chuàng)建在Linux 系統(tǒng)的/mnt/yaffs/ 目錄下)</p><p>  [/mnt/yaffs/]# mkdir hxq</p><p>  我們的光盤中提供了boa 的源代碼,叫做boa-0.94.13.tar.gz。首先解壓該文件至實驗?zāi)?/p>

14、錄下:</p><p>  # tar xzvf boa-0.94.13.tar.gz</p><p>  然后進(jìn)入源代碼目錄:</p><p>  # cd boa-0.94.13/src</p><p>  修改文件compat.h 的第120 行:</p><p>  # vi compat.h</p>

15、;<p>  修改后,第120 行的內(nèi)容如下:</p><p>  #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff</p><p>  即只是去掉了該行的兩個’##’字符。</p><p>  然后修改 boa.c:</p><p>  # vi boa.c</p>&

16、lt;p>  找到該文件的225~227 行,注釋掉這幾行,不然運行的時候會出錯。</p><p>  源文件的修改就完成了,現(xiàn)在開始編譯。</p><p>  首先,運行 configure 程序?qū)υ次募M(jìn)行配置:</p><p>  # ./configure</p><p>  配置完成后,修改Makefile:</p>

17、;<p>  # vi Makefile</p><p>  修改第31 行和32 行如下:</p><p>  CC = arm-linux-gcc</p><p>  CPP = arm-linux-gcc -E</p><p>  修改完成后,保存文件,運行Make 進(jìn)行編譯:</p><p>&l

18、t;b>  # make</b></p><p>  編譯完成后,會在該目錄下生成我們需要的可執(zhí)行文件boa。</p><p>  4.2、配置 BOA 服務(wù)器</p><p>  Boa 運行時需要在文件系統(tǒng)的/etc/boa 目錄下有一個boa.conf 文件,該文件的全部內(nèi)容如下:</p><p><b> 

19、 Port 80</b></p><p>  #Listen 192.68.0.5</p><p><b>  User root</b></p><p><b>  Group 0</b></p><p>  ErrorLog /var/log/boa/error_log</p&

20、gt;<p>  AccessLog /dev/null</p><p>  ServerName www.your.org.here</p><p>  DocumentRoot /var/www</p><p>  DirectoryIndex index.html</p><p>  KeepAliveMax 1000&l

21、t;/p><p>  KeepAliveTimeout 10</p><p>  MimeTypes /etc/mime.types</p><p>  DefaultType text/plain</p><p>  CGIPath /bin:/usr/bin:/usr/local/bin</p><p>  AddTy

22、pe application/x-httpd-cgi cgi</p><p>  ScriptAlias /cgi-bin/ /var/www/cgi-bin/</p><p>  另外,在/etc 目錄下還需要一個mime.types 文件,可以直接從宿主機(jī)上的/etc 目錄拷貝過來到ARM 系統(tǒng)的根文件系統(tǒng)的/etc 目錄下。此步驟需要ARM 系統(tǒng)配套的根文件系統(tǒng)的源碼。</p&

23、gt;<p>  運行時需要的目錄如下:</p><p>  /var/www 這個是我們的html 文件存放的目錄</p><p>  /var/www/cgi-bin 這個是CGI 程序存放的目錄</p><p>  /var/log/boa/error_log 這個是boa 服務(wù)器存放錯誤日志的地方</p><p>  實

24、際UP-NETARM2410-S嵌入式實驗儀的根文件系統(tǒng)中已經(jīng)將boa 服務(wù)器和該服務(wù)器運行需要的文件和目錄設(shè)置好,以上步驟僅供用戶參考,可以略過。</p><p>  燒寫有boa配置文件的根文件系統(tǒng)</p><p>  制作根文件系統(tǒng):mkcramfs root root.cramfs</p><p>  燒寫根文件系統(tǒng)用超級終端,進(jìn)入vivi</p>

25、;<p>  vivi>load flash root x 回車當(dāng)出現(xiàn)Ready for downloading using xmodem...Waiting......點擊超級終端任務(wù)欄上“傳送”下拉菜單中的“發(fā)送文件”,選擇好鏡像文件root.cramfs,協(xié)議為Xmodem,點擊“發(fā)送" ,等待root.cramfs 燒寫完畢;</p><p>  Root燒寫示例圖1

26、</p><p>  Root燒寫示例圖1</p><p>  4.3、移植視頻服務(wù)器 SPCASERV</p><p>  1) 從 http://mxhaard.free.fr/spca50x/Download 下載spcaview 源碼,或直接使用本實驗提供源碼,將其解</p><p><b>  壓并進(jìn)入源碼目錄。</

27、b></p><p>  [root@vm-dev webcam]# tar -vxzf spcaview-20061208.tar.gz</p><p>  2) 進(jìn)入解壓后源文件目錄,修改 Makefile 文件</p><p>  [root@vm-dev webcam]# cd spcaview-20061208</p><p>

28、;  修改CC、CPP 編譯器宏指定為自己的交叉編譯器,并將大約62 行處</p><p>  gcc $(SERVFLAGS) –O spcaserv $(OBJSERVER) $(SERVLIBS)</p><p><b>  修改改為</b></p><p>  $(CC) $(SERVFLAGS) –O spcaserv $(OBJSE

29、RVER) $(SERVLIBS)</p><p>  如下所示:注意$(CC)前面邊距為TAB 制表符間距。</p><p>  [root@vm-dev spcaview-20061208]# vi Makefile</p><p>  CC=arm-linux-gcc</p><p>  CPP= arm-linux-g++</p

30、><p>  Spcaserv:$(OBJSERVER)</p><p>  $(CC) $(SERVFLAGS) –O spcaserv $(OBJSERVER) $(SERVLIBS)</p><p>  3) 保存并退出,編譯程序</p><p>  [root@vm-dev spcaview-20061208]# make spcaser

31、v</p><p>  編譯成功,會在當(dāng)前目錄下生成視頻服務(wù)器 spcaserv</p><p>  4) 將 spcaview-20061208 文件夾中的http-java-applet 文件夾的內(nèi)容(不是目錄)拷貝到ARM 系統(tǒng)端的/var/www/目錄下,將生成的spcaserv 下載到開發(fā)板上。</p><p>  4.4、掛載boa和servfox<

32、;/p><p><b>  設(shè)置網(wǎng)絡(luò)服務(wù)</b></p><p><b>  取消防火墻</b></p><p><b>  選中NFS</b></p><p><b>  NFS配置圖</b></p><p><b>  設(shè)

33、置共享文件夾</b></p><p>  掛載命令: mount –t nfs –o intr,nolock,rsize=1024,wsize=1024 虛擬機(jī)IP:/arm2410cl /mnt/nfs</p><p>  在var下創(chuàng)建boa的目錄文件</p><p>  將 spcaview-20061208 文件夾中的http-java-appl

34、et 文件夾的內(nèi)容(不是目錄)拷貝到ARM 系統(tǒng)端的/var/www</p><p>  /var/www/目錄下,將生成的servfox 下載到開發(fā)板上</p><p>  /var/www 這個是我們的html 文件存放的目錄</p><p>  /var/www/cgi-bin 這個是CGI 程序存放的目錄</p><p>  /var

35、/log/boa/error_log 這個是boa 服務(wù)器存放錯誤日志的地方</p><p><b>  實驗截圖:</b></p><p>  4.5掛載攝像頭驅(qū)動</p><p>  此時便可以在試驗箱觸摸屏上看到攝像頭所采集的實時圖像</p><p><b>  實時圖像1</b></p

36、><p>  4.6、建立設(shè)備節(jié)點</p><p>  輸入命令:mknod /dev/video0 c 81 0</p><p><b>  4.7、運行boa</b></p><p>  輸入命令:./boa,輸入ps查看boa是否運行成功</p><p>  4.8、運行servfox</

37、p><p>  輸入命令:./servfox –g –d /dev/video0 –s 640x480 –w 7070</p><p>  到此開發(fā)板上所需服務(wù)器建立運行完畢,下面進(jìn)行瀏覽器端測試。</p><p>  5、WEB客戶端測試</p><p>  打開瀏覽器192.168.0.121(主機(jī)上必須安裝java運行環(huán)境才能運行,實驗用電

38、腦已安裝Java環(huán)境,這里就不再累述,沒有的話請自主下載安裝。)</p><p><b>  測試結(jié)果:</b></p><p><b>  實時圖像2</b></p><p><b>  實時圖像3</b></p><p><b>  6 、設(shè)計總結(jié)</b&g

39、t;</p><p>  經(jīng)過一周的學(xué)習(xí)與努力,經(jīng)過系統(tǒng)分析、方案論證、 查找資料,進(jìn)行設(shè)計、 調(diào)試 等階段完成了基于 web 的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)課程設(shè)計的制作。在這一個周的課程設(shè)計中,我們這一組得到了老師和同學(xué)很大的幫助,有時候覺得進(jìn)行不下去了,老師或同學(xué)一句話就能讓我茅塞頓開。即使聽不懂,他們也會耐心的講解。</p><p>  在系統(tǒng)的設(shè)計制作過程中,確實遇到了各種各樣的問題,如調(diào)

40、試思路正確但是沒有能夠進(jìn)行找到合適的方法進(jìn)行進(jìn)一步的實驗,設(shè)計中對于程序的編寫以及目錄結(jié)構(gòu)的認(rèn)知上存在偏差,其主要原因還是基礎(chǔ)功不扎實,把握系統(tǒng)的能力不足,這為我們以后的學(xué)習(xí)和工作提了一個醒。在問題的解決過程中,也提高了組員的動手動腦能力,學(xué)到了許多在書本上學(xué)不到的知識。在具體的設(shè)計當(dāng)中解決了諸如 熟悉了UP-NETARM2410-S嵌入式實驗儀平臺和Linux系統(tǒng)下的命令,C 程序的修改及boa servfox服務(wù)器的搭建、配置,程序

41、的調(diào)試和系統(tǒng)的整體認(rèn)識等問題,小組成員收獲很大。在整個課程設(shè)計過程中,張明老師時時督促和引導(dǎo),并在設(shè)計過程中進(jìn)行了方向指導(dǎo),在總體方向不出錯的基礎(chǔ)上,施展自己的所學(xué),發(fā)揮個人的所長。他不僅在學(xué)習(xí)上和生活上給予了我們多方面的指導(dǎo)和無微不至的關(guān)懷,而且他淵博的學(xué)識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、孜孜不倦的工作作風(fēng)和寬以待人的處事風(fēng)格使我終身受益,并且還從中學(xué)會了分析問題和解決問題的方法此外,在本次設(shè)計過程中,還得到了其他老師的熱情關(guān)心和幫助,在此僅代表我

42、們?nèi)M向張明老師表示崇高的敬意和最誠摯的謝意。</p><p><b>  7、參考文獻(xiàn)</b></p><p>  [1]鄭靈翔編著 《嵌入式 LINUX 系統(tǒng)設(shè)計》 北京航空航天大學(xué) 2008 年</p><p>  [2]孫紀(jì)坤、張小全編著 《嵌入式 LINUX 系統(tǒng)開發(fā)技術(shù)詳解-基于 ARM》人民郵電出版社 2007.9、</p&

43、gt;<p>  [3]王進(jìn)德 編著 《嵌入式 LINUX 程序設(shè)計與應(yīng)用案例》 中國電力出版社 2007.5</p><p>  [4]魏洪興等編著 《嵌入式系統(tǒng)設(shè)計與實例開發(fā) II-基于 ARM9 微處理器與 LINUX 操作系統(tǒng)》 清華大學(xué)出版社 2005.12</p><p>  [5]魏洪興等編著 《嵌入式系統(tǒng)設(shè)計與實例開發(fā)實驗教材 II-基于 ARM9 微處理器與

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論