基于ARM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第1頁
基于ARM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第2頁
基于ARM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第3頁
基于ARM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第4頁
基于ARM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. . . . 分類號密級華中農(nóng)業(yè)大學(xué)楚天學(xué)院本科畢業(yè)論文基于ARM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)Design and Implementation of WEB Remote Video Monitoring System based on ARM學(xué)生:元程學(xué)生學(xué)號:102301048學(xué)生專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) (計(jì)算機(jī)工程方向)指導(dǎo)教師:吳瓊飛華中農(nóng)業(yè)大學(xué)楚天學(xué)院二一四年六月24 / 27目 錄摘 要I關(guān)鍵詞IAbstractIKey wordsI前言11 課題概述11.1 課題研究的意義與背景11.2 國外研究現(xiàn)狀21.3 遠(yuǎn)程視頻監(jiān)控的簡述21.4 課題主要研究的容32 系統(tǒng)的

2、分析設(shè)計(jì)與實(shí)現(xiàn)32.1 系統(tǒng)的流程圖32.2 CGI工作流程42.3 數(shù)據(jù)庫設(shè)計(jì)43 系統(tǒng)的硬件與軟件的設(shè)計(jì)43.1 嵌入式系統(tǒng)的介紹43.2 硬件平臺的介紹43.3 交叉編譯環(huán)境的搭建43.4 BOA服務(wù)器的簡介與搭建53.4.1 BOA服務(wù)器的移植53.4.2 BOA服務(wù)器的配置63.5 SQLite3數(shù)據(jù)庫的簡介與移植73.6 輔助開發(fā)工具84 系統(tǒng)測試85 系統(tǒng)結(jié)果分析與展望15參考文獻(xiàn)16致 16附錄18摘要視頻監(jiān)控是安全防系統(tǒng)的重要組成部分,它是一種防能力較強(qiáng)的綜合系統(tǒng),并以直觀、準(zhǔn)確、與時和信息容豐富而廣泛應(yīng)用于許多場合。嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)是一種以嵌入式技術(shù)、視頻編碼技術(shù)和網(wǎng)

3、絡(luò)傳輸術(shù)為核心的新型視頻監(jiān)控系統(tǒng),它在穩(wěn)定性、實(shí)時性、處理速度、功能、價格擴(kuò)展性等方面和傳統(tǒng)的視頻監(jiān)控系統(tǒng)相比有著突出的優(yōu)勢,同時也代表著目前視頻監(jiān)控系統(tǒng)研究和發(fā)展的方向。本論文首先闡述了嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的發(fā)展、現(xiàn)狀以與整體構(gòu)建,然后介紹了ARM處理器以與嵌入式Linux操作系統(tǒng)的發(fā)展?fàn)顩r,并對如何在ARM硬件平臺上進(jìn)行嵌入式Linux核的裁剪、編譯與移植,介紹了BootLoader的啟動原理與運(yùn)行過程。本文重點(diǎn)討論了圖像的采集、編碼和網(wǎng)絡(luò)通信的設(shè)計(jì)原理與實(shí)現(xiàn),最后對系統(tǒng)進(jìn)行了整體的測試,并提出進(jìn)一步開發(fā)設(shè)想。關(guān)鍵詞視頻監(jiān)控;嵌入式系統(tǒng);網(wǎng)絡(luò)通信;圖像采集;AbstractVideo m

4、onitoring is an important component of the security system, which is an integrated system with strong ability to prevent, and intuitive, accurate, timely and rich information content and is widely applied in many occasions. Embedded network video monitoring system is a new type of video monitoring s

5、ystem based on embedded technology, video coding technology and network transmission technique as the core, the stability, real-time, processing speed, functions, price expansion etc, compared to traditional video surveillance system has prominent advantages, but also represents the current research

6、 and the development direction of video surveillance system.This paper first describes the development of embedded network video monitoring system, as well as the status of the whole construction, then introduced the development status of the ARM processor and embedded Linux operating system, and ho

7、w to carry on the embedded Linux kernel on the ARM hardware platform in cutting, compiling and transplantation, introduces the principle and operation process of BootLoader promoter. This paper focuses on the design and implementation of principles of acquisition, coding and network communication of

8、 the image, finally has carried on the system overall test, and put forward the plan of further development.Key wordsVideo Monitoring; Embedded System; Network Communication; Image Capture;前言隨著現(xiàn)在經(jīng)濟(jì)的發(fā)展,自動化系統(tǒng)也在逐漸普與,自動化系統(tǒng)也開始進(jìn)入工廠、企業(yè)甚至是家庭,很多工廠、企業(yè)都增加了各式各樣的監(jiān)控與控制系統(tǒng),它們能做到每時每刻的反映設(shè)備是否運(yùn)行正常,也為實(shí)現(xiàn)工廠的自動化運(yùn)行提供了很

9、大的便利。不過很多企業(yè)與工廠仍然采用的是傳統(tǒng)的監(jiān)控模式,監(jiān)控系統(tǒng)對現(xiàn)場的實(shí)時畫面監(jiān)控、參數(shù)設(shè)置都只能夠在本地的操作室中進(jìn)行操作,對于生產(chǎn)線上的管理者并不能實(shí)時的了解現(xiàn)場的生產(chǎn)狀況。慢慢隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展與普與,信息傳遞與資源共享都成為了網(wǎng)絡(luò)技術(shù)迅速發(fā)展的強(qiáng)大動力,而如今應(yīng)用程序選用的體系結(jié)構(gòu)首選也是WEB的B/S架構(gòu)。因?yàn)楝F(xiàn)在軟件平臺開放的便利性也使得信息交互領(lǐng)域從工廠的現(xiàn)場各種設(shè)備到控制、管理的每個層次,覆蓋從工廠、車間、工段、企業(yè)甚至是世界各地的市場,為了實(shí)現(xiàn)對系統(tǒng)控制的網(wǎng)絡(luò)化和開放的體系創(chuàng)造了不可缺少的條件。對系統(tǒng)結(jié)構(gòu)的控制也隨著網(wǎng)絡(luò)化的方向發(fā)展,并且控制體系開放性的發(fā)展也將成為控制

