《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Web技術(shù)的智能家居遠(yuǎn)程監(jiān)控系統(tǒng)
基于Web技術(shù)的智能家居遠(yuǎn)程監(jiān)控系統(tǒng)
來(lái)源:微型機(jī)與應(yīng)用2012年第3期
韓增錕
燕山大學(xué) 教務(wù)處,,河北 秦皇島 066004
摘要: 以智能家居遠(yuǎn)程監(jiān)控系統(tǒng)為例,設(shè)計(jì)了一種以Web技術(shù)為核心的遠(yuǎn)程監(jiān)控系統(tǒng)解決方案,,并實(shí)施建立在基于S3C2440微處理器和嵌入式Linux操作系統(tǒng)的軟硬件平臺(tái)上。在嵌入式Linux操作系統(tǒng)中構(gòu)建了Web服務(wù)器和視頻服務(wù)器,。在此基礎(chǔ)上使用CGI技術(shù)處理HTML表單,控制系統(tǒng)硬件,,實(shí)現(xiàn)交互操作,,完成用戶認(rèn)證、門窗控制,、照明控制,、溫度監(jiān)測(cè)、視頻監(jiān)控等功能,。遠(yuǎn)程用戶可以通過(guò)IE瀏覽器進(jìn)行實(shí)時(shí)監(jiān)視,,并對(duì)監(jiān)測(cè)系統(tǒng)設(shè)備實(shí)現(xiàn)管理。
Abstract:
Key words :

摘  要:智能家居遠(yuǎn)程監(jiān)控系統(tǒng)為例,,設(shè)計(jì)了一種以Web技術(shù)為核心的遠(yuǎn)程監(jiān)控系統(tǒng)解決方案,,并實(shí)施建立在基于S3C2440微處理器和嵌入式Linux操作系統(tǒng)的軟硬件平臺(tái)上。在嵌入式Linux操作系統(tǒng)中構(gòu)建了Web服務(wù)器和視頻服務(wù)器,。在此基礎(chǔ)上使用CGI技術(shù)處理HTML表單,,控制系統(tǒng)硬件,實(shí)現(xiàn)交互操作,,完成用戶認(rèn)證,、門窗控制、照明控制,、溫度監(jiān)測(cè),、視頻監(jiān)控等功能。遠(yuǎn)程用戶可以通過(guò)IE瀏覽器進(jìn)行實(shí)時(shí)監(jiān)視,,并對(duì)監(jiān)測(cè)系統(tǒng)設(shè)備實(shí)現(xiàn)管理,。
關(guān)鍵詞: S3C2440;Linux,;智能家居,;Web技術(shù);遠(yuǎn)程監(jiān)控

 智能家居又稱為數(shù)字家庭[1-2],,一般是指以計(jì)算機(jī)接口技術(shù)和網(wǎng)絡(luò)技術(shù)為基礎(chǔ),,將各種家用數(shù)字化設(shè)備有機(jī)結(jié)合為一體的智能化的網(wǎng)絡(luò)系統(tǒng)。這些家用數(shù)字化設(shè)備包括電話,、計(jì)算機(jī),、數(shù)字化的視聽(tīng)設(shè)備、數(shù)字化的家用電器及安全監(jiān)控設(shè)備等,,通過(guò)有線或無(wú)線的方式將這些設(shè)備連接起來(lái),,為家庭用戶提供簡(jiǎn)單、安全、可靠,、智能化的綜合服務(wù),。本文以Web技術(shù)為核心,在基于S3C2440微處理器和嵌入式Linux操作系統(tǒng)的軟硬件平臺(tái)上構(gòu)建了Web服務(wù)器和視頻服務(wù)器,,Web服務(wù)器采用Boa,,視頻服務(wù)器采用Servfox,結(jié)合CGI技術(shù)處理HTML表單,,完成用戶認(rèn)證,,門窗控制等家居監(jiān)控功能。
1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
 圖1為智能家居遠(yuǎn)程監(jiān)控系統(tǒng)的總體結(jié)構(gòu)圖,。室內(nèi)部分主要包括家電控制,、防盜報(bào)警、遠(yuǎn)程監(jiān)控,、防火報(bào)警等功能模塊,這些功能模塊通過(guò)Web服務(wù)器接入Internet網(wǎng),,用戶可通過(guò)計(jì)算機(jī)登錄因特網(wǎng),,遠(yuǎn)程監(jiān)控室內(nèi)情況,同時(shí)室內(nèi)如檢測(cè)到火,、盜等異常情況可通過(guò)Internet向用戶報(bào)警,。

