摘 要: 智能家居是融合了自動(dòng)化控制技術(shù),、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和網(wǎng)絡(luò)通信技術(shù)于一體的網(wǎng)絡(luò)化,、智能化的家居控制系統(tǒng)。智能家居嵌入式無(wú)線網(wǎng)關(guān)的功能是將家庭本地的ZigBee網(wǎng)絡(luò)與Internet和GSM等外網(wǎng)連接,,用戶可隨時(shí)隨地通過(guò)瀏覽器和手機(jī)監(jiān)控與管理家居環(huán)境和設(shè)備,。網(wǎng)關(guān)的設(shè)計(jì)以ARM Cortex-M3為核心,Linux為平臺(tái)操作系統(tǒng),,構(gòu)建嵌入式Boa服務(wù)器,,實(shí)現(xiàn)家庭內(nèi)網(wǎng)與Internet的通信。GSM模塊發(fā)送報(bào)警信息到用戶手機(jī),。經(jīng)測(cè)試,,智能家居網(wǎng)關(guān)具有良好的穩(wěn)定性和可靠性,具有普及推廣的參考價(jià)值和應(yīng)用前景,。
關(guān)鍵詞: 智能家居,;網(wǎng)關(guān);ZigBee,;無(wú)線網(wǎng)絡(luò),;遠(yuǎn)程監(jiān)控
0 引言
智能家居是一個(gè)新興產(chǎn)業(yè),,隨著國(guó)家推動(dòng)信息化、智能化城市發(fā)展的進(jìn)程,,智能家居近幾年得到了快速發(fā)展,,市場(chǎng)消費(fèi)潛力巨大。智能家居以住宅為載體,,利用先進(jìn)的計(jì)算機(jī)技術(shù),、網(wǎng)絡(luò)通信技術(shù)、綜合布線技術(shù),、自動(dòng)控制技術(shù),、安全防范技術(shù)、音視頻技術(shù),,集成家庭日常生活的各類設(shè)施,,實(shí)現(xiàn)高效的住宅管理,構(gòu)建安全便利,、藝術(shù)舒適,、環(huán)保節(jié)能的居住環(huán)境。
智能家居網(wǎng)關(guān)的功能是將Internet或者GSM等外網(wǎng)與家庭本地網(wǎng)絡(luò)連接通信,。家庭本地網(wǎng)絡(luò)通過(guò)建立網(wǎng)絡(luò)以實(shí)現(xiàn)對(duì)家居環(huán)境的數(shù)據(jù)采集與電器設(shè)備的控制,,如通過(guò)對(duì)家庭亮度、溫度,、濕度,、可燃性氣體的監(jiān)測(cè),對(duì)燈光,、窗簾,、空調(diào)、加濕器,、報(bào)警裝置等設(shè)備實(shí)現(xiàn)自動(dòng)控制,;通過(guò)網(wǎng)關(guān),用戶可以通過(guò)遠(yuǎn)程PC,、手機(jī),、互聯(lián)網(wǎng)電視等終端來(lái)監(jiān)控智能家居。
目前主流的無(wú)線通信技術(shù)包括紅外技術(shù),、家庭無(wú)線電射頻技術(shù),、WiFi技術(shù)、GSM技術(shù),、ZigBee技術(shù),,這些技術(shù)各有優(yōu)缺點(diǎn),無(wú)法獨(dú)自擔(dān)當(dāng)智能家居無(wú)線網(wǎng)絡(luò)體系傳輸?shù)闹厝蝃1],。ZigBee傳輸速率為250 kb/s,,家居環(huán)境的數(shù)據(jù)采集與電器設(shè)備的控制需要傳輸?shù)臄?shù)據(jù)量不大且數(shù)據(jù)結(jié)構(gòu)相對(duì)簡(jiǎn)單,,因此家庭內(nèi)網(wǎng)采用ZigBee技術(shù)可以滿足智能家居架構(gòu)內(nèi)部的網(wǎng)絡(luò)需求[2];WiFi的速率為11 Mb/s,,屬于高速網(wǎng)絡(luò),,可滿足用戶方便地通過(guò)Internet網(wǎng)絡(luò)監(jiān)控,而全球應(yīng)用最廣泛的移動(dòng)電話GSM標(biāo)準(zhǔn),,可滿足用戶隨時(shí)隨地通過(guò)手機(jī)遠(yuǎn)程監(jiān)控,。本文設(shè)計(jì)的智能家居嵌入式無(wú)線網(wǎng)關(guān)的功能是將家庭本地的ZigBee網(wǎng)絡(luò)與Internet和GSM網(wǎng)絡(luò)等外網(wǎng)連接,用戶可以通過(guò)外網(wǎng)對(duì)本地網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程監(jiān)控,。
1 網(wǎng)關(guān)的硬件結(jié)構(gòu)
1.1 總體架構(gòu)
為實(shí)現(xiàn)多種無(wú)線網(wǎng)絡(luò)融合的智能家居系統(tǒng),,嵌入式智能網(wǎng)關(guān)的硬件設(shè)計(jì)由處理器、無(wú)線收發(fā)模塊,、以太網(wǎng)模塊和GSM模塊等組成。無(wú)線收發(fā)模塊與智能家居的ZigBee網(wǎng)絡(luò)通信,,ZigBee網(wǎng)絡(luò)包括協(xié)調(diào)器,、各類傳感器終端節(jié)點(diǎn),具體包括溫/濕度采集節(jié)點(diǎn),、可燃?xì)怏w報(bào)警信號(hào)采集節(jié)點(diǎn)以及各控制節(jié)點(diǎn),。以太網(wǎng)模塊將網(wǎng)關(guān)連接入Internet網(wǎng)。GSM模塊具有發(fā)送SMS短信,、語(yǔ)音通話,、GPRS數(shù)據(jù)傳輸?shù)然贕SM網(wǎng)絡(luò)進(jìn)行通信的所有基本功能。網(wǎng)關(guān)硬件結(jié)構(gòu)如圖1所示,。
處理器選用ST公司的基于ARM Cortex-M3內(nèi)核的STM32F103型號(hào)單片機(jī)[3],。STM32F103工作頻率達(dá)到72 MHz,內(nèi)置高速存儲(chǔ)器,。調(diào)試模式有2種,,串口調(diào)試和JTAG接口,本文中采用串口調(diào)試方式,。STM32F103接口豐富,,有2個(gè)T2C接口(SM-Bus/PMBus)、5個(gè)USART接口,、3個(gè)SPI接口等,。這些特性足以滿足本網(wǎng)關(guān)設(shè)計(jì)的要求。
1.2 無(wú)線收發(fā)模塊
無(wú)線收發(fā)模塊采用TI公司的CC2530芯片,。它結(jié)合一個(gè)高性能2.4 GHz DSSS射頻收發(fā)器核心和一顆工業(yè)級(jí)小巧高效的8051控制器,。系統(tǒng)內(nèi)具有可編程閃存、 8 KB RAM和許多其他強(qiáng)大的功能,。CC2530具有休眠模式,,而且轉(zhuǎn)換到主動(dòng)模式的時(shí)間超短,,特別適合智能家居中要求長(zhǎng)期使用避免頻繁換電池的需求[4]。CC2530模塊通過(guò)SPI接口與處理器相連接,,采用3 V紐扣鋰電池供電,。
1.3 以太網(wǎng)模塊
以太網(wǎng)控制芯片選用DM9000A,是臺(tái)灣DEVICOM公司研發(fā)的10 M/100 M自適應(yīng)以太網(wǎng)控制器芯片,,它能滿足數(shù)據(jù)傳輸需要并且性價(jià)比高,、占用資源少,在工業(yè)上得到廣泛應(yīng)用,。圖2是以太網(wǎng)控制器與處理器的連接圖,。處理器通過(guò)FSMC總線連接以太網(wǎng)控制芯片,即FSMC D0~D15腳按順序連接到DM9000A的SD0~SD15,;FSMC A2連接CMD,,當(dāng)CMD值為1時(shí),處理器訪問(wèn)DM9000A的數(shù)據(jù)寄存器,;當(dāng)CMD值為0時(shí),,處理器訪問(wèn)DM9000A的地址寄存器。IOR與IOW分別控制DM9000A的讀和寫(xiě),。CS是芯片的片選信號(hào)線,,INT為中斷,PWRST是外部復(fù)位管腳,。
1.4 GSM模塊
GSM模塊采用SIMCom的無(wú)線模塊SIM300,。SIM300是一款4頻GSM/GPRS模塊,工作頻率為GSM/GPRS 850/900/1800/1900 MHz,,可以低功耗實(shí)現(xiàn)語(yǔ)音,、SMS、數(shù)據(jù)和傳真信息的傳輸,。SIM300的尺寸大小為40×33× 2.85(mm),,能適用于M2M應(yīng)用中的各類設(shè)計(jì)需求,尤其適用于緊湊型產(chǎn)品設(shè)計(jì),。該模塊使得用戶可以通過(guò)隨身攜帶的手機(jī)對(duì)家里環(huán)境進(jìn)行監(jiān)控,,一旦有緊急情況發(fā)生,報(bào)警信息會(huì)發(fā)送到手機(jī),,方便用戶第一時(shí)間處理,。
2 網(wǎng)關(guān)軟件設(shè)計(jì)
ARM Cortex-M3采用免費(fèi)開(kāi)源的Linux作為平臺(tái)操作系統(tǒng),Linux占用資源小,、內(nèi)核可裁剪,、移植方便,能滿足智能家居網(wǎng)關(guān)的設(shè)計(jì)要求[5],。
2.1 網(wǎng)關(guān)與Internet通信
嵌入式的Web服務(wù)器目前主要有Boa,、Goahead,、Thttpd、Shttpd,、Appweb和Apache等,。嵌入式設(shè)備的資源相對(duì)有限且并不需要并發(fā)處理多用戶需求,因此本設(shè)計(jì)采用開(kāi)源的Boa服務(wù)器[6],。它占用資源小,,支持CGI程序,性能優(yōu)越,。CGI(Common Gateway Interface,,公共網(wǎng)關(guān)接口)運(yùn)行在服務(wù)器上,提供同客戶端HTML頁(yè)面的接口[7],。
在嵌入式ARM服務(wù)器的Linux操作系統(tǒng)上安裝Boa網(wǎng)頁(yè)服務(wù)器,,當(dāng)服務(wù)器接受用戶通過(guò)瀏覽器發(fā)送的請(qǐng)求,Boa通過(guò)CGI方式調(diào)用C語(yǔ)言程序獲取家居本地網(wǎng)絡(luò)的狀態(tài)信息,,再返回給瀏覽器頁(yè)面,。處理步驟如下:
(1)用戶請(qǐng)求通過(guò)IE瀏覽器發(fā)送給Boa服務(wù)器,;
(2)Boa服務(wù)器接受用戶請(qǐng)求并傳送給CGI程序處理,;
?。?)CGI程序讀取各傳感器節(jié)點(diǎn)的狀態(tài)數(shù)據(jù)并傳送給Boa服務(wù)器;
?。?)服務(wù)器將處理結(jié)果返回給用戶,。
服務(wù)器中網(wǎng)頁(yè)采用HTML語(yǔ)言來(lái)編寫(xiě),腳本采用Javascript,,例如從家庭內(nèi)網(wǎng)獲得室溫狀態(tài)數(shù)據(jù),,對(duì)應(yīng)的Javascript腳本程序如下:
<head>……
<script language="javascript"type="text/javascript"src="/jquery.js" charset="utf-8">
</script>
</head>
<script language="javascript">
function start_fun(){
get_temperature();}//調(diào)用獲取溫度函數(shù)
function get_temperature(){//定義溫度獲取函數(shù)
var u=function(txt){
document.getElementById("temperature").value=txt,; //接收服務(wù)器發(fā)送的溫度信息
disableButtons(flase),;}
jQuery.post("/cgi-bin/get_temperature.cgi","",,u),;}
//向服務(wù)器發(fā)送獲取溫度命令
</script>
2.2 網(wǎng)關(guān)與GSM通信
GSM模塊與系統(tǒng)ARM處理器串口方式連接,通過(guò)AT指令集進(jìn)行通信[8],。SMS_flag標(biāo)志位表示處理器的短信緩沖區(qū)數(shù)組是否有內(nèi)容,,當(dāng)有內(nèi)容時(shí),標(biāo)志位設(shè)為1,,當(dāng)內(nèi)容被讀取后,,標(biāo)志位設(shè)為0,。處理器通過(guò)發(fā)送AT指令到GSM模塊后,等模塊返回“OK”,,則模塊與控制器通信正常,。接著檢測(cè)數(shù)據(jù)標(biāo)志位,data_flag標(biāo)志位等于1,,則有數(shù)據(jù)發(fā)送,,調(diào)用短消息發(fā)送函數(shù)SMS_sendout()發(fā)送數(shù)據(jù),發(fā)送成功則結(jié)束,,否則重新調(diào)用短消息發(fā)送函數(shù),。通信流程如圖3所示。
3 測(cè)試
網(wǎng)關(guān)與ZigBee節(jié)點(diǎn)上電后,,協(xié)調(diào)器建立網(wǎng)絡(luò),,ZigBee節(jié)點(diǎn)加入該網(wǎng)絡(luò)并開(kāi)始發(fā)送數(shù)據(jù)。測(cè)試中,,ZigBee節(jié)點(diǎn)每隔1 s向網(wǎng)關(guān)發(fā)送溫度,、濕度、電壓等信息,,網(wǎng)關(guān)收到數(shù)據(jù)進(jìn)行處理,。SIM模塊的TXD、RXD使用杜邦線連接到ARM串口1的RXD,、TXD,,在RealView MDK開(kāi)發(fā)環(huán)境中調(diào)試。SIM模塊的RS232接口連接到電腦,,通過(guò)串口調(diào)試助手工具測(cè)試數(shù)據(jù),。
測(cè)試中設(shè)置夏季室內(nèi)溫度閾值為28℃,即當(dāng)室溫超過(guò)閾值,,自動(dòng)開(kāi)啟空調(diào),。SIM模塊收到處理器傳遞的各節(jié)點(diǎn)狀態(tài)信息后,生成提示短信“High temperature warning”,,模塊提示+CMTI:"SM",,8,表明有新的短信,,存放在SIM卡的位置8,。然后,發(fā)送AT+CMGR=8,,即可讀取該短信,。調(diào)試軟件顯示短信發(fā)送方的電話號(hào)碼和發(fā)送時(shí)間,發(fā)送的內(nèi)容與預(yù)設(shè)的一致,如圖4所示,。
ZigBee網(wǎng)關(guān)設(shè)備上電,,通過(guò)RJ45接口連接路由器。網(wǎng)關(guān)IP地址配置為192.168.139.254,,客戶端PC的IP設(shè)為192.168.139.20,,與ZigBee網(wǎng)關(guān)的IP處于同一網(wǎng)段。打開(kāi)IE瀏覽器,,輸入ZigBee網(wǎng)關(guān)的IP,,則運(yùn)行嵌入式Web服務(wù)器頁(yè)面,如圖5所示,。在該界面實(shí)時(shí)顯示當(dāng)前的室內(nèi)溫度,,能正確接收Z(yǔ)igBee網(wǎng)絡(luò)的節(jié)點(diǎn)狀態(tài)數(shù)據(jù)。在設(shè)備控制中,,空調(diào)設(shè)備自動(dòng)打開(kāi),,從而實(shí)現(xiàn)對(duì)家居的遠(yuǎn)程控制。
4 結(jié)論
本文設(shè)計(jì)了智能家居嵌入式無(wú)線網(wǎng)關(guān),,其功能是將家庭本地的ZigBee網(wǎng)絡(luò)與Internet和GSM網(wǎng)絡(luò)等外網(wǎng)連接,,用戶可隨時(shí)隨地通過(guò)手機(jī)和瀏覽器監(jiān)控與管理家居環(huán)境和設(shè)備。網(wǎng)關(guān)的設(shè)計(jì)以ARM Cortex-M3為核心,,以Linux為平臺(tái)操作系統(tǒng),,構(gòu)建嵌入式Boa服務(wù)器,實(shí)現(xiàn)家庭內(nèi)網(wǎng)與Internet的通信,。GSM模塊發(fā)送報(bào)警信息到用戶手機(jī),。經(jīng)測(cè)試,智能家居嵌入式無(wú)線網(wǎng)關(guān)具有良好的穩(wěn)定性和可靠性,,具有普及推廣的參考價(jià)值和應(yīng)用前景。
參考文獻(xiàn)
[1] 閔麗娟,,盧捍華,,陳玲,等.智能家居的系統(tǒng)結(jié)構(gòu)及相關(guān)無(wú)線通信技術(shù)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,,2011,,21(8):169-172.
[2] 冉彥中,曹婧華,,姜威,,等.ZigBee協(xié)議星形組網(wǎng)實(shí)驗(yàn)的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理,2013,,30(2):101-102.
[3] 孫弋.ARM-Linux嵌入式系統(tǒng)開(kāi)發(fā)基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,,2008.
[4] 陳龍濤,羅桂娥.基于ZigBee技術(shù)智能家居系統(tǒng)的研究與設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2010,,29(20):100-102.
[5] 李萌,,楊彬,陳維琨,,等.基于ARM的嵌入式工業(yè)無(wú)線網(wǎng)關(guān)的設(shè)計(jì)[J].自動(dòng)化與儀表,,2013,28(9):29-32,,57.
[6] 宗鑫祺,,張偉.基于ARM和ZigBee的智能家居系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2014,,33(1):54-55,,59.
[7] 俞文俊,凌志浩.一種物聯(lián)網(wǎng)智能家居系統(tǒng)的研究[J].自動(dòng)化儀表,,2011,,32(8):56-59.
[8] 陳滟濤,楊俊起,,康潤(rùn)生,,等.基于SIM300的短信傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2008,,30(3):156-158.