10、系統(tǒng)創(chuàng)新的主要路線。1 課題概述1.1 課題研究的意義與背景目前,各個企業(yè)中的信息網(wǎng)絡(luò)已經(jīng)較好的實(shí)現(xiàn)了開放性的策略,控制著網(wǎng)絡(luò)體系結(jié)構(gòu)也沿著開放性的方向發(fā)展,它們都將為控制網(wǎng)絡(luò)的集成與信息網(wǎng)絡(luò)提供了很大程度上的支持。采用集成技術(shù)也能方便的將企業(yè)中的控制網(wǎng)絡(luò)層與部的信息網(wǎng)絡(luò)層集成起來用于實(shí)現(xiàn)信息的交互與數(shù)據(jù)共享,這些已經(jīng)成為了現(xiàn)在控制系統(tǒng)集成的有利發(fā)展方向。隨著Internet/Intranet對社會上各個領(lǐng)域的滲透發(fā)展,給我們提供了一個基于WEB的信息平臺,所以人們也將自己的目光轉(zhuǎn)向了對構(gòu)建Internet的WEB技術(shù)。把控制系統(tǒng)和實(shí)時監(jiān)控系統(tǒng)構(gòu)筑在Internet上,通過網(wǎng)絡(luò)實(shí)現(xiàn)對工業(yè)化生產(chǎn)

11、過程的遠(yuǎn)程實(shí)時監(jiān)控、遠(yuǎn)程實(shí)驗(yàn)、遠(yuǎn)程設(shè)備的故障診斷、遠(yuǎn)程設(shè)備的調(diào)試,將實(shí)驗(yàn)數(shù)據(jù)、實(shí)時生產(chǎn)數(shù)據(jù)、實(shí)時的用戶需求以與ERP系統(tǒng)結(jié)合起來,使得生產(chǎn)不單單是面向訂單的生產(chǎn),而是直接面向市場的電子制造,從而使得企業(yè)能夠滿足全球化經(jīng)濟(jì)的需求,基于ARM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng)就是在這樣的背景下被提出的?;贏RM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控技術(shù)在現(xiàn)在也成為了國外的研究熱點(diǎn)之一,其意義在于:(1)從企業(yè)的管理與生產(chǎn)角度來說,企業(yè)經(jīng)營者與決策者可以實(shí)時的了解企業(yè)與工廠現(xiàn)場設(shè)備的運(yùn)行情況,作為決策的重要參考依據(jù),從而進(jìn)一步的提高決策者對全局掌控的能力以與企業(yè)的管理質(zhì)量。(2)從資源共享的角度來說,將企業(yè)系統(tǒng)的監(jiān)控

12、建立在全球網(wǎng)Internet或者企業(yè)部網(wǎng)Intranet上,統(tǒng)一使用B/S模式,做到真正的局域與遠(yuǎn)程信息的實(shí)時處理與監(jiān)控,對數(shù)據(jù)的綜合共享,進(jìn)一步實(shí)現(xiàn)企業(yè)與企業(yè)之間和公司部的統(tǒng)一的跨平臺的數(shù)據(jù)訪問與人機(jī)交互界面。(3)從企業(yè)使用的角度來說,因?yàn)锽/S架構(gòu)采用的是“瘦客戶端”的模式,從而提高了系統(tǒng)的可拓展性,便與現(xiàn)場維護(hù)。同時,因?yàn)閃EB技術(shù)使用了開放的網(wǎng)絡(luò)傳輸協(xié)議 與TCP/IP,對系統(tǒng)的復(fù)雜性進(jìn)行了簡化,方便了不同的系統(tǒng)互連。(4)從發(fā)展的前景來說,基于B/S架構(gòu)的實(shí)時監(jiān)控系統(tǒng)可以很方便的實(shí)現(xiàn)遠(yuǎn)距離的視頻監(jiān)控,從而也可以廣泛用于各個行業(yè)中,如宇宙作業(yè)、微細(xì)加工、危險作業(yè)等很多工業(yè)現(xiàn)場。在今天

13、,網(wǎng)絡(luò)遍布了全球,很多先進(jìn)的網(wǎng)絡(luò)技術(shù)也是日新月異,在工業(yè)遠(yuǎn)程監(jiān)控中使用網(wǎng)絡(luò)技術(shù)也成為了首選技術(shù)。這樣可以增加企業(yè)的生產(chǎn)效率,提高企業(yè)的競爭力;還能夠在遠(yuǎn)離現(xiàn)場的地方通過監(jiān)控得到現(xiàn)場數(shù)據(jù),對于需要第一時間獲得數(shù)據(jù)的工程是非常重要的;也能對現(xiàn)場進(jìn)行全方位、全天候的實(shí)時監(jiān)控,能夠與時發(fā)現(xiàn)設(shè)備的問題甚至可以做到提前預(yù)測設(shè)備會出現(xiàn)的問題,以確保企業(yè)的生產(chǎn)安全;實(shí)現(xiàn)了WEB監(jiān)控技術(shù)同時也意味著各種異地資源能夠通過網(wǎng)絡(luò)信息交互的方式,實(shí)現(xiàn)資源的共享??偠灾?,WEB視頻監(jiān)控為人們提供了一個更全面、更快捷、更高效、更安全的服務(wù)模式,也改變了以往傳統(tǒng)監(jiān)控模式。對于工業(yè)監(jiān)控系統(tǒng)中的實(shí)時性、分布式和系統(tǒng)可擴(kuò)展性等方