2 系統(tǒng)硬件設(shè)計(jì)
 智能家居遠(yuǎn)程監(jiān)控系統(tǒng)的硬件系統(tǒng)由YC2440-F開(kāi)發(fā)板、網(wǎng)絡(luò)接口,、門窗控制,、照明設(shè)備、溫度傳感器,、USB攝像頭等組成,。YC2440-F開(kāi)發(fā)板作為整個(gè)系統(tǒng)的控制核心,負(fù)責(zé)信息的采集和處理,,并控制各個(gè)模塊協(xié)調(diào)工作,,如圖2所示。


 控制核心采用YC2440-F開(kāi)發(fā)板,。該開(kāi)發(fā)板是揚(yáng)創(chuàng)科技公司使用三星S3C2440處理器開(kāi)發(fā)的ARM9開(kāi)發(fā)板,。YC2440-F開(kāi)發(fā)板采用核心板+擴(kuò)展板的結(jié)構(gòu)。
 門窗控制模塊可以讓用戶通過(guò)互聯(lián)網(wǎng)遠(yuǎn)程控制室內(nèi)門窗的開(kāi)啟與關(guān)閉,,如有人以非正常方式通過(guò)門窗進(jìn)入室內(nèi),,可向用戶報(bào)警。在實(shí)驗(yàn)中選用一個(gè)步進(jìn)電機(jī)來(lái)模擬門窗控制,,電機(jī)正轉(zhuǎn)表示門窗開(kāi)啟,,電機(jī)反轉(zhuǎn)表示門窗關(guān)閉,步進(jìn)電機(jī)如強(qiáng)行被破壞則報(bào)警。步進(jìn)電機(jī)通過(guò)集成芯片ULN2003驅(qū)動(dòng),,門窗控制電路如圖3所示,。

 

 

 溫度監(jiān)測(cè)模塊可以實(shí)時(shí)監(jiān)測(cè)室內(nèi)溫度,如果檢測(cè)到室內(nèi)溫度超過(guò)50℃則報(bào)警,。溫度監(jiān)測(cè)電路采用DS18B20溫度傳感器來(lái)實(shí)現(xiàn),。DS18B20使用1-Wire技術(shù),具有線路簡(jiǎn)單,,精度高,、體積小、低功耗等特點(diǎn),。硬件電路只需將DS18B20連接到通用I/O端口GPB0端即可,。圖5為溫度監(jiān)測(cè)模塊電路。視頻監(jiān)控系統(tǒng)可以通過(guò)攝像頭實(shí)時(shí)監(jiān)控室內(nèi)情況,,用戶可以通過(guò)互聯(lián)網(wǎng)隨時(shí)觀察室內(nèi)的情況,。視頻監(jiān)控采用用普通USB攝像頭實(shí)現(xiàn)。

3.2 驅(qū)動(dòng)程序的開(kāi)發(fā)
 用戶進(jìn)程是通過(guò)設(shè)備驅(qū)動(dòng)文件控制硬件,,對(duì)設(shè)備文件的操作方式就是系統(tǒng)調(diào)用,,如open、read,、write,、close 等。編寫(xiě)設(shè)備驅(qū)動(dòng)程序的主要工作就是編寫(xiě)子函數(shù),,并填充file_operations結(jié)構(gòu)體的各個(gè)域,。步進(jìn)電機(jī)、LED和溫度傳感器DS18B20都是通過(guò)通用I/O控制的,,做為字符型設(shè)備,。USB攝像頭屬于USB設(shè)備。下面以步進(jìn)電機(jī)驅(qū)動(dòng)程序?yàn)槔f(shuō)明Linux驅(qū)動(dòng)程序的開(kāi)發(fā)過(guò)程,,具體步驟如下:
?。?)編寫(xiě)驅(qū)動(dòng)程序源代碼,將程序源文件motor.c,,添加到內(nèi)核的drivers/char目錄下,。
 (2)編輯drivers/char目錄下的配置文件Kconfig,,添加如下內(nèi)容:config MOTOR tristate"Motor Driver"
