国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Zigbee的智能家居系統(tǒng)

2011-06-05 11:02孟憲超
電子設(shè)計工程 2011年22期
關(guān)鍵詞:客戶機預(yù)覽線程

裘 超,孟憲超,常 帥

(西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710072)

智能家居又稱為智能住宅,在國外常用Smart Home表示。與智能家居含義近似的有家庭自動化(Home Automation)、電子家庭(Electronic Home、E-home)、數(shù)字家園(Digital Family)、家庭網(wǎng)絡(luò)(Home Net/Networks for Home)、網(wǎng)絡(luò)家居(Network Home)、智能家庭/建筑(Intelligent Home/Building)等[1]。

智能家居系統(tǒng)利用先進的計算機技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、綜合布線技術(shù)將與家居生活有關(guān)的各種子系統(tǒng)有機地結(jié)合在一起,通過統(tǒng)籌管理,讓家居生活更加舒適、安全。智能家居可以提供全方位的信息交換功能,幫助家庭與外部保持信息交流通暢,優(yōu)化人們的生活方式,增強家居生活的安全性,甚至為各種能源費用節(jié)約資金。

1 項目概述

1.1 智能家居發(fā)展概況

智能家居是利用先進的計算機技術(shù)、嵌入式系統(tǒng)和網(wǎng)絡(luò)通訊技術(shù),將家庭中的各種設(shè)備(如照明系統(tǒng)、環(huán)境控制、安防系統(tǒng)、網(wǎng)絡(luò)家電)通過家庭網(wǎng)絡(luò)連接到一起的,自從美國在1984真正的智能建筑出現(xiàn)以來,國外已經(jīng)有將近30年的研究歷史,而國內(nèi)在這方面的研究相對較晚,從2003年才逐步應(yīng)用于高端市場,而且標準不統(tǒng)一,如海信、海爾、清華大學(xué)等大家各自為營。由于智能家居系統(tǒng)具有安全、方便、高效、快捷、智能化和個性化的獨特魅力,使得智能家居的開發(fā)與建設(shè)成為21世紀科技發(fā)展的必然趨勢。隨著全球?qū)δ茉春铜h(huán)境的要求越來越高,而智能家居在節(jié)能方面的效果優(yōu)勢非常明顯,因此具有非常廣闊的市場前景。

1.2 開發(fā)板主要參數(shù)

本項目所使用開發(fā)板為Real6410開發(fā)板,采用三星公司的ARM11內(nèi)核的處理器S3C6410。開發(fā)板上還集成了123 M的DDR內(nèi)存以及1 GB NandFlash,同時預(yù)留了256 k NorFlash。底板上還提供兩個四線 RS-232串口,一個USB HOST接口,一個10 M/100 M自適應(yīng)以太網(wǎng)接口等外設(shè)[2]。

2 主要研究內(nèi)容

目前,各種智能家居系統(tǒng)的設(shè)計多以有線為主,但有線技術(shù)并不適用于智能家居的普及,安裝難度大以及價格昂貴的缺點限制了其發(fā)展。因此無線通信技術(shù)應(yīng)用到智能家居中必將成為將來的發(fā)展趨勢和潮流。

本項目對家居設(shè)備通過Zigbee進行無線組網(wǎng),把家居設(shè)備的信息和數(shù)字視頻傳輸?shù)揭蛱鼐W(wǎng)網(wǎng)絡(luò)上,在因特網(wǎng)上設(shè)立一個“無線視頻網(wǎng)關(guān)”WEB服務(wù)器,可供外部訪問;將家居信息如溫度進行實時的顯示并進行后續(xù)的利用控制;同時將收集各處傳輸進來的數(shù)字視頻進行后續(xù)的處理和識別。

3 項目總體設(shè)計方案

3.1 系統(tǒng)總體方案設(shè)計原則

本項目主要完成智能家居的環(huán)境變量和視頻信號的監(jiān)控。整個系統(tǒng)包括一塊ARM11開發(fā)板,一個16位單片機,2個USB的CMOS攝像頭;一臺PC機(運行客戶端的監(jiān)控程序)根據(jù)功能的不同,整個系統(tǒng)可劃分由視頻采集模塊、數(shù)據(jù)壓縮、編碼模塊和視頻監(jiān)控PC等組成。采集模塊包括USB攝像頭;數(shù)據(jù)的壓縮編碼由ARM11處理器完成;視頻監(jiān)控PC完成視頻客戶端的功能;PC機完成對開發(fā)系統(tǒng)的程序開發(fā)、調(diào)試等。圖1為系統(tǒng)的組成結(jié)構(gòu)。

