<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2012-08-28 來(lái)源:網(wǎng)絡(luò ) 收藏

3 系統的軟件設計

3.1 的軟件組成

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

圖6 智能家居遠程監控系統軟件框圖

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

3.2 驅動(dòng)程序的開(kāi)發(fā)

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

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

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

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

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

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

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

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

3.3 實(shí)現Web 的監控

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

用戶(hù)認證是通過(guò)CGI 程序實(shí)現的。首先在登錄界面中使用HTML 語(yǔ)言添加表單:

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

用戶(hù)名:input type=text name=user>br>

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

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

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

圖7 用戶(hù)認證界面

圖8 門(mén)窗控制界面



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>