新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于S3C2440的智能家居遠程監控系統解決方案

        基于S3C2440的智能家居遠程監控系統解決方案

        作者: 時間:2012-09-13 來源:網絡 收藏

        3 系統的軟件設計

        3.1 的軟件組成

        的軟件系統由設備驅動程序、嵌入式Linux 操作系統和應用程序構成,如圖6所示。其中嵌入式Linux 操作系統采用2.6 版本的內核。

        基于S3C2440的智能家居遠程監控系統解決方案

        Web 服務器使用Boa , 視頻服務器使用Servfox5 , 這是兩款Linux 下的開源軟件, 將源碼進行適當修改就可以移植到嵌入式系統中。

        3.2 驅動程序的開發

        用戶進程是通過設備驅動文件控制硬件, 對設備文件的操作方式就是系統調用, 如open 、read 、write 、close等。編寫設備驅動程序的主要工作就是編寫子函數,并填充file_operations 結構體的各個域。步進電機、LED 和溫度傳感器DS18B20 都是通過通用I/O 控制的,做為字符型設備。USB 攝像頭屬于USB 設備。下面以步進電機驅動程序為例說明Linux 驅動程序的開發過程,具體步驟如下:

        (1 ) 編寫驅動程序源代碼, 將程序源文件motor.c , 添加到內核的drivers/char 目錄下。

        (2 ) 編輯drivers/char 目錄下的配置文件Kconfig,添加如下內容:config MOTOR tristate"Motor Driver"

        (3 ) 在char 目錄下打開Makefile , 添加obj -$ (CONFIG_MOTOR)+=motor.o

        (4 ) 在內核目錄下執行make menuconfig 命令, 進行內核配置: 在Device Driver -Character Driver 下將MOTOR 選為M, 模塊方式, 退出保存設置。

        (5 ) 執行命令make modules , 編譯驅動模塊。在char目錄下產生motor.ko 的文件, 即所需的步進電機驅動模塊。通過NFS 方式傳到開發板上。

        (6) 加載驅動模塊, 執行insmod motor.ko .

        (7 ) 建立文件節點, 執行mknod/dev/MOTOR_Driver c228 0 .

        3.3 實現基于Web 的遠程監控

        可以通過Web 服務器為用戶提供簡潔, 美觀的操作界面。網絡控制部分包括登錄界面、用戶認證、主界面、門窗控制、照明控制、溫度監測及視頻監控。

        用戶認證是通過CGI 程序實現的。首先在登錄界面中使用HTML 語言添加表單:

        form method="post" action="/cgi-bin/logon.cgi">

        用戶名:input type="text" name="user">br>

        密碼: input type = "password" name = "pwd" >br >

        nbspnbspnbspinput type="submit" value=" 登錄"> /form>

        參數action 指明處理該表單的CGI 程序, 此表單所填的內容會通過Web 服務器以name=value1pwd=value2的方式傳給logon.cgi 程序處理, 該程序對用戶名和密碼進行認證。用戶認證界面如圖7 所示, 門窗控制界面如圖8 所示。使用表單在網頁中添加2 個按鈕, 分別控制門窗的打開和關閉。對應的CGI 程序調用步進電機的驅動程序, 控制電機轉動, 模擬門窗控制。

        基于S3C2440的智能家居遠程監控系統解決方案

        基于S3C2440的智能家居遠程監控系統解決方案



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 周宁县| 台北县| 阳曲县| 临清市| 黑水县| 怀远县| 长泰县| 同心县| 包头市| 凤台县| 惠水县| 满洲里市| 绥江县| 偏关县| 睢宁县| 内乡县| 获嘉县| 连云港市| 岚皋县| 山阳县| 始兴县| 佳木斯市| 牡丹江市| 天水市| 荥经县| 孟州市| 舒兰市| 化隆| 连州市| 秦皇岛市| 香港| 英超| 怀化市| 嘉荫县| 平果县| 朔州市| 兰考县| 蓬溪县| 正宁县| 尚义县| 岳西县|