《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 嵌入式智能家居監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
嵌入式智能家居監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2012年第19期
劉 晉,楊一晨,郭 健
(遼寧師范大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,遼寧 大連116081)
摘要: 以S3C2410為核心,以Linux操作系統(tǒng)為平臺(tái),運(yùn)用嵌入式視頻服務(wù)器設(shè)計(jì)了嵌入式智能家居監(jiān)控系統(tǒng),實(shí)現(xiàn)了對(duì)家庭監(jiān)控的智能化管理。同時(shí)通過GPRS和Internet實(shí)現(xiàn)了對(duì)家庭系統(tǒng)的遠(yuǎn)程控制。
Abstract:
Key words :

摘  要: 以S3C2410為核心,以Linux操作系統(tǒng)為平臺(tái),運(yùn)用嵌入式視頻服務(wù)器設(shè)計(jì)了嵌入式智能家居監(jiān)控系統(tǒng),實(shí)現(xiàn)了對(duì)家庭監(jiān)控的智能化管理。同時(shí)通過GPRS和Internet實(shí)現(xiàn)了對(duì)家庭系統(tǒng)的遠(yuǎn)程控制。
關(guān)鍵詞: ARM;Linux;GPRS;智能家居;遠(yuǎn)程監(jiān)控

 智能家居系統(tǒng)利用多項(xiàng)高新技術(shù)把家電設(shè)備、家庭安全防護(hù)、家居智能化以及互聯(lián)網(wǎng)有機(jī)的結(jié)合在一起。本文闡述了基于GPRS技術(shù)、ARM嵌入式技術(shù)、網(wǎng)絡(luò)技術(shù)以及視頻采集與傳輸技術(shù)來實(shí)現(xiàn)智能系統(tǒng)的遠(yuǎn)程控制。
1 總體設(shè)計(jì)
 本系統(tǒng)使用FS2410開發(fā)板、GPRS模塊以及USB攝像頭完成對(duì)現(xiàn)場(chǎng)的監(jiān)控功能,硬件來源于FS2410開發(fā)板自帶的資源以及相應(yīng)的傳感器模塊,如溫度傳感器、紅外傳感器等。當(dāng)溫度傳感器所測(cè)量的溫度值高于系統(tǒng)設(shè)置溫度的上限值或者紅外傳感器探測(cè)到有不法分子闖入時(shí),則開啟相應(yīng)的報(bào)警功能、防盜功能和滅火功能,并通過GPRS模塊以短消息的形式通知用戶,及時(shí)反饋現(xiàn)場(chǎng)情況,等待用戶操作。同時(shí)用戶可以通過Internet異地遠(yuǎn)程實(shí)時(shí)查看現(xiàn)場(chǎng)情況,并根據(jù)系統(tǒng)中定時(shí)捕獲的圖片數(shù)據(jù)以及具體情況采取不同的措施,以達(dá)到遠(yuǎn)程控制的目的。系統(tǒng)總體結(jié)構(gòu)如圖1所示。