?。?)在char目錄下打開(kāi)Makefile,添加obj-$(CONFIG_MOTOR)+=motor.o
?。?)在內(nèi)核目錄下執(zhí)行make menuconfig命令,,進(jìn)行內(nèi)核配置:在Device Driver-Character Driver下將MOTOR選為M,,模塊方式,退出保存設(shè)置,。
?。?)執(zhí)行命令 make modules,編譯驅(qū)動(dòng)模塊,。在char目錄下產(chǎn)生motor.ko的文件,,即所需的步進(jìn)電機(jī)驅(qū)動(dòng)模塊。通過(guò)NFS方式傳到開(kāi)發(fā)板上,。
?。?)加載驅(qū)動(dòng)模塊,執(zhí)行insmod motor.ko,。
?。?)建立文件節(jié)點(diǎn),執(zhí)行mknod/dev/MOTOR_Driver c  228 0,。
3.3 實(shí)現(xiàn)基于Web的遠(yuǎn)程監(jiān)控
 智能家居遠(yuǎn)程監(jiān)控系統(tǒng)可以通過(guò)Web服務(wù)器為用戶提供簡(jiǎn)潔,,美觀的操作界面。網(wǎng)絡(luò)控制部分包括登錄界面,、用戶認(rèn)證,、主界面、門窗控制,、照明控制、溫度監(jiān)測(cè)及視頻監(jiān)控,。
用戶認(rèn)證是通過(guò)CGI程序?qū)崿F(xiàn)的,。首先在登錄界面中使用HTML語(yǔ)言添加表單:
<form method="post" action="/cgi-bin/logon.cgi">
用戶名:<input type="text" name="user"><br>
密碼: <input type="password" name="pwd"><br>&nbsp&nbsp&nbsp
<input type="submit" value=" 登錄 "> </form>
 參數(shù)action指明處理該表單的CGI程序,此表單所填的內(nèi)容會(huì)通過(guò)Web服務(wù)器以name=value1&pwd=value2的方式傳給logon.cgi程序處理,,該程序?qū)τ脩裘兔艽a進(jìn)行認(rèn)證,。用戶認(rèn)證界面如圖7所示,門窗控制界面如圖8所示,。使用表單在網(wǎng)頁(yè)中添加2個(gè)按鈕,,分別控制門窗的打開(kāi)和關(guān)閉。對(duì)應(yīng)的CGI程序調(diào)用步進(jìn)電機(jī)的驅(qū)動(dòng)程序,,控制電機(jī)轉(zhuǎn)動(dòng),,模擬門窗控制。

 照明控制界面如圖9所示,,在網(wǎng)頁(yè)中添加4個(gè)復(fù)選框,,分別配有4個(gè)發(fā)光二極管。對(duì)應(yīng)的CGI程序調(diào)用LED的驅(qū)動(dòng)程序,,控制發(fā)光二極管,。溫度控制界面如圖10所示,。CGI程序調(diào)用DS18B20的驅(qū)動(dòng)程序,讀取溫度傳感器的值,,然后計(jì)算溫度,,最后返回一個(gè)網(wǎng)頁(yè)顯示DS18B20的信息和溫度。視頻監(jiān)控界面如圖11所示,,在網(wǎng)頁(yè)中添加Java插件,,接收并顯示視頻服務(wù)器Servfox發(fā)送的視頻數(shù)據(jù)。添加2個(gè)按鈕控制視頻服務(wù)器的打開(kāi)與關(guān)閉,。

 以S3C2440微處理器為控制核心,,完成了智能家居硬件平臺(tái)的設(shè)計(jì)。實(shí)現(xiàn)了嵌入式Linux操作系統(tǒng)在S3C2440微處理器平臺(tái)上的移植,。編寫(xiě)了步進(jìn)電機(jī),、發(fā)光二極管以及DS18B20溫度傳感器的驅(qū)動(dòng)程序。完成了Web服務(wù)器Boa和視頻服務(wù)器Servfox的移植,。使用HTML語(yǔ)言編寫(xiě)靜態(tài)網(wǎng)頁(yè),,完成基于Web的智能家居遠(yuǎn)程監(jiān)控部分的主體框架。使用CGI技術(shù)處理HTML表單,,控制系統(tǒng)硬件,,實(shí)現(xiàn)交互操作,完成用戶認(rèn)證,、門窗控制,、照明控制、溫度監(jiān)測(cè),、視頻監(jiān)控等功能,。
參考文獻(xiàn)
[1] 王瑩.家居遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[D].大連:大連理工大學(xué),2007.
[2] 曹晉輝.基于ARM的家庭安防網(wǎng)關(guān)平臺(tái)底層構(gòu)建[D].成都:電子科技大學(xué),,2007.
[3] 封景剛,,吳寶江.ARM嵌入式系統(tǒng)開(kāi)發(fā)完全入門與主流實(shí)踐[M].北京:電子工業(yè)出版社,2008.
[4] 汪明虎,,歐文盛.ARM嵌入式Linux應(yīng)用開(kāi)發(fā)入門[M].北京:中國(guó)電力出版社,,2008.
[5] 戴麗.基于Video4Linux的USB攝像頭圖像采集實(shí)現(xiàn)[M].合肥:合肥工業(yè)大學(xué),2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。