14、面的技術(shù)要求,基于WEB的組態(tài)系統(tǒng)都能滿足,使得它不僅成為了一門計(jì)算機(jī)學(xué)科的重要門類,還是實(shí)現(xiàn)工業(yè)生產(chǎn)提高企業(yè)的經(jīng)濟(jì)效益、優(yōu)質(zhì)高產(chǎn)量、低功耗、自動化的重要技術(shù)手段?;赪EB的實(shí)時監(jiān)控系統(tǒng)對于促進(jìn)產(chǎn)業(yè)的信息化、實(shí)現(xiàn)工業(yè)的現(xiàn)代化、改造傳統(tǒng)產(chǎn)業(yè)都有重要的意義。1.2 國外研究現(xiàn)狀現(xiàn)在的企業(yè)生產(chǎn)已經(jīng)慢慢向分布式、國際化的生產(chǎn)方式靠攏,用戶的需求也使得技術(shù)需要不斷的進(jìn)步。Internet/Intranet將成為實(shí)現(xiàn)分布式生產(chǎn)的基礎(chǔ)。近年來,基于WEB的工業(yè)化信息監(jiān)控也成為了研究熱點(diǎn),無論在研究上,還是應(yīng)用上,都得到了很大的發(fā)展。它具有信息系統(tǒng)的廣泛性與開放性,又具有控制系統(tǒng)的可靠性與實(shí)時性,通過與現(xiàn)場

15、SCADA的連接,企業(yè)部的局域網(wǎng)WEB服務(wù)器也為用戶提供現(xiàn)場歷史與實(shí)時數(shù)據(jù),實(shí)現(xiàn)了監(jiān)控現(xiàn)場運(yùn)行的目的。1993年,美國進(jìn)行了機(jī)器人控制實(shí)驗(yàn),實(shí)現(xiàn)了遠(yuǎn)程分布式控制,的四所大學(xué)與美國國家航空航天局(NASA)Johnson航天中心共同進(jìn)行的。這項(xiàng)實(shí)驗(yàn)通過Internet在Johnson航天中心控制分別處于Texas大學(xué)Austin分校與Texas A&M 大學(xué)的機(jī)器人,并且在Rice大學(xué)和Arlington分校進(jìn)行性能分析與監(jiān)測。1994年,在美國的南加州大學(xué)完成了Mercury項(xiàng)目,這個項(xiàng)目可以讓用戶遠(yuǎn)程的通過WEB瀏覽器來操作一個機(jī)械手對文物進(jìn)行挖掘。1996年,美國麻省North A

16、ndover公司首先使用了Internet與PLC相連,現(xiàn)在很多用戶也從中獲益?;贗nternet,用戶只要使用瀏覽器,便可以通信。雖然用瀏覽器能對控制對象的關(guān)閉和開啟以與過程參數(shù)的設(shè)定,但是瀏覽器并不能用于控制設(shè)備,所以實(shí)際對設(shè)備的控制需要PC機(jī)或者PLC來實(shí)現(xiàn)完成。美國有一家公司叫太平洋科學(xué)儀器公司,使用的設(shè)備控制器系統(tǒng)綜合了過程控制、監(jiān)測、WEB服務(wù)器技術(shù)與傳感器總線,這臺設(shè)備是用于測量半導(dǎo)體部是否存在雜質(zhì),通過WEB網(wǎng)絡(luò)技術(shù)使機(jī)床傳感器與控制器進(jìn)行對話,使用以太網(wǎng)端口與總線進(jìn)行數(shù)據(jù)的傳送,由計(jì)算機(jī)提供原始數(shù)據(jù),并且將生產(chǎn)過程的數(shù)據(jù)與之綜合,以決定統(tǒng)計(jì)過程、控制現(xiàn)場與探測故障控制參數(shù)。

17、在國,有很多的人也在致力于研究WEB監(jiān)控方面的應(yīng)用,國的很多高校對于WEB實(shí)時視頻監(jiān)控技術(shù)也展開了積極的研究。其中華中科技大學(xué)、交通大學(xué)、理工大學(xué)、交通大學(xué)、工業(yè)大學(xué)等的研究成果較為先進(jìn),例如:華中科技大學(xué)研發(fā)出的“汽輪機(jī)工況監(jiān)測和診斷系統(tǒng)”、理工大學(xué)CIMS研究所也擔(dān)任了國防科工委FMS實(shí)驗(yàn)中心的檢測監(jiān)控系統(tǒng)的研制任務(wù),對制造系統(tǒng)中的各個子系統(tǒng)的檢測監(jiān)控技術(shù)進(jìn)行了初步的集成。針對不一樣的行業(yè)需求,為之設(shè)計(jì)針對這個行業(yè)的基于WEB的工業(yè)監(jiān)控方案,并且在實(shí)踐中加以運(yùn)用,從而在這些領(lǐng)域取得良好的效果。這些研究也能很好的將Internet/Intranet技術(shù)與工業(yè)控制系統(tǒng)結(jié)合起來,而且可靠性也在很