圖1 系統(tǒng)組成結(jié)構(gòu)Fig.1 System composition

3.2 系統(tǒng)各部分結(jié)構(gòu)功能及設(shè)計

整個智能家居系統(tǒng)的設(shè)計可分為兩大部分:

1)WEB服務(wù)器端設(shè)計;

2)客戶機終端監(jiān)控軟件的設(shè)計。

3.2.1 WEB服務(wù)器端設(shè)計

首先為ARM開發(fā)板定制一個合適的Linux內(nèi)核 (內(nèi)核版本:Linux 2.6.28),然后對其進行裁剪,使其具有基本內(nèi)核功能,同時保留TCP/IP協(xié)議棧,串口協(xié)議以及相應(yīng)的視頻編解碼模塊,使系統(tǒng)利用盡量少的硬件資源來滿足任務(wù)的處理工作。然后是開發(fā)一個運行于Linux下的WEB服務(wù)器程序,其實現(xiàn)的基本功能是通過USB攝像頭的圖像數(shù)據(jù)采集,完成對視頻信息的獲取、壓縮和編碼 (具體的編碼標準為當前較為流行的 H264編碼)。然后通過TCP/IP協(xié)議將數(shù)據(jù)打包發(fā)送到網(wǎng)絡(luò),同時利用Socket實現(xiàn)服務(wù)器監(jiān)聽功能,這樣就可以接受來自客戶機的監(jiān)控請求。具體的工作內(nèi)容如下:

1)USB攝像頭的驅(qū)動程序移植;

2)H264視頻編碼程序移植;

3)視頻采集和傳輸?shù)膽?yīng)用程序的設(shè)計;

4)通過Zigbee獲取傳感器相關(guān)信息。

圖2為WEB服務(wù)器的工作流程,圖3為ARM通過網(wǎng)頁采集的視頻圖像,其IP地址為:168.192.1.1:8080,此視頻即可以通過網(wǎng)頁顯示,也可以通過相應(yīng)基于 I386或Linux的監(jiān)控軟件進行查看[3]。

圖2 WEB服務(wù)器工作流程圖Fig.2 WEB server work flow chart

圖3 ARM通過網(wǎng)頁采集的視頻信息Fig.3 Video information collected through the Web

3.2.2 客戶機終端監(jiān)控軟件設(shè)計

客戶機終端監(jiān)控軟件采用MFC編寫,可實現(xiàn)來自WEB服務(wù)器端的實時視頻預(yù)覽、視頻錄制、視頻截圖及傳感器參數(shù)的實時顯示等功能。程序采用多線程技術(shù):一個線程進行視頻信息的解碼和播放功能,另一個線程實現(xiàn)視頻錄制功能。

另外還采用了視頻信息疊加的方法,可以對環(huán)境變量進行屏幕疊加,能在錄制時完成信息的錄制和再現(xiàn)。圖4為終端監(jiān)控軟件。

圖4 客戶機終端監(jiān)控軟件Fig.4 Terminal monitoring software

4 項目關(guān)鍵技術(shù)

4.1 傳感器信息通過Zigbee傳輸

Zigbee是IEEE 802.15.4協(xié)議的代名詞。根據(jù)這個協(xié)議規(guī)定的技術(shù)是一種短距離、低功耗的無線通信技術(shù)。IEEE-802.15.4規(guī)范是一種經(jīng)濟、高效、低數(shù)據(jù)速率(<250 kbps)、工作在2.4 GHz和868/928 MHz的無線技術(shù),用于個人區(qū)域網(wǎng)和對等網(wǎng)絡(luò)[4]。本項目使用Zigbee完成傳感器信息的傳輸。傳感器信息由一端Zigbee接收后發(fā)送至另一端Zigbee,然后傳入RS232串口中。具體傳輸模型如圖5所示。

圖5 傳感器信息通過Zigbee傳輸模型Fig.5 Zigbee transport model

4.2 DirectShow視頻采集

