新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 智能家居遠程監控系統的設計及實現

        智能家居遠程監控系統的設計及實現

        作者: 時間:2011-03-04 來源:網絡 收藏

        3 系統軟件設計
        本系統控制中心是9控制器,其軟件設計包括系統軟件(嵌入式操作系統、硬件設備驅動程序、嵌入式Web服務器)設計和應用軟件(網頁設計及CGI應用程序)設計。
        3.1 嵌入式操作系統在S3C2440上移植過程
        (1)從網站上下載Linux的內核源碼linux-2.6.31.tar.bz2和交叉編譯器arm920t-eabi.tgz,這個交叉編譯器是4.1.2版本的,支持EABI,可以提高編譯的效率。
        (2)在宿主機上將內核源碼解壓得到linux-2.6.31,將交叉編譯器解壓到指定目錄。
        (3)修改Makefile文件及相關硬件文件。由于內核的編譯是根據Makefile文件的指示進行的,Makefile文件來組織內核的各模塊之間的關系,記錄了各個模塊之間的相互聯系和依賴關系。所以,修改Linux2.6.31根目錄下的Maldile文件來指定平臺和交叉編譯器。
        (4)通過命令# make menuconfig來配置內核。配置內核時,讓它支持EABI編譯。
        (5)在linux-2.6.31根目錄下執行命令# make zImage來編譯內核,將生成的內核鏡像文件zImage通過相應的固化軟件固化到系統相應的存儲器中,完成linux-2.6.31內核在微處理器上的移植。
        3.2 驅動程序的設計
        控制器需要多個設備驅動程序。嵌入式Linux系統中設備驅動程序有一個標準的框架,可以根據硬件結構來填寫框架中的函數。主要的函數包括open(),read(),write(),ioctl(),release(),module_init()和module_exit()等。為了減小內核的大小,把編寫好的驅動程序編譯成模塊。編寫Makefile、Kconfig文件,分別執行make menuconfig命令選擇驅動程序的加載方式,利用makemodules命令生成目標文件,最后利用insmod命令調用initial_module函數將編譯好的模塊調入內存即可。
        3.3 Web服務器Boa移植
        Boa是一個嵌入式Web服務器,能夠生成動態的頁面,支持CGI,比較適合嵌入式系統。在硬件電路板上存放一個網頁,在用戶端可以通過瀏覽器來訪問硬件電路板上這個網頁,然后通過網頁中的內容就可以和硬件電路板上的硬件設備進行交互。具體移植過程如下:
        (1)從網上下載Boa服務器源碼壓縮包boa-0.94.13.tar.gz,將其解壓得到boa-0.94.13,在boa-0.94.13/src下編譯生成boa可執行程序。
        (2)把宿主機Linux操作系統下的/etc/mime.types復制到根文件系統的/etc目錄中,在根文件系統的/etc中建立boa文件夾,根文件系統的/etc/boa目錄下建立www、cgi-bin目錄,www中存放HTML文件,cgi-bin中存放CGI腳本,把網頁文件index.files和index.html復制到根文件系統的/etc/boa/www目錄下,在根文件系統的/var目錄下建立日志目錄log/boa。
        (3)對Boa作配置和修改。主要通過對defines.h,boa.conf和mime.types文件進行修改來實現。修改defines.h指定Web服務器的根目錄路徑(SERVER_ROOT)。boa.conf文件由一些規則組成,用于配置Boa服務器,指定相應端口,服務器名稱,一些相關文件的路徑等。Boa服務器要想正確運行,必須保證該文件是正確配置的,而且該文件和某些靜態網頁,CGI可執行程序等都放于某特定目錄下。
        (4)把boa-0.94.13/sre下編譯出的boa可執行程序復制到根文件系統的/usr/bin目錄下,把修改過的配置文件boa.conf復制到開發板的/etc/boa目錄下,并將一些靜態頁面放在由boa.conf指定的目錄下。
        (5)重新編譯根文件系統。把根文件系統下載到硬件電路板上。
        在硬件電路板上運行嵌入式Web服務器Boa,通過瀏覽器就能訪問系統所設計的網頁。
        3.4 應用軟件設計
        本系統的核心是一個嵌入式Web服務器,其應用軟件的設計包括網頁設計和CGI應用程序設計兩部分。
        (1)網頁設計:網頁設計采用設計工具Dreamweaver,FrongtPage等來實現。
        (2)CGI應用程序設計:采用C語言來編寫CGI應用程序,實現外部實時數據采樣、與家電設備的通信與控制等。CGI技術可以實現瀏覽器與嵌入式Web服務器的動態數據交互。CGI程序保存在嵌入式Web服務器端。在用戶端打開HTML頁面,點擊HTML頁面上設備的控制按鈕,就會通過Internet把用戶請求送到嵌入式Web服務器中,服務器接收用戶請求并交給CGI程序處理,實現用戶的功能需求,這就做到了通過對HTML頁面上相應設備的點擊實現家庭網絡中設備的遠程控制。

        4 結束語
        該系統硬件采用9 S3C2440 微處理器作為控制核心,軟件采用linux-2.6.31內核作為系統的嵌入式操作系統,采用Boa作為嵌入式Web服務器,結合以太網通信技術和GPRS無線通信技術實現了對家庭環境的遠程實時監控、安防自動報警和對家電設備遠程控制的功能。本監控系統具有較大的實用價值,未來的發展空間非常大,能夠使人們生活得更加舒適安全。


        上一頁 1 2 3 下一頁

        關鍵詞: ARM USB

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 彭阳县| 将乐县| 融水| 临清市| 石阡县| 津市市| 嵊泗县| 都兰县| 宁明县| 友谊县| 桃源县| 措勤县| 武功县| 丰台区| 雅安市| 武定县| 隆昌县| 宣威市| 阳西县| 玉林市| 井研县| 南城县| 即墨市| 东海县| 泗阳县| 南阳市| 伊川县| 化德县| 行唐县| 象州县| 甘孜县| 沐川县| 平定县| 汉阴县| 芦溪县| 松滋市| 塔城市| 岱山县| 桑植县| 秦安县| 定襄县|