18、多實(shí)際應(yīng)用中得到了驗(yàn)證。1.3 遠(yuǎn)程視頻監(jiān)控的簡述遠(yuǎn)程視頻監(jiān)控就是利用計(jì)算機(jī)通過網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)對工業(yè)生產(chǎn)的過程進(jìn)行控制和監(jiān)視。遠(yuǎn)程監(jiān)控系統(tǒng)也就是能夠?qū)崿F(xiàn)遠(yuǎn)程監(jiān)控的計(jì)算機(jī)軟硬件系統(tǒng)。對工業(yè)生產(chǎn)過程中的監(jiān)控信息傳入Internet,在一定條件下,也就能通過Internet查看和控制生產(chǎn)過程與現(xiàn)場設(shè)備的運(yùn)行狀態(tài)與各種參數(shù),控制者也不必到現(xiàn)場,這樣也能省去大量的人力和物力。管理人員也能遠(yuǎn)程的監(jiān)視生產(chǎn)運(yùn)行狀況,根據(jù)需要能夠與時發(fā)送調(diào)度指令,研究部門能夠方便的利用自身的軟硬件資源遠(yuǎn)程的控制對象等。遠(yuǎn)程監(jiān)控系統(tǒng)可以分為如下幾類:現(xiàn)場設(shè)備監(jiān)測與控制系統(tǒng)、遠(yuǎn)距離數(shù)據(jù)傳輸系統(tǒng)、遠(yuǎn)程監(jiān)控終端系統(tǒng)三部分。每個部分分工協(xié)

19、作,一起實(shí)現(xiàn)對設(shè)備遠(yuǎn)程控制。下圖為遠(yuǎn)程監(jiān)控系統(tǒng)。圖1-1 遠(yuǎn)程監(jiān)控系統(tǒng)1.4 課題主要研究的容根據(jù)現(xiàn)有的遠(yuǎn)程實(shí)時視頻監(jiān)控系統(tǒng)的優(yōu)點(diǎn)與缺點(diǎn),本文主要是根據(jù)視頻采集技術(shù)、視頻解碼技術(shù)、TCP/IP網(wǎng)絡(luò)傳輸技術(shù)、數(shù)據(jù)實(shí)時傳輸技術(shù)等基于WEB的遠(yuǎn)程監(jiān)控系統(tǒng)開發(fā)技術(shù)為基礎(chǔ)設(shè)計(jì)的基于ARM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng)。本文實(shí)現(xiàn)了遠(yuǎn)程數(shù)據(jù)的傳輸與采集、數(shù)據(jù)監(jiān)視、數(shù)據(jù)庫的連接于查詢等功能,通過系統(tǒng)運(yùn)行最后驗(yàn)證了并且實(shí)現(xiàn)了基于ARM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng)方案的有效性。2 系統(tǒng)的分析設(shè)計(jì)與實(shí)現(xiàn)為了實(shí)現(xiàn)遠(yuǎn)程監(jiān)控并對其進(jìn)行畫面進(jìn)行監(jiān)控,經(jīng)過各項(xiàng)研究實(shí)現(xiàn)了基于ARM的WEB遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng),隨著該系統(tǒng)的開發(fā)與

20、運(yùn)用,可以實(shí)現(xiàn)對捕捉到的畫面進(jìn)行實(shí)時監(jiān)控,可以實(shí)現(xiàn)不同的用戶登錄,這樣可以方便用戶信息的泄露,其次該系統(tǒng)是基于ARM下進(jìn)行研發(fā)的,所以有成本低,功耗小,功能穩(wěn)定等特點(diǎn),能夠大大的提高該產(chǎn)品的競爭力。該系統(tǒng)主要是對攝像頭所捕捉到的畫面進(jìn)行實(shí)時的監(jiān)控,用戶可以通過登錄自己的賬號來進(jìn)行畫面監(jiān)控。因?yàn)橐曨l監(jiān)控系統(tǒng)在基于網(wǎng)絡(luò)傳輸?shù)幕A(chǔ)上需要實(shí)現(xiàn)大量的數(shù)據(jù)傳輸,需要對畫面進(jìn)行實(shí)時監(jiān)控,所以該系統(tǒng)使用的是嵌入式系統(tǒng)進(jìn)行開發(fā),這樣可以確保系統(tǒng)能夠穩(wěn)定的運(yùn)行,并且能夠盡可能的減少功耗。2.1 系統(tǒng)的流程圖該流程圖為系統(tǒng)流程圖,主要是描述系統(tǒng)整個運(yùn)行過程,包括系統(tǒng)的主要模塊,這樣用戶就能夠通過流程圖查看系統(tǒng)的執(zhí)行

21、過程,對系統(tǒng)也能夠進(jìn)一步的了解。圖2-1 系統(tǒng)流程圖2.2 CGI工作流程圖2-2 CGI工作流程圖2.3 數(shù)據(jù)庫設(shè)計(jì)用戶表:user表2-1 用戶表字段名稱是否主鍵是否為空數(shù)據(jù)類型長度備注id是否int-用戶idusername-否char20用戶名稱password-否char20用戶密碼3 系統(tǒng)的硬件與軟件的設(shè)計(jì)23.1 嵌入式系統(tǒng)的介紹嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。本系統(tǒng)是在Ubuntu 12.04下進(jìn)行開發(fā)的,因?yàn)長inux是完全免費(fèi)的操作系統(tǒng),使用時只需要遵循GPL聲明,而且Linux系統(tǒng)的源代碼