2 系統(tǒng)硬件設(shè)計(jì)
 家居監(jiān)控系統(tǒng)的硬件部分如圖2所示,主要包括S3C2410主控制器、USB攝像頭、GPRS模塊、溫度傳感器、紅外傳感器、報(bào)警器和SD卡等。
 系統(tǒng)選用FS2410開發(fā)板作為開發(fā)平臺(tái)。由于該開發(fā)板資源豐富,考慮到系統(tǒng)的實(shí)際需求,以ARM2410內(nèi)核為重點(diǎn),裁剪了必要的功能模塊,設(shè)計(jì)了家居監(jiān)控的硬件模塊。它包含S3C2410 MCU、2片32 MB NAND Flash、1片2 MB NOR Flash以及1片以太網(wǎng)控制芯片,同時(shí)還包括2路串口通信模塊、2個(gè)USB接口、1個(gè)HOST接口、1個(gè)SD卡接口和1個(gè)液晶接口等。
 攝像頭模塊采用中星微ZC301攝像頭,它最高分辨率可達(dá)640×480,圖像清晰、視頻流暢且亮度和對(duì)比度可調(diào)。通過它可以抓取實(shí)時(shí)的數(shù)據(jù),直接通過壓縮編碼技術(shù)存儲(chǔ)在SD卡中,也可以把數(shù)據(jù)發(fā)送到BOA服務(wù)器中,這樣可以通過Internet查看實(shí)時(shí)情況。
 GPRS是在現(xiàn)有的GSM移動(dòng)通信系統(tǒng)的基礎(chǔ)上發(fā)展起來的一種移動(dòng)分組數(shù)據(jù)業(yè)務(wù)。GPRS通信模塊主要由GSM基帶處理器、GSM射頻模塊、供電模塊、閃存、ZIF連接器和天線接口6部分組成,支持?jǐn)?shù)據(jù)、短信、語音和傳真業(yè)務(wù)。該模塊在本設(shè)計(jì)中與S3C2410的UART接口1相連接。
 溫度報(bào)警器模塊是由單片機(jī)(89C52)作為主控芯片,通過RS485總線與主控制器(ARM處理器)進(jìn)行通信。溫度傳感器選用Dallas公司的單線數(shù)字溫度傳感器芯片DS18B20。該芯片與傳統(tǒng)的熱敏電阻有所不同,它可以直接將被測(cè)溫度轉(zhuǎn)化為數(shù)字信號(hào),以供單片機(jī)處理,不需要再設(shè)計(jì)模數(shù)轉(zhuǎn)換電路。此外,它還具有微型化、低功耗、高性能及抗干擾能力強(qiáng)等優(yōu)點(diǎn)。用戶可以自動(dòng)設(shè)定報(bào)警的上限溫度。溫度報(bào)警器模塊如圖3所示。

 紅外監(jiān)控模塊是一種能檢測(cè)人或動(dòng)物身體的紅外線而輸出電信號(hào)的傳感器。這里把它作為機(jī)器的一種傳感器來應(yīng)用。例如,在房間無人的時(shí)候,開啟自動(dòng)監(jiān)控,結(jié)合攝像機(jī)或數(shù)碼照相機(jī)自動(dòng)記錄動(dòng)物和人的活動(dòng)等。
 SD卡是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,它被廣泛地應(yīng)用于便攜式裝置,這里將其應(yīng)用于系統(tǒng)中數(shù)據(jù)的快速備份。
3 系統(tǒng)軟件設(shè)計(jì)
 系統(tǒng)的目標(biāo)代碼運(yùn)行在S3C2410上,選用的開發(fā)平臺(tái)是ubuntu 8.10,uboot選用的版本是0.3.2,Linux內(nèi)核選用的版本是Linux-2.6.8.1,交叉編譯器選用的是gcc-4.1.1,以Linux為嵌入式操作系統(tǒng)來進(jìn)行開發(fā)。圖4為開機(jī)啟動(dòng)的主進(jìn)程;當(dāng)發(fā)現(xiàn)盜賊時(shí),則進(jìn)入圖5所示的防盜進(jìn)程;當(dāng)發(fā)生火災(zāi)時(shí),則進(jìn)入圖6所示的防火進(jìn)程。

 

 

 系統(tǒng)中,消息的傳遞采用共享內(nèi)存的通信方式,共享內(nèi)存相比其他幾種方式有著更方便的數(shù)據(jù)控制能力,數(shù)據(jù)在讀寫過程中會(huì)更透明。當(dāng)成功導(dǎo)入一塊共享內(nèi)存后,它只是相當(dāng)于一個(gè)字符串指針來指向一塊內(nèi)存,在當(dāng)前進(jìn)程下,用戶可以隨意的訪問,決定使用共享內(nèi)存的通信方式。在共享內(nèi)存中定義的協(xié)議如下:
 typedef struct
 {
 short int fireflag;//防火標(biāo)志
 short int thief_start;//防盜標(biāo)志
 short int fire_proofing_opt;//防火開關(guān)
 short int thief_proofing_opt;//防盜開關(guān)
 short int fire_putout_opt;//滅火開關(guān)
 short int photo_opt;//照相開關(guān)
 short int beep_opt;//報(bào)警開關(guān)
 short int message_opt;//短消息開關(guān)
 float temperature;//溫度值
 }shm_buff;
 攝像頭模塊的程序設(shè)計(jì)主要是在Linux內(nèi)核中加入對(duì)ZC301的支持。Video4Linux(簡(jiǎn)稱V4L)是Linux中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動(dòng),它為針對(duì)視頻設(shè)備的應(yīng)用程序編程提供一系列接口函數(shù),這些視頻設(shè)備包括現(xiàn)今市場(chǎng)上流行的TV卡、視頻捕捉卡和USB攝像頭等。

 溫度報(bào)警器模塊主要利用DS18B20來獲取現(xiàn)場(chǎng)實(shí)時(shí)的溫度值,同時(shí)和系統(tǒng)中設(shè)置的上限值(這里設(shè)置為40℃)進(jìn)行比較,如果大于上限值,則執(zhí)行防火監(jiān)控進(jìn)程。內(nèi)核空間通過中斷方式獲取當(dāng)前的溫度值,應(yīng)用程序通過內(nèi)核提供的copy_to_user函數(shù)來獲取溫度數(shù)據(jù)。