DirectShow是微軟公司在ActiveMovie和Video for Windows的基礎(chǔ)上推出的新一代基于COM(Component Object Model)的流媒體處理的開發(fā)包。DirectShow技術(shù)對處理圖像序列或用攝像機捕獲的序列尤其有用。本項目使用VC開發(fā)基于DirectShow技術(shù)實現(xiàn)視頻采集。通過#pragma comment(lib, "winmm.lib")鏈接靜態(tài)庫 winmm.lib,便可以實現(xiàn)windows多媒體編程。

4.3 多線程技術(shù)及Socket

智能家居系統(tǒng)客戶機監(jiān)控軟件采用MFC編寫。其中關(guān)鍵技術(shù)包括多線程以及Socket()。

監(jiān)控軟件中包括previewVideo線程 (通過函數(shù)UINT previewVideo(LPVOID videoCtl)實現(xiàn))實現(xiàn)視頻的預(yù)覽功能以及 recordVideo線程 (通過函數(shù) UINT recordVideo(LPVOID videoCtl)實現(xiàn))實現(xiàn)視頻錄制功能。打開攝像頭后通過AfxBeginThread (previewVideo,&m_video)函 數(shù)啟動 preview Video視頻預(yù)覽線程,用戶便可以通過監(jiān)控軟件預(yù)覽視頻圖像。當用戶點擊錄制視頻按鈕時,首先通過函數(shù)SuspendThread(pVideoThread->m_hThread)掛起 previewVideo視頻預(yù)覽線程,然后通過函數(shù)AfxBeginThread(recordVideo,&m_video)啟動recordVideo視頻錄制線程。當用戶點擊停止錄制按鈕時,軟件通過函數(shù)ResumeThread(pVideoThread->m_hThread)恢復(fù)previewVideo視頻預(yù)覽線程。終端監(jiān)控軟件通過previewVideo線程以及recordVideo線程便能很好的實現(xiàn)客戶機的視頻預(yù)覽和視頻錄制功能。線程模型如圖6所示。

圖6 線程模型Fig.6 Threading model

智能家居系統(tǒng)使用Socket()實現(xiàn)客戶機與服務(wù)器之間的通信。通過USB攝像頭采集數(shù)據(jù),對數(shù)據(jù)進行獲取、壓縮和編碼后通過TCP/IP協(xié)議將數(shù)據(jù)打包發(fā)送到網(wǎng)絡(luò),同時在服務(wù)器端創(chuàng)建Socket()進行監(jiān)聽,來接受客戶機的請求。當客戶機發(fā)送connect()連接請求后,服務(wù)器通過 accept()接收客戶機連接請求。然后服務(wù)器與客戶機之間通過send()函數(shù)和recv()函數(shù)實現(xiàn)發(fā)送、接收數(shù)據(jù)。Socket()通信模型如圖7所示。

圖7 Socket通信模型Fig.7 Socket communication model

4.4 入侵檢測功能實現(xiàn)

為了減少網(wǎng)絡(luò)傳輸和系統(tǒng)的壓力,在視頻采集端,每采集一次圖像就對采集的數(shù)據(jù)進行一次處理。該函數(shù)設(shè)定一個圖像發(fā)生變化的閾值c_limit,然后將圖像所有像素之差與閾值c_limit進行比較,如果大于閾值c_limit,則認為圖像發(fā)生了變化,否則即認為沒有變化,則不將該次采集的圖像數(shù)據(jù)寫入JPEG文件保存,這樣可以極大地提高視頻存儲的能力,同時減少各資源的浪費。

4.5 利用openCV庫實現(xiàn)人臉檢測

OpenCV是Intel公司面向應(yīng)用程序開發(fā)者開發(fā)的計算機視覺庫,其中包含大量的函數(shù)用來處理計算機視覺領(lǐng)域中常見的問題,例如運動分析和跟蹤、人臉識別、3D重建和目標識別等。

在openCV函數(shù)可編程過程中,CvSize和IpImage是兩個比較常用的結(jié)構(gòu)。CvSize結(jié)構(gòu)表示矩形尺寸的結(jié)構(gòu),結(jié)構(gòu)中分別定義了矩形的寬度和高度。IpImage結(jié)構(gòu)主要針對視覺方面處理[5]。