22、都是完全開放的,可以自由的下載,在遵循了GPL聲明的前提下是可以自由的修改和移植的,為系統(tǒng)的開發(fā)與調(diào)試帶來了很大的便利。所以采用了Linux系統(tǒng)進(jìn)行開發(fā)。3.2 硬件平臺的介紹系統(tǒng)采用的是mini2440開發(fā)板,采用的是ARM9的架構(gòu),所以使用的是哈佛結(jié)構(gòu),即程序指令與數(shù)據(jù)是分開存儲的存儲器結(jié)構(gòu)。該開發(fā)板采用的是Samsung s3c2440的微處理器,并且采用了專業(yè)穩(wěn)定的CPU核電源芯片與復(fù)位芯片用于保證系統(tǒng)運(yùn)行時的穩(wěn)定性。3.3 交叉編譯環(huán)境的搭建(1)將已經(jīng)準(zhǔn)備好的交叉編譯環(huán)境的安裝包(arm-linux-gcc-4.4.3.tar.gz)準(zhǔn)備好,把安裝包拷貝到虛擬機(jī)的任意目錄的文件夾下

23、(2)運(yùn)行$ sudo tar zxvf arm-linux-gcc-4.4.3C /opt/FriendlyARM/toolschain 解壓該壓縮包(3)在/usr/local目錄下建立arm路徑$ sudo mkdir /usr/local/arm(4)將/opt/FriendlyARM/toolschain/4.4.3文件夾全部拷貝到/usr/local/arm下$ sudo cp r /opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm(5)修改環(huán)境變量,把交叉編譯器的路徑加入到PATH中$ sudo vi /home/ubuntu/.ba

24、shrc在文件的最后添加如下代碼,然后保存退出:export PATH=$PATH:/usr/local/arm/4.4.3/opt/FriendlyARM/toolschain/4.4.3/bin(6)運(yùn)行,使其環(huán)境變量生效$ sudo source /home/ubuntu/.bashrc(7)然后檢查是否已經(jīng)將環(huán)境變量添加成功$ echo $PATH(8)如果成功,運(yùn)行,查看是否輸出arm-linux-gcc的版本號$ arm-linux-gcc v3.4 BOA服務(wù)器的簡介與搭建BOA是一個非常小巧的WEB服務(wù)器,其可執(zhí)行代碼只有60K左右。它是一個單任務(wù)的WEB服務(wù)器,只能依次完成用

25、戶的請求,而不會fork出新的進(jìn)程處理并發(fā)連接請求。但BOA支持CGI,能夠?yàn)镃GI程序fork出一個進(jìn)程來執(zhí)行。BOA的設(shè)計(jì)目標(biāo)是速度和安全,在其站點(diǎn)公布的性能測試中,BOA的性能要好于Apache服務(wù)器。3.4.1 BOA服務(wù)器的移植(1)解壓源碼$ tar xvf boa-0.94.13.tar(2)進(jìn)入src,然后生成Makefile$ cd boa-0.94.13$ ./configure修改Makefile 修改CC gcc 為 CC arm-linux-gcc修改CPP gcc -E 為 CPP arm-linux-gcc -E(3)安裝詞法和語法分析工具$ sudo apt-g

26、et install bison flex修改src/log.c注釋掉if (dup2(error_log, STDERR_FILENO) = -1)                          DIE("unable to dup2 the error log");    

27、0;              為:/*if (dup2(error_log, STDERR_FILENO) = -1)                          DIE("unable to

28、 dup2 the error log");                   */(4)修改src/boa.c注釋掉下面容:if (passwdbuf = NULL) /* 如果密碼為空,則提示getpwuid */        DIE(”getpwuid”);    &#

29、160;   /* 如果初始化組返回-1,則提示initgroups */        if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) = -1)         DIE(”initgroups”);        為#if 0  &#

30、160;     if (passwdbuf = NULL) /* 如果密碼為空,則提示getpwuid */        DIE(”getpwuid”);                if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid)

31、= -1)         DIE(”initgroups”);               #endif(5)修改src/boa.cif (setuid(0) != -1) /* 設(shè)置uid,如果小于0,則提示錯誤 */            &#

32、160;           DIE(”icky Linux kernel bug!”);        為#if 0         if (setuid(0) != -1) /* 設(shè)置uid,如果小于0,則提示錯誤 */        

33、                DIE(”icky Linux kernel bug!”);               #endif(6)執(zhí)行make出現(xiàn)錯誤:arm-none-linux-gnueabi-gcc -g -O2 -pipe -Wall -I. -c -o util.o s

34、rc/util.csrc/util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing tokenmake: * util.o Error 1 # 去掉其中(./src/compat.h)120行的 ”#” 。(7)給boa“瘦身”$ arm-linux-strip boa3.4.2 BOA服務(wù)器的配置(1)創(chuàng)建目錄,將boa源碼目錄下的boa.conf拷貝到/etc/boa目錄下# mkdir /etc/boa# cp boa.conf /etc/boa

35、修改配置文件boa.conf# vi /etc/boa/boa.confa)user的修改修改 User nobody為 User 0b)Group的修改修改 Group nogroup為 Group 0c)ScriptAlias的修改修改ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/為 ScriptAlias /cgi-bin/ /thesis/cgi-bin/d)DocumentRoot的修改修改DocumentRoot /var/為DocumentRoot /thesis/e)ServerName的設(shè)置修改#ServerName ..her

36、e為 ServerName ..here否則會出現(xiàn)錯誤“gethostbyname:No such file or directory”f)AccessLog修改修改AccessLog /var/log/boa/access_log為# AccessLog /var/log/boa/access_logg)以下配置和boa.conf的配置有關(guān),都是在ARM根文件系統(tǒng)rootfs中創(chuàng)建以下步驟在開發(fā)板上進(jìn)行:創(chuàng)建HTML文檔的主目錄/thesis/# mkdir /thesis/創(chuàng)建CGI腳本所在錄 /thesis/cgi-bin# mkdir /thesis/cgi-bin當(dāng)不

