新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式的智能家居監控系統設計

        基于嵌入式的智能家居監控系統設計

        作者: 時間:2010-07-20 來源:網絡 收藏
        隨著信息技術和Internet技術的發展,實現家居網絡化和智能化已經成為當前研究的熱點。具有用戶界面、能遠程控制、智能管理的電器是未來的發展趨勢。在此形勢下,ARM、PowerPC等32位微處理器的出現,使Internet成為現實,傳統PC的Web服務完全可以通過控制器實現。正如早已為人們熟知的“把互聯網帶入生活中”,使用Web技術的家居計算機網絡成為目前網絡發展的一個重要方向。
        PC架構的由于實用性較差已經逐步退出了市場,目前只有一些國外廠商和極少數國內廠商選擇了嵌入式的技術方案。而基于嵌入式系統的家庭智能系統在國內才剛剛出現,隨著嵌入式技術更加廣泛的應用,成本的逐步降低,最終將走向嵌入式[1]。
        經過比較,嵌入式具有明顯的優勢,因此本文選擇嵌入式系統作為智能家居的核心。由于ARM處理器具有體積小、功耗低、成本低、性能高以及Linux開源等優點,本系統選擇三星公司的ARM9處理器S3C2410作為嵌入式處理器,操作系統為Linux。
        1 系統整體模塊
        本系統主要在嵌入式系統上進行視頻監控模塊和遠程電器控制模塊的。嵌入式系統由嵌入式處理器S3C2410和Linux系統組成。視頻監控模塊由Web服務器、視頻服務器和客戶端以及實現通信的通道組成。遠程電器控制模塊在Web服務器上,通過CGI交互,實現對家電的控制。本系統采用模塊化,由嵌入式系統模塊、視頻采集模塊、視頻服務器模塊、視頻客戶端模塊和遠程電器控制模塊組成。系統的整體框架圖如圖1所示。 嵌入式處理器S3C2410是一款基于ARM920T內核的16/32位RISC微處理器。內部帶有全性能的MMU(內存管理單元),它適用于設計移動手持設備類產品,具有性能高、功耗低、接口豐富和體積小等優良特性[2]。

        本文引用地址:http://www.104case.com/article/151722.htm

        2 系統的軟件設計實現
        2.1 圖像采集模塊的實現

        本系統采用USB接口的PC350攝像頭,該攝像頭的后端采用OV511+視頻芯片, 圖像傳感器采用新一代CMOS感光芯片,攝像頭硬件壓縮率超過5:1,非常適合視頻監控的圖像采集[3]。目前Linux內核中已經有支持OV511芯片的驅動,因此無須下載驅動程序。該驅動可以用模塊化的方式加載,也可以編譯進內核,本系統采用編譯進內核的方法。
        在內核加載了OV511攝像頭驅動之后,系統就能識別并支持該攝像頭,再只需編寫視頻采集程序就可工作。視頻采集應用程序的設計通過Linux內核中的Video4Linux實現。
        Video4Linux是Linux中關于視頻設備的內核驅動,它為針對視頻設備的應用程序編程提供了一系列接口函數。在視頻采集中,應用程序首先通過open( )函數打開視頻采集設備并返回一個文件描述符號,這個文件描述符就代表了捕獲的設備硬件。成功開啟設備檔后,調用ioctl( )取的設備文件的相關信息,并且將取得的信息放到video capability結構中,同樣調用ioctl( )將視頻窗口信息放到video picture結構中。視頻設備的關閉通過close( )函數實現。在本系統中,視頻圖像的獲取采用mmap( )的方式共享內存來實現。此方法不必再調用read( )、write( )等操作,不僅進程可以直接讀寫內存,進程通信效率高,而且不需要拷貝任何數據。
        2.2 遠程視頻監控模塊的實現
        視頻監控模塊采用“瀏覽器―服務器”模式,即在采集端構建嵌入式Web服務器,并在Web服務器的基礎上移植視頻服務器webcam,在客戶端利用Java Applet 來接受視頻服務器發送過來的視頻信息。本模塊包括嵌入式Web服務器設計和視頻服務器webcam的移植實現。
        2.2.1 嵌入式Web服務器設計
        嵌入式Web服務器器是指將Web服務器引入到嵌入式系統中,在相應的硬件平臺和軟件系統的支持下,根據應用的需要實現通用的Web服務器的全部或者部分功能。嵌入式Web服務器仍然以TCP/IP協議為底層,在該Web中使用的應用層的通信協議是HTTP協議,通過HTTP協議實現客戶端(一般為瀏覽器)和嵌入式Web服務器的信息交換[4]。
        在嵌入式領域,常用的Web服務器有thttpd和boa,boa目前用的最多。boa是一個非常小巧的Web服務器,可執行代碼只有約60 KB,占用系統資源少,而且速度快、安全性好[5]。目前使用的Linux2.6內核還沒有包含boa代碼,因此需要移植到本系統中。首先從www.boa.org下載boa源代碼(目前最新版本boa-0.94.13),解壓到Linux系統目錄下,用交叉編譯器編譯。這樣在boa-0.94.13/src目錄下生成boa應用程序,把生成的boa應用程序下載到開發板上Linux系統中的/bin目錄下,讓boa在系統啟動時自動運行,這樣在開發板上就移植了boa服務器。
        2.2.2 視頻服務器webcam的移植實現
        視頻信息通過攝像頭采集到的圖像需要通過網絡傳送到另一端,并通過瀏覽器顯示出來,這一過程通過視頻服務器實現。視頻服務器的工作主要是與客戶端建立鏈接,并根據客戶端用戶的指令,調用相應的函數處理客戶端的控制要求。視頻服務器工作流程如圖2所示。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 济南市| 辰溪县| 施秉县| 新宾| 桃园县| 小金县| 吐鲁番市| 桂阳县| 万全县| 五莲县| 呼图壁县| 新竹县| 阿勒泰市| 文水县| 游戏| 澄城县| 凤冈县| 钟山县| 祁阳县| 中阳县| 瑞丽市| 商城县| 宁德市| 红桥区| 平武县| 读书| 秭归县| 台南县| 无为县| 罗甸县| 新和县| 文成县| 崇阳县| 永仁县| 永寿县| 奎屯市| 保亭| 兴业县| 渭源县| 沙雅县| 海晏县|