軟件實現(xiàn)中首先通過函數(shù)IpImage*cvCreateImage(cvSize(img->width,img->height), 8, 1 )為圖像分配內(nèi)存,然后使用函數(shù) cvCvtColor(img,gray,CV_BGR2GRAY )將 RGB圖像轉(zhuǎn)為灰度圖像。為了讓輸入圖像大小相同通過cvResize(gray,small_img,CV_INTER_LINEAR)對圖像進行縮放,函數(shù)cvEqualizeHist(small_img,small_img)實現(xiàn)灰度圖像直方圖均衡化。然后利用函數(shù)cvHaarDetectObjects(small_img,cascade, storage1,1.1, 2, CV_HAAR_DO_CANNY_PRUNING,cvSize(30,30))對圖像進行臉部檢測,最后利用函數(shù)cvGetSeqElem、cvRound、cvCircle將臉部用圓圈標示。圖8為臉部檢測效果圖。

圖8 臉部檢測效果圖Fig.8 Face detection

5 結(jié)束語

項目社會和經(jīng)濟效益分析。

主要用途和應(yīng)用范圍:1)對機要部門的監(jiān)視、控制和報警,如檔案室、文件室、金庫、博物館等;2)工廠、市場等的監(jiān)視,如工廠生產(chǎn)過程、市場、營業(yè)廳、展覽廳、貨場等的監(jiān)視;3)對交通運輸?shù)谋O(jiān)視,如公共交通、鐵路車站、鐵路調(diào)度等的監(jiān)視;4)用于安全報警,如防盜、防火等的報警;5)在安全身產(chǎn)方面的應(yīng)用,如煤礦等。

經(jīng)濟效益:隨著人們生活水平的提高,大家對智能家居的需求越來越高,而作為中國房地產(chǎn)的配套產(chǎn)業(yè),中國的智能家居經(jīng)過多年發(fā)展,已成為一個集控制、計算機、家電等多種新技術(shù)為一體的新興產(chǎn)業(yè)。但是,由于市場不規(guī)范、行業(yè)標準不完善,市場發(fā)展并不是很成熟,如今還處于群雄逐鹿的“戰(zhàn)國時代”。具有很大的市場潛力。

社會效益:隨著哥本哈根會議和“十二五規(guī)劃”當前,當?shù)吞紲p排已成為一項國家行動,而智能家居在這方面有自己的優(yōu)勢。其不僅智能而且節(jié)能,具有較高的社會效益.。

[1]馬菁菁.Zigbee無線通信技術(shù)在智能家居中的應(yīng)用研究[D].武漢:武漢理工大學(xué),2007.

[2]華天正科技.Real6410用戶手冊[S].2010.

[3]廣州友善之臂計算機科技有限公司.基于Mini2440通過網(wǎng)絡(luò)瀏覽和控制CMOS或USB攝像頭[S].2009.

[4]金純.Zigbee技術(shù)基礎(chǔ)及案例分析[M].北京:國防工業(yè)出版社,2008.

[5]劉瑞幀,于仕琪.OpenCV教程基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2007.

[6]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.

[7]程仙送.基于Zigbee的無線外設(shè)控制器設(shè)計與實現(xiàn) [D].武漢:武漢理工大學(xué),2007.

[8]薛繁平.DSP網(wǎng)絡(luò)視頻監(jiān)控及OpenCV在DSP平臺的移植[D].廈門:廈門大學(xué),2009.

[9]程哲,陳和平.基于OpenCV的運動目標檢測技術(shù)[J].四川兵工學(xué)報,2009(11):1-3,6.CHENG Zhe,CHEN He-ping.Detection technologyof moving target based on openCV[J].Journal of Sichuan Ordnance,2009(11):1-3,6

[10]柴樹杉 .基于OpenCV的漢字繪制研究[R].北京:計算機工程與設(shè)計,2008.

猜你喜歡
客戶機預(yù)覽線程
基于C#線程實驗探究
新品預(yù)覽
基于國產(chǎn)化環(huán)境的線程池模型研究與實現(xiàn)
淺談linux多線程協(xié)作
11月在拍電視劇預(yù)覽表
bauma China 2014展前預(yù)覽
瘦客戶機:安全與便捷的選擇
升騰瘦客戶機借神碼翱翔“云端”
基于Web數(shù)據(jù)提高訪問速度的方法
Java的多線程技術(shù)探討