37、能使用cgi 時將# AddType application/x- d-cgi cgi改為AddType application/x- d-cgi cgi(2)BOA服務(wù)器的測試將boa拷貝到開發(fā)板根文件系統(tǒng)的/etc/boa下# cp src/boa /etc/boa將ubuntu下/etc/mime.types拷貝到開發(fā)板根文件系統(tǒng)的/etc下# cp /etc/mime.types /etc將你的主頁index.html拷貝到/thesis/www目錄下進(jìn)入/etc/boa目錄,修改boa的執(zhí)行權(quán)限,#chmod +x boa(3)運(yùn)行boa,然后在主機(jī)游覽器輸入開發(fā)板網(wǎng)址rootFri

38、endlyARM boa# ./boa30/10/2011:19:10:36 +0000 boa: server version Boa/0.94.1330/10/2011:19:10:36 +0000 boa: server built 10 30 2011 at 19:10:3630/10/2011:19:10:36 +0000 boa: starting server pid=968, port 803.5 SQLite3數(shù)據(jù)庫的簡介與移植將準(zhǔn)備好的sqlite-amalgamation-3.7.3.tar解壓到/home/ubuntu/sqlite-3.7.3/下# cd /home/

39、ubuntu/sqlite-3.7.3/# mkdir sqlite_install# ./configure -host=arm-linux -prefix=/home/ubuntu/thesis/sqlite-3.7.3/sqlite3_install# vim Makefile,找到-DPACKAGE_STRING=”sqlite 3.7.3”處,把3.7.3前面的空格和刪除# make# make install(1)將sqlite3“瘦身”$ cd /home/ubuntu/sqlite-3.7.3/sqlite_install/bin$ sudo arm-linux-strip s

40、qlite3(2)將sqlite3拷貝到開發(fā)板的/usr/bin目錄下# cp sqlite3 /usr/bin#chmod +x sqlite3 (添加執(zhí)行權(quán)限)(3)在虛擬機(jī)的目錄下/home/ubuntu/sqlite-3.7.3/sqlite_install/lib中找到libsqlite3.so.0、libsqlite3.so.0.8.6這兩個庫文件,去掉調(diào)試信息后把他們復(fù)制到開發(fā)板的/lib目錄下:$ cd ./lib$ arm-linux-strip libsqlite3.so.0$ arm-linux-strip libsqlite3.so.0.8.6# cp arf libs

41、qlite3.so.0 libsqlite3.so.0.8.6 /lib(因?yàn)閘ibsqlite3.so.0是到libsqlite3.so.0.8.6的,所以拷貝時需要加-arf)3.6 輔助開發(fā)工具(1)SecureCRT是一款支持SSH的終端仿真程序,可以讓用戶在Windows下登錄UNIX或Linux服務(wù)器主機(jī)的軟件,該系統(tǒng)主要用該軟件登錄開發(fā)板的系統(tǒng)。(2)Adobe Dreamweaver CS5在系統(tǒng)中用于網(wǎng)頁的制作4 系統(tǒng)測試(1)修改開發(fā)板IP,虛擬機(jī)IP,PC機(jī)IP確保在同一個網(wǎng)段PC機(jī):虛擬機(jī):開發(fā)板:192.168.13

42、7.28然后使用ping命令對開發(fā)板,虛擬機(jī),PC機(jī)IP進(jìn)行測試,查看是否已經(jīng)連接。(2)啟動開發(fā)板的程序腳本start.sh(代碼見附錄)# chmod +x start.sh# ./start.sh(3)在PC機(jī)的瀏覽器中輸入開發(fā)板的IP登錄服務(wù)器8,出現(xiàn)如下畫面:圖4-1 登錄頁面(index.html)(4)輸入錯誤的用戶名和密碼后出現(xiàn)如下畫面,用戶沒有輸入用戶名,或者用戶名輸入錯誤,密碼填寫錯誤都會導(dǎo)致下面的錯誤圖4-2 用戶名或密碼錯誤a)圖4-3 用戶名或密碼錯誤b)(5)用戶成功輸入正確的用戶名和密碼后,對數(shù)據(jù)庫信息進(jìn)行匹配,如果匹配成功,則登錄成功,自

43、動跳轉(zhuǎn)到監(jiān)控畫面:圖4-4 用戶名與密碼正確圖4-5 監(jiān)控畫面(camera.html)(6)用戶名如果不存在,用戶可以進(jìn)入注冊頁面進(jìn)行注冊,下面是用戶注冊頁面圖4-6 注冊頁面(register.html)(7)用戶注冊時,如果用戶兩次輸入的密碼不一致,則會提示如下的錯誤圖4-7 兩次密碼不一致a)圖4-8 兩次密碼不一致b)(8)用戶成功輸入數(shù)據(jù)庫中不存在的用戶名,并且兩次密碼輸入正確,則用戶注冊成功,提示如下畫面,并能夠使用新注冊的用戶名登陸系統(tǒng)圖4-9 注冊成功a)圖4-10 注冊成功b)(9)用戶注冊時,如果注冊的新用戶已經(jīng)存在,系統(tǒng)就不會注冊該用戶,則系統(tǒng)會提示出錯,用戶注冊失敗圖

44、4-11 用戶已存在a)圖4-12 用戶已存在b)(10)注冊新用戶時,如果輸入的用戶名為空,此時也會注冊失敗,并給出提示用戶名為空圖4-13 用戶名為空a)圖4-14 用戶名為空b)(11)注冊新用戶時,如果沒有輸入密碼,則系統(tǒng)會提示密碼為空圖4-15 密碼為空a)圖4-16 密碼為空b)(12)查詢數(shù)據(jù)庫,下面的截圖為數(shù)據(jù)庫中數(shù)據(jù)的截圖圖4-17 數(shù)據(jù)庫截圖(13)手機(jī)瀏覽器查看監(jiān)控,同樣是在手機(jī)瀏覽器中輸入開發(fā)板的IP登錄服務(wù)器8,并可以看到系統(tǒng)的登錄頁面圖4-18 手機(jī)登陸頁面圖4-19 手機(jī)監(jiān)控頁面5 系統(tǒng)結(jié)果分析與展望經(jīng)過了這么長時間的學(xué)習(xí)與努力,我也順利的

