基于嵌入式的智能家居監(jiān)控系統(tǒng)設(shè)計(jì)
2.3 智能家居遠(yuǎn)程監(jiān)控的實(shí)現(xiàn)
遠(yuǎn)程監(jiān)控是智能家居監(jiān)控中的重要組成部分,只要有Internet的地方,主人就可以通過(guò)上網(wǎng)登錄設(shè)計(jì)好的智能家居管理界面,以此來(lái)實(shí)現(xiàn)對(duì)家里的實(shí)時(shí)監(jiān)控。例如,主人在公司上班,家里有小孩或者生病的老人,主人可以通過(guò)公司電腦遠(yuǎn)程監(jiān)視關(guān)注家里的情況,如有意外,主人就可以對(duì)此及時(shí)做出反應(yīng)。當(dāng)主人快要下班時(shí)可以事先通過(guò)界面管理實(shí)現(xiàn)對(duì)家電的控制(如打開客廳電燈、讓電飯鍋開始煮飯等)。
2.3.1 智能家居界面的實(shí)現(xiàn)
本設(shè)計(jì)采用html語(yǔ)言來(lái)編寫智能家居的管理界面,以下是智能家居管理主界面的源代碼,文件名為my.html。
<html>
<head>
<title>遠(yuǎn)程監(jiān)控</title>
</head>
<frameset rows=“20%,80%”>
<frame img src=“images/ltby006.jpg” marginwidth=“0”
scrolling=“no”
frameborder=“0” norsize=“norsize”>
<frameset cols=“20%,80%”>
<frame src=“l(fā)eft.html”scrolling=“no” name=“l(fā)eft_frame”
frameborder=“0”>
<frame src=“right.html” name=“right_frame”>
</frameset>
</frameset>
</html>
該代碼包含left.html和right.html的相關(guān)鏈接,其中l(wèi)eft.html又包含著用戶信息、密碼修改、遠(yuǎn)程控制、狀態(tài)查詢、安全布防、視頻監(jiān)控等相關(guān)鏈接。設(shè)計(jì)好相關(guān)的.html文件和CGI程序,通過(guò)U盤把.html文件和CGI程序拷貝到開發(fā)板根文件系統(tǒng)下的/www目錄下。
2.3.2 遠(yuǎn)程電器控制模塊的模擬實(shí)現(xiàn)
用無(wú)線通信方式進(jìn)行家電的控制靈活性較強(qiáng)、覆蓋范圍較廣,免去了綜合布線的費(fèi)用和精力,缺點(diǎn)是家庭內(nèi)部要有家庭網(wǎng)關(guān)和無(wú)線路由器,接收終端還要有相應(yīng)的接收裝置,成本較高。因此,基于實(shí)用性和大眾化方面的考慮,本文所研究的家電控制器的控制采用I/O控制。
家電的本地集中控制硬件設(shè)計(jì)是利用嵌入式系統(tǒng)的I/O口對(duì)家用電器的用電進(jìn)行控制。系統(tǒng)通過(guò)S3C2410的I/O口輸出高低電平來(lái)進(jìn)行控制,同時(shí)用發(fā)光二極管指示家用電器工作狀況。
發(fā)光二極管亮,表示家用電器通電,發(fā)光二極管滅,表示家用電器斷電。GPB7控制電器1,GPB8控制電器2,GPB9控制電器3。由于被控模塊家用電器大多使用220 V交流電,屬于強(qiáng)電電路,所以使用繼電器控制家電。在芯片與繼電器中間加驅(qū)動(dòng)電路。驅(qū)動(dòng)電路可以利用光電耦合的通、斷去控制繼電器的開與關(guān)。也可以利用三極管的飽和與截止去控制繼電器的開與關(guān),這里采用三極管方式。當(dāng)I/O口引腳輸出低電平時(shí),三極管飽和導(dǎo)通,+5 V電源加到繼電器線圈兩端,繼電器吸合,同時(shí)狀態(tài)指示的發(fā)光二極管也點(diǎn)亮,繼電器的常開觸點(diǎn)閉合,相當(dāng)于開關(guān)閉合。當(dāng)I/O口引腳輸出高電平時(shí),三極管截止,繼電器線圈兩端沒(méi)有電位差,繼電器銜鐵釋放,同時(shí)狀態(tài)指示的發(fā)光二極管也熄滅,繼電器的常開觸點(diǎn)釋放,相當(dāng)于開關(guān)斷開。注:在三極管截止的瞬間,由于線圈中的電流不能突變?yōu)榱?,繼電器線圈兩端會(huì)產(chǎn)生一個(gè)較高電壓的感應(yīng)電動(dòng)勢(shì),線圈產(chǎn)生的感應(yīng)電動(dòng)勢(shì)則可以通過(guò)二極管D1釋放,從而保護(hù)了三極管免被擊穿,也消除了感應(yīng)電動(dòng)勢(shì)對(duì)其他電路的干擾,這就是二極管D1的保護(hù)作用。這里主要是采用模擬的方式來(lái)實(shí)現(xiàn)家電的遠(yuǎn)程控制,板子上的LED燈表示家電的開關(guān)狀態(tài)??刂崎_關(guān)狀態(tài)的CGI代碼用shell語(yǔ)言實(shí)現(xiàn),下面就是其中一個(gè)電器的代碼:
#/bin/sh
case $QUERY_STRING in
*kai1*)
type1=1
;;
*guan1*)
type1=0
;;
esac
2.3.3 視頻客戶端Java Applet的實(shí)現(xiàn)
在本系統(tǒng)中,客戶端接收從視頻服務(wù)器發(fā)送過(guò)來(lái)的視頻信息,并通過(guò)Web瀏覽器顯示監(jiān)控圖像,瀏覽器自身不能完成這個(gè)功能,而是通過(guò)在HTML文檔里嵌入Applet來(lái)實(shí)現(xiàn)的[6]。Applet是一種特殊的Java程序,它能夠嵌入到HTML文檔并被支持Java的網(wǎng)頁(yè)瀏覽器下載執(zhí)行。本系統(tǒng)客戶端就是利用Java Applet完成用戶與視頻服務(wù)器的交互,實(shí)現(xiàn)視頻播放。
視頻監(jiān)控網(wǎng)頁(yè)用HTML語(yǔ)言設(shè)計(jì)。在本系統(tǒng)中,攝像頭系統(tǒng)監(jiān)視界面直接采用改進(jìn)的webcam_serverD0.50nsrcnclient。以下是經(jīng)過(guò)修改后的webcam.html源代碼,其中http://202.193.74.230指的是開發(fā)板的IP地址,可以根據(jù)實(shí)際需要改變?cè)创a里面的高度和寬度,從而調(diào)整視頻畫面的大小。
<html>
<head>
<title>W(wǎng)ebCam</title>
</head>
<br><br><br>
<p align=“center”><APPLET CODE =“WebCamApplet.clas”
archive=“applet.jar”WIDTH =“320”HEIGHT =“240”>
<param name=URL value=“http://202.193.74.230:8888”>
<param name=FPS value=“1”>
<param name=width value=“320”>
<param name=height value=“240”>
</APPLET>
<p align=“right”><img src=“images/sxt.jpg”/>
</body>
</html>
還要把/src/client下的Applet.jar文件拷貝到開發(fā)板根文件系統(tǒng)下的/www目錄下。最后在電腦主機(jī)上安裝一個(gè)jre1.6.0 03,目的是使瀏覽器支持Java,這樣就完成了客戶端的設(shè)計(jì),從而實(shí)現(xiàn)視頻在網(wǎng)頁(yè)上顯示的工作。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論