新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于S3C2440 微處理器的智能家居遠程監(jiān)控系統(tǒng)解決方案

基于S3C2440 微處理器的智能家居遠程監(jiān)控系統(tǒng)解決方案

作者: 時間:2012-08-28 來源:網(wǎng)絡 收藏

3 系統(tǒng)的軟件設計

3.1 的軟件組成

的軟件系統(tǒng)由設備驅(qū)動程序、嵌入式Linux 操作系統(tǒng)和應用程序構成,如圖6所示。其中嵌入式Linux 操作系統(tǒng)采用2.6 版本的內(nèi)核。

圖6 智能家居遠程監(jiān)控系統(tǒng)軟件框圖

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

3.2 驅(qū)動程序的開發(fā)

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

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

(2 ) 編輯drivers/char 目錄下的配置文件Kconfig,添加如下內(nèi)容:config MOTOR tristateMotor Driver

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

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

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

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

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

3.3 實現(xiàn)Web 的監(jiān)控

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

用戶認證是通過CGI 程序?qū)崿F(xiàn)的。首先在登錄界面中使用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>

參數(shù)action 指明處理該表單的CGI 程序, 此表單所填的內(nèi)容會通過Web 服務器以name=value1pwd=value2的方式傳給logon.cgi 程序處理, 該程序?qū)τ脩裘兔艽a進行認證。用戶認證界面如圖7 所示, 門窗控制界面如圖8 所示。使用表單在網(wǎng)頁中添加2 個按鈕, 分別控制門窗的打開和關閉。對應的CGI 程序調(diào)用步進電機的驅(qū)動程序, 控制電機轉(zhuǎn)動, 模擬門窗控制。

圖7 用戶認證界面

圖8 門窗控制界面



評論


相關推薦

技術專區(qū)

關閉