45、完成了畢業(yè)設(shè)計(jì)的制作,剛開始拿到畢業(yè)設(shè)計(jì)的題目的時候并不知道如何下手,后來在網(wǎng)上與圖書館查閱了相關(guān)的資料,慢慢的開始對畢業(yè)設(shè)計(jì)進(jìn)行分析與研究,然后完成了開題報告與任務(wù)書。因?yàn)榇髮W(xué)四年對于理論知識的學(xué)習(xí)還是占據(jù)主要地位,所以動手能力相對來說相對差一點(diǎn),后來通過自己的努力與老師的幫助,我的動手能力也逐漸的加強(qiáng)了。首先,在制作HTML網(wǎng)頁時,因?yàn)閷TML語言接觸的并不多,所以還不知道怎么靈活運(yùn)用,然后通過網(wǎng)上的一些資料,才勉強(qiáng)做出了系統(tǒng)的兩個主要網(wǎng)頁。其次就是CGI的學(xué)習(xí),CGI接觸的并不多,但是通過學(xué)習(xí)發(fā)現(xiàn)CGI其本質(zhì)上和C語言小異,很多語法結(jié)構(gòu),思想上都是想通的,所以上手并沒有遇到太大的難題,

46、主要就是CGI的一些API函數(shù)的調(diào)用上出現(xiàn)了一些傳參錯誤的小問題,最后就是移植BOA服務(wù)器與SQLite3數(shù)據(jù)庫時遇到的問題,因?yàn)樽霎厴I(yè)設(shè)計(jì)前接觸過BOA服務(wù)器與SQLite3,所以在移植與使用時,并沒有遇到什么瓶頸。在系統(tǒng)運(yùn)行時出現(xiàn)了一些意想不到的問題,剛開始不知道怎么解決,后來在老師的幫助下才發(fā)現(xiàn)一些配置文件出錯了,將這些問題解決后,我的畢業(yè)設(shè)計(jì)也順利的完成了。通過做畢業(yè)設(shè)計(jì)發(fā)現(xiàn),我們無論做什么事情都需要循序漸進(jìn),不要太急于求成,遇到問題時也需要我們耐心的去處理,面對自己不懂的知識時我們需要停下自己的腳步去學(xué)習(xí)這些新的知識,只有當(dāng)我們掌握了之后,才會讓我們做事情事半功倍。系統(tǒng)完成后因?yàn)楦鞣?/p>

47、面原因,所以系統(tǒng)還并不完善,現(xiàn)在還只能實(shí)現(xiàn)一個用戶的登錄與視頻監(jiān)控,在以后通過知識面的拓展,也能給系統(tǒng)添加一些額外的功能,如:畫面的捕捉抓拍,用戶的注冊,歷史照片的查詢等,并能將這個系統(tǒng)逐漸完善。參考文獻(xiàn)1 畢厚杰.新一代視頻壓縮編碼標(biāo)準(zhǔn)-H.264/AVC.:人民郵電,20052 王憲,井權(quán),戴旻.基于ARM平臺的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的研究.微計(jì)算機(jī)信息,2007;178-180 3 小京,易志華.基于GPRS的無線視頻監(jiān)控系統(tǒng).國外電子元器件,2007;5;18-224韋東山.嵌入式Linux應(yīng)用程序開發(fā)完全手冊.:人民郵電,20085 王彥杰,鄧記才,玖玲.H.264運(yùn)動估計(jì)算法優(yōu)化研究.信

48、息化研究,2009,35(1);29-326 鳥哥.鳥哥的Linux私房菜:服務(wù)器架設(shè)篇(第二版).:機(jī)械工業(yè),20087 郭妍.基于MPEG-4視頻監(jiān)控系統(tǒng)的研究和實(shí)現(xiàn).:科技大學(xué),2009;4-208 華鵬.嵌入式移動視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)工程與設(shè)計(jì),2007;28(12);2898-29019 臘元,春林.計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)M.:國防工業(yè),2001,60-91.10王建新,世鳳,史永江,童官軍.遠(yuǎn)程監(jiān)控技術(shù)的發(fā)展現(xiàn)狀和趨勢J.國外電子測量技術(shù),2005 (4):9-1211吳鋒,成鐵,何風(fēng)行等.基于Web技術(shù)的遠(yuǎn)程監(jiān)控系統(tǒng)研究J;儀器儀表學(xué)報,200512覃國榮.基于B/S架構(gòu)的軟

49、件項(xiàng)目實(shí)訓(xùn)M.2004年8月第1版.;電子工業(yè)13景安.基于B/S模式數(shù)據(jù)監(jiān)控系統(tǒng)的研究與應(yīng)用D.:化工大學(xué)碩士論文,200114麟,蔡翔云,慶等.開發(fā)基Web技術(shù)的工業(yè)信息遠(yuǎn)程實(shí)時監(jiān)控系統(tǒng)J.計(jì)算機(jī)應(yīng)用研究,200015 王強(qiáng).遠(yuǎn)程監(jiān)控系統(tǒng)的應(yīng)用與研究D.:河海大學(xué),200316 尉學(xué)軍,躍.基于Web的B/S結(jié)構(gòu)實(shí)時監(jiān)控系統(tǒng)J.工業(yè)大學(xué)學(xué)報,2002,31(5):62-6317 飛.基于WEB的遠(yuǎn)程監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)D.:大學(xué),200718 Stipanicev D, Marasovie J. Networked Embedded Greenhouse Monitoring and Co

