成都理工大學(xué) 王 佩 陳金鷹 喻恒彥
基于ARM和ZigBee的智能家居的設(shè)計(jì)
成都理工大學(xué)王佩陳金鷹喻恒彥
利用ZigBee無線傳感網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)家電等設(shè)備的控制,將采集到數(shù)據(jù)封裝成統(tǒng)一格式后傳送到ARM平臺(tái)的嵌入式網(wǎng)關(guān),利用Qt編程設(shè)計(jì)的可視化界面,實(shí)現(xiàn)了在網(wǎng)關(guān)上對(duì)采集數(shù)據(jù)的顯示和家電等設(shè)備的控制。另外網(wǎng)關(guān)上嵌入了Boa網(wǎng)絡(luò)服務(wù)器實(shí)現(xiàn)網(wǎng)頁(yè)訪問智能家居控制系統(tǒng),方便用戶在終端瀏覽器上通過網(wǎng)頁(yè)遠(yuǎn)程控制。
ZigBee;ARM;Qt編程
隨著電子信息技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,人們的生活水平大幅度提高,對(duì)生活環(huán)境的舒適度要求也越來越高,構(gòu)建高效的住宅設(shè)施與家庭日程事務(wù)的管理系統(tǒng)成為當(dāng)前的一個(gè)研究熱點(diǎn)。本文設(shè)計(jì)了一個(gè)基于ARM的家居控制系統(tǒng),該系統(tǒng)即可以滿足家庭一般家居的智能化操作,方便的提高人們生活質(zhì)量,又可以實(shí)現(xiàn)對(duì)家居安全性和節(jié)能性的需求[1]。
設(shè)計(jì)實(shí)現(xiàn)的是一個(gè)基于ARM智能家居多平臺(tái)系統(tǒng)。用戶可以通過該系統(tǒng)(目前包括Qt用戶操作平臺(tái)、網(wǎng)頁(yè)用戶操作平臺(tái))實(shí)時(shí)監(jiān)測(cè)房屋的數(shù)據(jù)、遠(yuǎn)程控制家電,并且系統(tǒng)會(huì)完成一些自動(dòng)化控制。系統(tǒng)主要包括了消防系統(tǒng)、門禁系統(tǒng)、家庭環(huán)境數(shù)據(jù)采集系統(tǒng),家電控制系統(tǒng),盆栽植物的遠(yuǎn)程控制澆水系統(tǒng),視頻監(jiān)控系統(tǒng)。其中主要涉及的技術(shù)和工作有:
①通過Linux系統(tǒng)編程完成串口應(yīng)用程序,后臺(tái)服務(wù)進(jìn)程,安卓客戶端的服務(wù)進(jìn)程等;
②向開發(fā)板移植嵌入式web服務(wù)器,通過CGI C編程完成服務(wù)器與硬件的交互;
③通過V4L框架提供的API完成遠(yuǎn)程視頻監(jiān)控程序的編寫;④完成ZigBee的組網(wǎng)和協(xié)議棧的開發(fā);
⑤51單片機(jī)的編程(包括了某些器件的時(shí)序控制),完成了傳感器數(shù)據(jù)的采集和一些器件的控制;
⑥Qt圖形界面編程完成用戶控制界面的開發(fā);
⑦通過HMTL語(yǔ)言加javascript和ajax完成了網(wǎng)頁(yè)控制平臺(tái)。
3.1系統(tǒng)框架圖(見圖1)
圖1 智能家居系統(tǒng)框架圖
圖2 8Byte的char類型數(shù)據(jù)包
3.2系統(tǒng)框架綜合概述
3.2.1網(wǎng)絡(luò)通信的數(shù)據(jù)格式的定義
為了保證系統(tǒng)的可擴(kuò)展性我們自行定義了一種收發(fā)數(shù)據(jù)格式,如圖2所示,在系統(tǒng)中涉及的CDMA、ZigBee、Internet網(wǎng)絡(luò)中均采用這種數(shù)據(jù)格式通信;方便嵌入式網(wǎng)關(guān)對(duì)數(shù)據(jù)的分類處理,以及ZigBee終端接收到協(xié)調(diào)器的信息,匹配自己身份成功后作出相應(yīng)的動(dòng)作[2]。
3.2.2數(shù)據(jù)上傳
第一步:ZigBee終端節(jié)點(diǎn)將采集到的數(shù)據(jù)通過按照先前敘述所定義的格式發(fā)送給ZigBee協(xié)調(diào)器;
第二步:ZigBee協(xié)調(diào)器將數(shù)據(jù)轉(zhuǎn)發(fā)到串口,嵌入式網(wǎng)關(guān)開機(jī)自啟串口后臺(tái)服務(wù)進(jìn)程(該進(jìn)程主要完成嵌入式網(wǎng)關(guān)從串口讀取數(shù)據(jù),并將數(shù)據(jù)寫入到共享內(nèi)存里面,提供給其它應(yīng)用程序使用,另外還能完成一些自動(dòng)化控制(如房間溫度超過用戶設(shè)置的最高值,會(huì)自動(dòng)打開散熱器,模擬空調(diào)給房間降溫);
第三步:Sqlite服務(wù)進(jìn)程從共享內(nèi)存讀取到數(shù)據(jù)插入數(shù)據(jù)表格,實(shí)現(xiàn)房間環(huán)境參數(shù)的歷史數(shù)據(jù)存儲(chǔ);
第四步:Qt從共享內(nèi)存讀出數(shù)據(jù),顯示到智能家居控制面板上;CGI程序?qū)?shù)據(jù)顯示到網(wǎng)頁(yè)上[3]。
3.2.3下達(dá)控制命令
第一步:通過用戶操作智能家居控制界面,把操作指令寫入到共享內(nèi)存里面;
第二步:串口后臺(tái)服務(wù)進(jìn)程將共享內(nèi)存的指令發(fā)送到串口;第三步:ZigBee協(xié)調(diào)從串口讀取指令,并將指令以廣播的形式發(fā)送給該網(wǎng)絡(luò)的ZigBee終端節(jié)點(diǎn);
第四步:ZigBee終端節(jié)點(diǎn)接收到指令,做設(shè)備號(hào)匹配,匹配成功后,就會(huì)執(zhí)行相應(yīng)用戶操作。
該系統(tǒng)主要由兩部分組成:嵌入式網(wǎng)關(guān)部分和智能家居實(shí)體模型部分,因此我們的軟件從這兩部分設(shè)計(jì)。其中智能家居模型主要包括了電源模塊,51單片機(jī)系統(tǒng),ZigBee終端,各類傳感器,電子控制模塊等;嵌入式網(wǎng)關(guān)部分包括Tiny6410嵌入式開發(fā)板,RFID閱讀器模塊,USB攝像頭,wifi-AP模塊,外接音響等。
4.1ARM平臺(tái)軟件設(shè)計(jì)
系統(tǒng)在Qt智能家居控制面板使用Qt Creator集成開發(fā)環(huán)境開發(fā),主要涉及的是控件和槽的使用。實(shí)現(xiàn)各種功能,包括對(duì)各種家居設(shè)備如的控制和相關(guān)工作狀態(tài)查看,系統(tǒng)主界面主要起統(tǒng)籌管理的作用,它給我們提供了各個(gè)功能模塊的接口,只要點(diǎn)擊相應(yīng)的圖標(biāo)按鈕,用戶就可以進(jìn)入相應(yīng)的功能界面,每個(gè)功能的具體實(shí)現(xiàn)由各個(gè)相應(yīng)模塊的代碼完成。串口后臺(tái)服務(wù)程序主要是完成讀取端口的數(shù)據(jù),把數(shù)據(jù)寫入到共享內(nèi)存,方便其他進(jìn)程使用;后臺(tái)服務(wù)程序也會(huì)定時(shí)讀取該共享內(nèi)存另一個(gè)段上,將數(shù)據(jù)寫到端口,發(fā)給ZigBee協(xié)調(diào)器[3]。
4.2ZigBee軟件設(shè)計(jì)
ZigBee選用CC2430型號(hào)的芯片,由于該芯片是一個(gè)加強(qiáng)版的51芯片,里面運(yùn)行ZigBee協(xié)議棧。開發(fā)協(xié)議棧最主要是要了解協(xié)議棧的框架,協(xié)議棧的運(yùn)行。為了開發(fā)方便,開發(fā)主要集中放在應(yīng)用層。主要從ZigBee協(xié)調(diào)器和終端實(shí)現(xiàn)其功能:
ZigBee協(xié)調(diào)器在本系統(tǒng)中主要接受來自終端的數(shù)據(jù),并將數(shù)據(jù)通過串口發(fā)送給ARM開發(fā)板,并且通過回調(diào)函數(shù)觸發(fā)讀取串口的數(shù)據(jù),并將數(shù)據(jù)以廣播的形式發(fā)送給ZigBee終端。
ZigBee終端主要是從串口讀取單片機(jī)C51控制傳感器采集的數(shù)據(jù),通過無線傳感網(wǎng)絡(luò)發(fā)送給ZigBee協(xié)調(diào)器,接受來自ZigBee協(xié)調(diào)器的指令,并匹配指令中的ZigBee號(hào)和設(shè)備號(hào),配成功后,終端執(zhí)行相應(yīng)的動(dòng)作。ZigBee接受指令后,匹配信息成功,將數(shù)據(jù)通過串口發(fā)送給單片機(jī)。
4.3ZigBee軟件設(shè)計(jì)
單片機(jī)選用的是89C54型號(hào),89C54是一款加強(qiáng)版的51MCU,在本系統(tǒng)主要完成一些底層硬件的控制,如矩陣鍵盤的掃描,密碼的匹配,步進(jìn)電機(jī)的控制,溫濕度采集和一些家電的控制。
目前市場(chǎng)智能家居市場(chǎng)的各種各樣產(chǎn)品,但是大部分的普通家庭還是望而止步,主要還是整個(gè)系統(tǒng)的鋪建需要支付不菲的資金。本系統(tǒng)采用嵌入式芯片,不僅具有強(qiáng)大的數(shù)據(jù)處理能力且穩(wěn)定,安全性特別好,量化采購(gòu)價(jià)格也合理。系統(tǒng)實(shí)現(xiàn)了多平臺(tái)控制,用戶可以使用多種終端實(shí)現(xiàn)家庭的監(jiān)控,方便用戶的操作。
[1]馬菁菁.Zigbee無線通信技術(shù)在智能家居中的應(yīng)用研究[D].武漢理工大學(xué),2007.
[2]李文仲,段朝玉.ZigBee2007/PRO協(xié)議棧實(shí)驗(yàn)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2009.
[3]吳文忠,李萬磊.基于ARM和ZigBee的智能家居系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,06:1987-1990.
王佩(1990-),女,山西呂梁人,碩士,現(xiàn)就讀于成都理工大學(xué),研究方向:智能控制。