紅外監(jiān)控模塊主要利用了熱釋電紅外傳感器來感受外界的變化,產(chǎn)生跳變沿,從而產(chǎn)生中斷的方式,以異步的方式上報(bào)事件,進(jìn)行防盜監(jiān)控。
 內(nèi)核空間的設(shè)計(jì)為:
 irqreturn_t s3c2410but_keyevent();
 kill_fasync(&async_queue,SIGIO,POLL_IN);
 //內(nèi)核空間發(fā)送SIGIO信號(hào)給用戶空間
 用戶空間的設(shè)計(jì)為:
 signal(SIGIO,input_handler);//SIGIO的信號(hào)處理函數(shù)
 fcntl(dev_fd,F(xiàn)_SETOWN,getpid());
 //為應(yīng)用程序指定進(jìn)程為文件的屬主
 oflags=fcntl(dev_fd,F(xiàn)_GETFL);//獲取文件描述符
 fcntl(dev_fd,F(xiàn)_SETFL,oflags|FASYNC);
 //修改相應(yīng)的描述符,在設(shè)備中設(shè)置FASYNC異步標(biāo)志
 SD卡模塊主要是利用Linux內(nèi)核提供的udev機(jī)制處理可熱插拔/動(dòng)態(tài)設(shè)備,結(jié)合Linux下的linuxrc腳本文件,快速實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)移。
 為了實(shí)現(xiàn)動(dòng)態(tài)Web戰(zhàn)術(shù),本系統(tǒng)在設(shè)計(jì)中選用了支持CGI(Common Gateway Interface)技術(shù)的BOA服務(wù)器。CGI在物理上是一段程序,運(yùn)行在服務(wù)器上,提供同客戶端 Html頁(yè)面的接口。
本系統(tǒng)選用SQLite數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)具有功能強(qiáng)大、接口簡(jiǎn)單、速度快、占用空間小的優(yōu)點(diǎn),使其比較適用于嵌入式系統(tǒng)中。SQLite主要用于BOA服務(wù)器登錄的驗(yàn)證。
4 系統(tǒng)的實(shí)現(xiàn)
 本文結(jié)合GPRS、Internet以及視頻采集技術(shù)實(shí)現(xiàn)了具有豐富軟硬件資源、低成本、低功耗、便于擴(kuò)展、升級(jí)及維護(hù)等特點(diǎn)的智能家居監(jiān)控系統(tǒng)。

 本文基于Linux操作系統(tǒng),利用S3C2410為主處理器,結(jié)合GPRS以及Internet實(shí)現(xiàn)了智能家居監(jiān)控系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,各項(xiàng)測(cè)量數(shù)據(jù)準(zhǔn)確,控制過程可靠,使其可以廣泛的應(yīng)用于實(shí)際生活中。
參考文獻(xiàn)
[1] 周曉玲.嵌入式系統(tǒng)的設(shè)計(jì)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2004.
[2] 周立功.S3C2410&嵌入式Linux教程[Z].廣州致遠(yuǎn)電子有限公司.
[3] 戴麗.基于Video4Linux的USB攝像頭圖像采集實(shí)現(xiàn)[D].合肥:合肥工業(yè)大學(xué),2008.
[4] 韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊(cè)[M].北京:人民郵電出版社,2009.
[5] 孫勇,劉杰.基于ARM的GPRS通信終端設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2010(5):49,52.  
[6] Liu Zhiwai. Research of embedded image monitor system based on ARM[D]. Xi′an:Xi′an University of Industry,2006.

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