50、ntrol.Proceedings of 2003 IEEE Conference on Control Applications, Istanbul, 2003:1350-135519 Yang H T, Eagleson R.Design and Implementation of an Internet-based Embedded Control System. Proceedings of 2003 IEEE Conference on Control Applications, Istanbul, 2003, 2:1181-118520 Alan Cox.Video4Linux P

51、rogramming.alanredhat. 2000.21 Hassan A Artail,Mackram Raydan.Device-aware desktop web page transformation for rendering on handheldsJ.Personal and Ubiquitous Computing,2005,9(6):101-11622 Alessandro Rubini, Jonathan Corbet. Linux Device Drivers, ThirdEditionM.OReilly,2006,100-380. 23 Douglas E er.計(jì)

52、算機(jī)網(wǎng)絡(luò)與因特網(wǎng)(第三版)(影印版)M.:清華大學(xué)出版社,1998,50-8024 W.Richard Stevens,Bill Fenner,Andrew M,Rudoff.UNIX NetworkProgramming,Volum1:The Sockets Networking API,3EM.TSINGHUA UNIVERSITY PRESS 2006.25 RFC致 轉(zhuǎn)眼間大學(xué)四年的生活也將畫上一個圓滿的句號,我們也將離開這個生活了四年的校園,對于即將進(jìn)入社會的我們,外面的一切都充滿的誘惑,回憶這四年的大學(xué)生活,自己也感觸頗多。在從拿到自己的畢業(yè)設(shè)計(jì)題目到現(xiàn)在畢業(yè)論文的完成,我要感我的

53、指導(dǎo)老師吳老師,剛剛拿到這個論文題目時并不知道如何下手去做,老師就給我進(jìn)行了詳細(xì)的說明,當(dāng)我遇到問題時,老師也能夠與時的幫助我們解決,偶爾也會給我們提供一些學(xué)習(xí)的和學(xué)習(xí)資料,讓我們在課外也學(xué)習(xí)到了很多的知識。通過畢業(yè)設(shè)計(jì),也讓我鞏固了一遍大學(xué)四年自己所學(xué)習(xí)的知識,增強(qiáng)了自己的動手能力,以與查閱資料的能力,最后還是感我在做畢業(yè)設(shè)計(jì)時對我?guī)椭乃腥?,因?yàn)橛兴麄兊膸椭也拍軌蝽樌耐瓿勺约旱漠厴I(yè)設(shè)計(jì),并讓我在做畢業(yè)設(shè)計(jì)時學(xué)習(xí)到了那么多自己不懂的知識。附錄:執(zhí)行腳本(start.sh):#!/bin/bashcd /etc/boa./boacd /mjpg-streamer/./start_s3c2

54、410.sh編譯文件(Makefile):CC:= arm-linux-gccCFLAGS:= -Wall -O2OBJS:= login.cgi register.cgiall:$(OBJS)login.cgi:login.c sqlite3.c cgic.c$(CC) $(CFLAGS) -o $ $ -lpthread -ldlregister.cgi:register.c sqlite3.c cgic.c$(CC) $(CFLAGS) -o $ $ -lpthread -ldlclean:-rm $(OBJS)登錄操作(login.cgi):#include "./inclu

55、de/sqlite3.h"#include "./include/head.h"#define BUFF_SIZE128#define DB_NAME"./user.db"#define BUFF_MAX 1024#define error_handler(Mesg)doprintf("error: %sn", Mesg);exit(EXIT_FAILURE);while(0);char userBUFF_SIZE; /存儲用戶名char passwdBUFF_SIZE; /存儲密碼int cgiMain()sqlite3

56、*mydb = NULL; /數(shù)據(jù)庫指針char *errmesg; /錯誤信息指針的地址 char sqlBUFF_MAX = 0; /用于存放sql執(zhí)行語句 char *dbresult; /用于指向那個數(shù)據(jù)庫結(jié)果的指針 int nrow; /滿足條件的記錄的數(shù)目 int ncolumn; /每條記錄包含的字段數(shù)目cgiHeaderContentType("text/html");cgiFormString("username", user, BUFF_SIZE); /獲取控件的容cgiFormString("passwd", p

57、asswd, BUFF_SIZE); /連接數(shù)據(jù)庫if ( SQLITE_OK != sqlite3_open(DB_NAME, &mydb)error_handler("sqlite3_open"); /查詢數(shù)據(jù)庫信息 sprintf(sql, "select * from user where username = '%s' and password = '%s'", user, passwd);if (0 != sqlite3_get_table(mydb, sql, &dbresult, &

58、nrow, &ncolumn, &errmesg) error_handler(errmesg); /如果數(shù)據(jù)庫中查找不到記錄,給出提示 if (0 = nrow) fprintf(cgiOut, "<script type="text/javascript">");fprintf(cgiOut, "alert("The username or password error!")");fprintf(cgiOut, "</script>");fprintf

59、(cgiOut, "<meta -equiv="refresh"content="0;url=./index.html">"); else fprintf(cgiOut, "<meta -equiv="refresh"content="0;url=./camera.html">"); /注銷結(jié)果集sqlite3_free_table(dbresult); /關(guān)閉數(shù)據(jù)庫if (SQLITE_OK != sqlite3_close(mydb)error_handler("close");return 0;注冊操作(register.cgi):#include "./include/sqlite3.h"#include "./include/head.h"#define BUFF_SIZE128#define DB_NAME&q

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論