牛國鋒,張明新,鄭金龍
(常熟理工學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500)
隨著電子技術(shù)、計(jì)算機(jī)技術(shù)和通信技術(shù)的蓬勃發(fā)展,物聯(lián)網(wǎng)技術(shù)日趨被人們所熟知和接受.近幾年來,WIFI和ZigBee無線傳感網(wǎng)技術(shù)與物聯(lián)網(wǎng)技術(shù)的廣泛結(jié)合,給人們生活和生產(chǎn)的很多領(lǐng)域帶來非常大的改變和深遠(yuǎn)的影響[1].同時,人們對生活質(zhì)量和家居設(shè)施的要求也隨著物聯(lián)網(wǎng)的發(fā)展和應(yīng)用隨之提高,因此,物聯(lián)網(wǎng)應(yīng)用于智能家居控制有非常廣闊應(yīng)用前景,它將極大地改變我們目前的生活方式和理念[2].
物聯(lián)網(wǎng)是通過傳感技術(shù)、射頻識別、無線通信技術(shù)等,在物理世界里部署具有各種感知能力、計(jì)算能力和執(zhí)行能力的嵌入式微型芯片,利用軟件和控制端使之成為智能物體,通過網(wǎng)絡(luò)實(shí)現(xiàn)信息的采集、傳輸、實(shí)時監(jiān)測、協(xié)同和處理,從而實(shí)現(xiàn)物與物、物與人之間的互聯(lián)[3].物聯(lián)網(wǎng)推動了智能家居、智能交通、智能穿戴、車聯(lián)網(wǎng)等新興行業(yè)的創(chuàng)新與蓬勃發(fā)展.
無線傳感網(wǎng)(Wireless Sensor Networks)被認(rèn)為是21世紀(jì)最具影響力的技術(shù)之一,在多個領(lǐng)域有著非常廣泛的應(yīng)用空間和巨大的應(yīng)用前景.ZigBee無線傳感網(wǎng)技術(shù)[4-6]是一種新興的無線網(wǎng)絡(luò)技術(shù),該技術(shù)傳輸距離較短,低速率、低功耗、組網(wǎng)簡單、工作頻段靈活、可靠性高、成本低,本身可實(shí)現(xiàn)自組網(wǎng)和自恢復(fù)功能,非常適用于現(xiàn)代生活中無線家居室內(nèi)監(jiān)測系統(tǒng)[7].
本設(shè)計(jì)采用多核心硬件處理器架構(gòu),ZigBee主控芯片CC2530能夠以非常低的材料成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn),終端傳感器模塊與CC2530主控芯片的ZigBee無線模塊連接,處理器CC2530芯片采用內(nèi)置增強(qiáng)型8位MCU處理器和RF收發(fā)器,具有256 KB閃存和8 KB RAM,板載PCB無線天線,可實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送.無線網(wǎng)絡(luò)中的模塊和節(jié)點(diǎn)都采用12 V直流電源適配器獨(dú)立供電,保證了整個無線網(wǎng)絡(luò)的持久穩(wěn)定性[8].各匯聚節(jié)點(diǎn)處理器采用32位STM32處理器進(jìn)行數(shù)據(jù)的傳輸和處理,嵌入式網(wǎng)關(guān)部分則采用高性能四核心處理器ARM Cortex-A9核心處理器,該架構(gòu)模式應(yīng)用擴(kuò)展靈活,技術(shù)性強(qiáng).
智能家居系統(tǒng)設(shè)計(jì)主要包括室內(nèi)環(huán)境檢測、安防監(jiān)測和家居狀態(tài)智能控制3個主要模塊.
室內(nèi)環(huán)境檢測單元:包括居住環(huán)境室內(nèi)溫濕度檢測、光照強(qiáng)度檢測、煙霧檢測、可燃有害氣體檢測和PM2.5檢測.
安防監(jiān)測單元:包括人外出時開啟人體紅外監(jiān)測傳感器監(jiān)測和與之聯(lián)動的自動報(bào)警燈裝置.
家電狀態(tài)智能控制單元:包括室內(nèi)節(jié)能燈控制、風(fēng)扇空調(diào)控制、電動窗簾控制.
通過ZigBee無線通信鏈路和智能網(wǎng)關(guān)進(jìn)行通信,配套智能家居軟件進(jìn)行程序燒寫下載,3個功能單元實(shí)現(xiàn)智能化監(jiān)測控制,并支持多種家居智能模式,包括會客、外出、睡眠等智能聯(lián)動.
該系統(tǒng)的工作流程如下:首先,家庭內(nèi)部網(wǎng)絡(luò)采用ZigBee自組建星型結(jié)構(gòu)無線通信網(wǎng)絡(luò),在室內(nèi)各個不同的位置根據(jù)需要布控不同的終端傳感器節(jié)點(diǎn)、監(jiān)測裝置和控制終端,同時每個終端節(jié)點(diǎn)匹配相應(yīng)的ZigBee節(jié)點(diǎn),以及一個協(xié)調(diào)器.運(yùn)行過程中,各終端節(jié)點(diǎn)采集的數(shù)據(jù)及控制終端節(jié)點(diǎn)控制信號經(jīng)無線網(wǎng)絡(luò),發(fā)送到ZigBee協(xié)調(diào)器端,協(xié)調(diào)器通過串口與網(wǎng)關(guān)連接,把數(shù)據(jù)發(fā)送到高性能四核ARM Cortex-A9處理器,處理器對接收的數(shù)據(jù)進(jìn)行處理后,再由網(wǎng)關(guān)通過GPRS/GSM模塊傳輸?shù)酵獠烤W(wǎng)絡(luò),最后用戶可通過手機(jī)或計(jì)算機(jī)的控制界面進(jìn)行查看家中環(huán)境狀況和根據(jù)需求進(jìn)行遠(yuǎn)程家電控制[9].
硬件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)及連接組網(wǎng)整體示意圖如圖1所示.
圖1 硬件系統(tǒng)總體結(jié)構(gòu)及組網(wǎng)示意圖
本設(shè)計(jì)主要分為室內(nèi)環(huán)境檢測、家居控制和安防監(jiān)測3大主要功能模塊,共10個ZigBee終端節(jié)點(diǎn).環(huán)境檢測終端節(jié)點(diǎn)實(shí)現(xiàn)功能包括室內(nèi)溫度檢測、濕度檢測、人體紅外線檢測、光照強(qiáng)度檢測、室內(nèi)煙霧情況檢測、PM2.5值檢測、可燃?xì)怏w檢測,主要用于對居住室內(nèi)環(huán)境各項(xiàng)數(shù)據(jù)進(jìn)行檢測.安防監(jiān)測終端主要包括人體紅外傳感器和與之聯(lián)動的報(bào)警燈裝置,主要用于人在外出情況下,開啟人體紅外監(jiān)測功能,如監(jiān)測到有人入侵的情況下,與之聯(lián)動的報(bào)警裝置立即報(bào)警.家居控制終端節(jié)點(diǎn)包括節(jié)能燈開關(guān)控制、空調(diào)開關(guān)控制和電動窗簾開關(guān)控制,主要用于通過對家庭室內(nèi)亮度、溫度、濕度等數(shù)據(jù)檢測,對燈光、窗簾、電器等設(shè)備實(shí)現(xiàn)遠(yuǎn)程智能化控制.同時,每個終端節(jié)點(diǎn)都有相應(yīng)接口與ZigBee模塊連接通信.
協(xié)調(diào)器作為整個家庭ZigBee無線網(wǎng)絡(luò)的核心,發(fā)揮其組網(wǎng)和協(xié)同的重要功能.本設(shè)計(jì)中,協(xié)調(diào)器與下位機(jī)各個終端節(jié)點(diǎn)之間通過ZigBee無線組網(wǎng)模塊組網(wǎng)后進(jìn)行無線通信,協(xié)調(diào)器與上位機(jī)之間采用串口模式RS-232通信接口進(jìn)行有線連接,實(shí)現(xiàn)數(shù)據(jù)的傳輸通信.下位機(jī)ZigBee協(xié)調(diào)器模塊預(yù)先通過編程寫入相應(yīng)的自組網(wǎng)程序,上電啟動,協(xié)調(diào)器利用自身組網(wǎng)功能自組建ZigBee無線網(wǎng)絡(luò),并接收各終端節(jié)點(diǎn)以及路由節(jié)點(diǎn)的入網(wǎng)請求.在有效的傳輸范圍內(nèi),分布在各個不同位置的節(jié)點(diǎn)完成組網(wǎng)后,將會獨(dú)立地進(jìn)行數(shù)據(jù)的實(shí)時采集和監(jiān)測任務(wù).各單獨(dú)模塊與CC2530模塊之間通過串口連接,進(jìn)行底層之間的數(shù)據(jù)通信.相應(yīng)采集點(diǎn)采集和檢測到的終端節(jié)點(diǎn)數(shù)據(jù)發(fā)送給CC2530,芯片處理模塊對接收到的數(shù)據(jù)信息進(jìn)行預(yù)處理后,再發(fā)送給ZigBee網(wǎng)絡(luò)中的路由節(jié)點(diǎn),路由模塊再與協(xié)調(diào)器進(jìn)行無線通信,最后協(xié)調(diào)器通過串口通信將數(shù)據(jù)發(fā)送到上位機(jī)端[10].
智能家居網(wǎng)關(guān)的功能主要是將家庭網(wǎng)絡(luò)局域網(wǎng)接入Internet或者GSM等外網(wǎng),實(shí)現(xiàn)相互之間通信,完成數(shù)據(jù)采集、監(jiān)測和遠(yuǎn)程控制.家庭本地網(wǎng)絡(luò)通過網(wǎng)關(guān)接入無線網(wǎng)絡(luò),本系統(tǒng)中家庭網(wǎng)關(guān)硬件電路主要包括控制器(STM32 W108)模塊、通信模塊(UART、GPRS/GSM、Ethernet和ZigBee)、LCD液晶顯示模塊、按鍵控制模塊和數(shù)據(jù)存儲模塊等,通過網(wǎng)關(guān),用戶可以通過遠(yuǎn)程PC、手機(jī)等終端來監(jiān)控智能家居[11].網(wǎng)關(guān)的連接通過串口通信實(shí)現(xiàn),傳感器收到查詢命令或上報(bào)自己的狀態(tài)信息,都是通過串口的方式進(jìn)行數(shù)據(jù)傳輸,無線Zigbee需要通過串口配置實(shí)現(xiàn)無線透傳功能來完成數(shù)據(jù)傳輸.預(yù)先通過編程寫入相應(yīng)的網(wǎng)關(guān)功能程序,系統(tǒng)啟動后,通過上位機(jī)終端軟件設(shè)置用于通信的相應(yīng)串口號、波特率和校驗(yàn)位等參數(shù),然后開啟串口連接進(jìn)行數(shù)據(jù)通信.
本網(wǎng)關(guān)基于ARM Cortex A9高性能的32位處理器,采用Android操作系統(tǒng).
該智能家居系統(tǒng)按功能主要分3大模塊,各個任務(wù)模塊設(shè)計(jì)都是相對獨(dú)立的,因此采用模塊化設(shè)計(jì)使各部分的功能層次相對清晰明確、管理維護(hù)方便,同時使該系統(tǒng)的工作效率大大提高[12].各個模塊設(shè)計(jì)板載USB轉(zhuǎn)串口,Mini USB線連接至上位機(jī)計(jì)算機(jī),可用于各個不同功能的無線通信模塊串口調(diào)試和下載寫入編寫好的實(shí)現(xiàn)不同功能程序代碼.
軟件設(shè)計(jì)部分主要是基于Z-Stack協(xié)議棧中Sample APP工程編程開發(fā),終端PC機(jī)作為上位機(jī)的開發(fā)環(huán)境,分別編程實(shí)現(xiàn)協(xié)調(diào)器、路由器、終端節(jié)點(diǎn)數(shù)據(jù)采集功能,以及相互之間組網(wǎng)和通信功能等.終端顯示界面采用界面設(shè)計(jì)軟件Z-Sensor Monitor實(shí)現(xiàn)顯示功能.
軟件總體設(shè)計(jì)實(shí)現(xiàn)流程如圖2所示.
圖2 程序設(shè)計(jì)流程圖
整個ZigBee無線網(wǎng)絡(luò)的核心模塊是協(xié)調(diào)器,協(xié)調(diào)器主要的功能是組網(wǎng)和協(xié)同功能,同時在協(xié)調(diào)器節(jié)點(diǎn)中集成CC2530芯片,用于數(shù)據(jù)的即時處理.通過預(yù)先編程寫入相應(yīng)的協(xié)調(diào)器功能系統(tǒng)上電啟動后,協(xié)調(diào)器按照預(yù)先制定的協(xié)議規(guī)則發(fā)起一個特定頻段的網(wǎng)絡(luò),利用通道掃描功能制定并選擇最優(yōu)網(wǎng)絡(luò)信道組建無線網(wǎng)絡(luò).網(wǎng)絡(luò)組建成功后,協(xié)調(diào)器在網(wǎng)絡(luò)運(yùn)行過程中還要負(fù)責(zé)對整個網(wǎng)絡(luò)的監(jiān)聽和維護(hù)工作,當(dāng)協(xié)調(diào)器接收到上位機(jī)數(shù)據(jù)進(jìn)行識別,按照接收到的請求信息類型確認(rèn)后轉(zhuǎn)發(fā)給與之相對應(yīng)的各個功能節(jié)點(diǎn),并對各個節(jié)點(diǎn)發(fā)送給上位機(jī)的數(shù)據(jù)幀添加網(wǎng)絡(luò)地址后轉(zhuǎn)發(fā)給上位機(jī)[13].在本設(shè)計(jì)中,協(xié)調(diào)器與上位機(jī)PC機(jī)之間采用串口通信,將各節(jié)點(diǎn)的數(shù)據(jù)信息發(fā)送給計(jì)算機(jī),計(jì)算機(jī)對接收到的各種數(shù)據(jù)存儲、處理和通過終端界面進(jìn)行顯示.
協(xié)調(diào)器節(jié)點(diǎn)程序流程如圖3所示.
圖3 協(xié)調(diào)器程序流程圖
通過上位機(jī)終端界面設(shè)計(jì)軟件,ZigBee_Demo顯示界面能夠方便直觀地察看和掌握ZigBee網(wǎng)絡(luò)組網(wǎng)情況、網(wǎng)絡(luò)節(jié)點(diǎn)及各節(jié)點(diǎn)數(shù)據(jù)監(jiān)測情況,上位機(jī)上各個終端成功接入網(wǎng)絡(luò)后GUI界面顯示,特別是家居環(huán)境監(jiān)測數(shù)據(jù)顯示充分給人們展示了物聯(lián)網(wǎng)的優(yōu)越性.智能家居環(huán)境監(jiān)測DEMO界面設(shè)計(jì)如圖4所示.
圖4 智能家居環(huán)境監(jiān)測DEMO界面
物聯(lián)網(wǎng)旨在實(shí)現(xiàn)人與物、物與物之間的智能控制和通信,應(yīng)用于實(shí)際生活生產(chǎn)中具有很好的創(chuàng)新和實(shí)用價(jià)值.物聯(lián)網(wǎng)中各節(jié)點(diǎn)間通信通常采用ZigBee技術(shù),其具有可靠性高、功耗低、組網(wǎng)靈活等特點(diǎn).本文設(shè)計(jì)實(shí)現(xiàn)的一種物聯(lián)網(wǎng)智能家居系統(tǒng)主要基于ZigBee無線傳感網(wǎng)技術(shù),實(shí)現(xiàn)家庭內(nèi)部自組網(wǎng),完成室內(nèi)環(huán)境數(shù)據(jù)信息的采集、監(jiān)測和家居控制,并通過嵌入式處理器ARM Cortex-A9核心網(wǎng)關(guān)使家庭內(nèi)部網(wǎng)絡(luò)與Internet網(wǎng)、無線網(wǎng)路等互聯(lián)通信,實(shí)現(xiàn)計(jì)算機(jī)或手機(jī)等終端控制.該系統(tǒng)能很好地通過無線組網(wǎng)技術(shù)組建家庭網(wǎng)絡(luò)和完成各種信息數(shù)據(jù)傳輸和通信,傳感器控制技術(shù)進(jìn)行家庭環(huán)境信息的采集、監(jiān)測和狀態(tài)智能控制,避免了在家里進(jìn)行冗雜的布線,很好地解決了控制器與各個智能模塊之間的無線通信.該系統(tǒng)為人們的家居生活提供了便利,對未來智能家居系統(tǒng)的研究和應(yīng)有都具有很好參考價(jià)值.