李 宇,王衛(wèi)星,陳潤澤
(華南農(nóng)業(yè)大學(xué)電子工程學(xué)院,廣東廣州 510642)
?
基于ZigBee的物聯(lián)網(wǎng)智能家居系統(tǒng)
李 宇,王衛(wèi)星,陳潤澤
(華南農(nóng)業(yè)大學(xué)電子工程學(xué)院,廣東廣州 510642)
摘要:提出了一種物聯(lián)網(wǎng)智能家居系統(tǒng),該系統(tǒng)以ARM微處理器LC1813為核心,采用客戶端/服務(wù)器模式,通過Internet局域網(wǎng)和無線局域網(wǎng)接入到公共網(wǎng)絡(luò),在家庭內(nèi)部通過CC2530無線發(fā)送芯片的Zigbee無線網(wǎng)絡(luò)將家用電器與其他監(jiān)控設(shè)備連接在一起組成無線家庭網(wǎng)絡(luò);通過手機客戶端和Windows客戶端對家庭內(nèi)部或電器設(shè)備進行監(jiān)控;經(jīng)實際測試結(jié)果表明,系統(tǒng)組網(wǎng)方便、運行穩(wěn)定,能達到物聯(lián)網(wǎng)智能家居系統(tǒng)的一般要求。
關(guān)鍵詞:物聯(lián)網(wǎng)嵌入式系統(tǒng)智能家居ZigBee
隨著人類社會的發(fā)展,計算機技術(shù)、嵌入式技術(shù)、無線通信等技術(shù)已成為人類必不可少的現(xiàn)代化技術(shù)。
近年來,物聯(lián)網(wǎng)已成為全球關(guān)注的熱點,被認為是繼互聯(lián)網(wǎng)之后最重大的科技創(chuàng)新。物聯(lián)網(wǎng)通過ZigBee、RFID、GSM/GPRS、紅外感應(yīng)器等信息傳感設(shè)備,按照約定的協(xié)議在物品與物品之間,物品與互聯(lián)網(wǎng)之間進行信息傳遞。基于物聯(lián)網(wǎng)的智能家居系統(tǒng),表現(xiàn)為將家居生活有關(guān)的各種設(shè)備進行組網(wǎng)并與互聯(lián)網(wǎng)連接在一起,進行實時監(jiān)控和管理,其包括:智能家居控制管理系統(tǒng)、終端(家居傳感器終端、控制器)、家庭網(wǎng)絡(luò)、外聯(lián)網(wǎng)絡(luò)、信息中心等。
目前國內(nèi)的智能家居系統(tǒng)存在著許多問題,如:功能實用性不強、成本高昂、缺乏規(guī)范統(tǒng)一的行業(yè)標準、跨產(chǎn)業(yè)的合作困難重重、缺乏完善的產(chǎn)業(yè)鏈和商業(yè)模式、傳感器、芯片安全、可靠性、個人隱私、地址資源等技術(shù)挑戰(zhàn)等。針對這一問題本文將設(shè)計了一種基于Zigbee的物聯(lián)網(wǎng)智能家居系統(tǒng),通過手機客戶端和Windows客戶端對家庭環(huán)境和電器設(shè)備進行監(jiān)視和控制,以完成物聯(lián)網(wǎng)智能家居系統(tǒng)的設(shè)計。
系統(tǒng)結(jié)構(gòu)設(shè)計如圖1所示,主要由3部分組成:系統(tǒng)客戶端、嵌入式家庭網(wǎng)關(guān)和Zigbee無線傳輸網(wǎng)絡(luò)??梢苑譃榉?wù)器和客戶端兩個結(jié)構(gòu)單元。
圖1 智能家居系統(tǒng)結(jié)構(gòu)
服務(wù)器單元由ARM處理器、Zigbee無線傳輸節(jié)點、以太網(wǎng)/路由器通信單元等組成。嵌入式家庭網(wǎng)關(guān)可以通過I/O口連接其他設(shè)備,如:攝像頭等,其對家庭環(huán)境狀況進行監(jiān)視。Zigbee無線通信單元由Zigbee協(xié)調(diào)器和Zigbee節(jié)點組成,采用星型結(jié)構(gòu)作為智能家居的內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu),并且各個Zigbee節(jié)點上配備了相應(yīng)的傳感器模塊或控制器模塊,可以對環(huán)境進行實時監(jiān)視和對電器設(shè)備實時控制。傳感器模塊通過Zigbee節(jié)點將數(shù)據(jù)發(fā)送到Zigbee協(xié)調(diào)器,然后通過家庭網(wǎng)關(guān)和以太網(wǎng)/路由器將數(shù)據(jù)傳輸?shù)娇蛻舳恕?/p>
服務(wù)器單元主要實現(xiàn)節(jié)點采集到的數(shù)據(jù)和客戶端請求的數(shù)據(jù)在整個系統(tǒng)中的傳輸。
系統(tǒng)客戶端主要由以太網(wǎng)/交換機/串口、PC客戶端、手機客戶端等組成,實現(xiàn)對家庭環(huán)境數(shù)據(jù)顯示和電器設(shè)備控制等功能。
系統(tǒng)的硬件結(jié)構(gòu)框圖如圖2所示,主要由ARM處理器、電源模塊、復(fù)位模塊、以太網(wǎng)模塊、Zigbee無線通信模塊、傳感器模塊和控制模塊組成。
圖2 系統(tǒng)的硬件結(jié)構(gòu)圖
2.1中央處理器
中央處理器模塊由ARM9處理器、SDRAM、FLASH、電源模塊、復(fù)位模塊和相關(guān)外圍設(shè)備電路組成。系統(tǒng)采用了聯(lián)芯公司生產(chǎn)的基于40nm工藝,采用四核ARM Cortex-A7和雙核GPU的LC1813微處理器作為主控制器。LC1813是一款32位的嵌入式微處理器,工作頻率為1.2GHz,支持LPDDR/LPDDR2/DDR3、8/16bit NAND FlASH等存儲器,I2C、I2S、SPI等接口,便于性能拓展,具有低功耗、高性能等特點,完全滿足數(shù)據(jù)接收、存儲、處理等設(shè)計要求。
2.2ZigBee模塊
Zigbee是基于IEEE802.15.4標準的網(wǎng)絡(luò)協(xié)議。這個協(xié)議規(guī)定的技術(shù)是一種短距離、低功耗、低數(shù)據(jù)流、低成本的雙向無線通信技術(shù)。可以實現(xiàn)數(shù)千個傳感器之間的相互通信。
本系統(tǒng)采用了美國德州儀器TI公司的CC2430/CC2530芯片,它們集成了51單片機內(nèi)核,相比于眾多的ZigBee芯片,CC2430/CC2530頗受青睞。本系統(tǒng)以CC2530芯片來實現(xiàn)家庭中個設(shè)備節(jié)點與協(xié)調(diào)器之間的控制功能。其結(jié)構(gòu)框圖如圖3所示。
2.3以太網(wǎng)模塊
以太網(wǎng)是一種計算機局域網(wǎng)組網(wǎng)技術(shù),是建立在CSMA/CD機制上的廣播型網(wǎng)絡(luò)。它是物聯(lián)網(wǎng)智能家居系統(tǒng)中的一個重要模塊,可以實現(xiàn)系統(tǒng)的遠程控制,資源分享、管理,以及完成系統(tǒng)的更新下載等功能。
然而,我們使用的LC1813芯片本身并沒有網(wǎng)絡(luò)接口,需要對其進行擴展。從理論上來說,可以把以太網(wǎng)芯片DM9000和以太網(wǎng)水晶接頭RJ45直接相連就可以完成網(wǎng)絡(luò)接口的功能,但是在本設(shè)計中采用的是DM9000+H1102網(wǎng)絡(luò)隔離變壓器+RJ45的結(jié)構(gòu)來實現(xiàn)網(wǎng)絡(luò)接口的功能,這樣的設(shè)計主要目的是對芯片進行隔離,增強信號和抗干擾能力,當(dāng)連接不同電平的網(wǎng)口時,防止對系統(tǒng)造成影響。其連接框圖如圖4所示。
圖4 S3C6410與DM9000連接框圖
圖3 CC2530在家庭內(nèi)部中的控制網(wǎng)絡(luò)結(jié)構(gòu)圖
圖5 軟件總體框架圖
3.1家庭網(wǎng)關(guān)系統(tǒng)選擇
在系統(tǒng)設(shè)計時,考慮到開發(fā)成本,提供的API接口數(shù)量以及系統(tǒng)的實時性和處理器能力等因素,系統(tǒng)采用了Android操作系統(tǒng),它不僅僅是一個開源的操作系統(tǒng),并且還可以對設(shè)備進行一系列地優(yōu)化,不僅支持網(wǎng)路,多媒體等功能,而且還可以對其硬件功能拓展,比如:藍牙、相機、GPS、各種傳感器等。
3.2軟件系統(tǒng)總體框架
軟件系統(tǒng)總體結(jié)構(gòu)主要分為三個部分:家庭網(wǎng)關(guān)軟件、Zigbee模塊軟件和客戶端軟件。家庭網(wǎng)關(guān)軟件設(shè)計主要包括:嵌入式Linux開發(fā)環(huán)境的構(gòu)建、內(nèi)核和操作系統(tǒng)編譯和移植、Android應(yīng)用程序開發(fā)。Zigbee通信模塊軟件主要包括:協(xié)調(diào)器程序的設(shè)計和節(jié)點程序的設(shè)計。客戶端程序設(shè)計包括手機客戶端程序設(shè)計和電腦客戶端程序設(shè)計,軟件系統(tǒng)總體框架圖如圖5所示。
3.3Linux開發(fā)環(huán)境的構(gòu)建
要設(shè)計出一套完整的操作系統(tǒng),就應(yīng)該先搭建好可以編譯出該系統(tǒng)的開發(fā)環(huán)境。最初的嵌入式設(shè)備是一個空白的系統(tǒng),需要主機(PC機)為它構(gòu)建基本的軟件系統(tǒng),并燒寫到嵌入式設(shè)備中,由于嵌入式設(shè)備的資源并不足以用來開發(fā)軟件。所以需要用到交叉開發(fā)模式,在主機上編輯、編譯軟件,然后在目標板子(嵌入式設(shè)備)上運行,驗證程序。所以在嵌入式系統(tǒng)軟件開發(fā)程序的過程中,只有建立合適的交叉編譯環(huán)境,才能在嵌入式設(shè)備中運行相應(yīng)的操作系統(tǒng)。
3.3.1交叉編譯環(huán)境的搭建
所謂的交叉編譯,就是在一個平臺生成可以在另一個平臺運行的代碼。通常用于嵌入式操作系統(tǒng)的應(yīng)用開發(fā)環(huán)境是由目標硬件系統(tǒng)(ARM主控制板)和主機構(gòu)成的。由于受到目標板的CPU主頻、內(nèi)存容量等因素的限制,一般目標板的內(nèi)核的編譯和應(yīng)用程序的開發(fā)以及調(diào)試的工作需要在具有強大的CPU能力和足夠的內(nèi)存容量的主機來完成,通過網(wǎng)線或者串口下載到目標板上,所以稱之為交叉編譯,本論文使用的是制作好的工具鏈,具體步驟如下:
Step1:將準備好的arm-linux-gcc-3.4.4-glibc-2.3.6.tar.bz2復(fù)制到目錄/work/tools下。
Step2:進入到目錄下執(zhí)行解壓命令:
$ cd /work/tools
$ tar jxvf arm-linux-gcc-3.4.4-glibc-2.3.6.Tar.bz2
Step3:在環(huán)境變量PATH中增加路徑,如下:
$ export PATH=$PATH:/work/tools/gcc-3.4.4-glibc-2.3.6/bin
這樣就搭建好了交叉編譯環(huán)境,并可直接運行這個目錄下的程序。
3.3.2內(nèi)核移植
系統(tǒng)加載程序Bootloader、Linux內(nèi)核和跟文件系統(tǒng)是一個可執(zhí)行的、完整的Linux系統(tǒng)所涵蓋的內(nèi)容。
Linux系統(tǒng)上電后,先運行引導(dǎo)加載程序Bootloader,該程序的作用是初始化硬件設(shè)備,建立內(nèi)存空間的映射表,引導(dǎo)和加載操作系統(tǒng)內(nèi)核,然后啟動嵌入式操作系統(tǒng)Linux內(nèi)核,接著加載Nandflansh驅(qū)動程序,LCD驅(qū)動程序,WiFi驅(qū)動程序等一些不要的驅(qū)動程序。通過建立好的arm-linux-gcc交叉編譯環(huán)境結(jié)合LC1813硬件電路的內(nèi)核裁剪配置,得到符合系統(tǒng)的壓縮內(nèi)核映象文件zImage。在Android源碼文件夾中執(zhí)行./buildandroid,然后形成根文件系統(tǒng)rootfs_dir,最后把編譯好的U-boot,zImage,rootfs.yaffs2文件拷貝到SD卡中進行燒寫,最后完成內(nèi)核移植。
圖6 協(xié)調(diào)器軟件設(shè)計流程圖
3.4Zigbee軟件設(shè)計
Zigbee節(jié)點軟件的設(shè)計包括Zigbee協(xié)調(diào)器和Zigbee節(jié)點網(wǎng)絡(luò)的組建。ARM微處理器與Zigbee協(xié)調(diào)器進行信息交互,Zigbee協(xié)調(diào)器與Zigbee節(jié)點進行信息交互。
3.4.1Z-stack協(xié)議棧
Z-stack是TI公司推出的符合Zigbe2006規(guī)范且可支持多種平臺包括CC24031的協(xié)議棧。因其采用分布式尋址方案及簡化的AODV路由故能適應(yīng)無線傳感器網(wǎng)絡(luò)特點并能在有移動節(jié)點鏈路失效和丟包的環(huán)境下工作,為了方便任務(wù)管理Z-stack協(xié)議棧定義了完全構(gòu)建在應(yīng)用層上的OS-AL層(Operation System Abstracktion Layer,操作系統(tǒng)抽象層)該層可以隔離Z-stack協(xié)議棧和特定硬件系統(tǒng)并采用輪詢及優(yōu)先級控制方式實現(xiàn)任務(wù)調(diào)度也支持IAR交互式及命令行編譯配置。
協(xié)議棧的結(jié)構(gòu)總體上由硬件抽象層(HAL)、操作系統(tǒng)抽象層(OSAL)和Zigbee協(xié)議各層組成。HAL提供Timer、I/O、UART等資源的API。
OSAL層負責(zé)任務(wù)管理,它采用輪詢機制,提供任務(wù)優(yōu)先級,可以隔離協(xié)議棧和特定的硬件系統(tǒng),因此用戶可以不需要太了解具體平臺的底層就可以利用OSAL提供的各種工具實現(xiàn)各種功能了。Zigbee的協(xié)議各層集成有任務(wù)事件。從程序的角度一般用戶主要接觸HAL跟OSAL層。
3.4.2Zigbee協(xié)調(diào)器軟件設(shè)計
Zigbee協(xié)調(diào)器是整個無線通信網(wǎng)絡(luò)的核心,通常以Zigbee組建的網(wǎng)絡(luò)只有一個網(wǎng)絡(luò)協(xié)調(diào)器。它的主要功能是負責(zé)網(wǎng)絡(luò)的組建,參數(shù)的設(shè)定、信息管理以及維護功能。
協(xié)調(diào)器的軟件設(shè)計流程圖如圖6所示。系統(tǒng)上電后并完成協(xié)調(diào)器硬件與z-stack協(xié)議棧的初始化后,協(xié)調(diào)器就會進行信道能量檢測和信道掃描,從中選擇空閑信道中信號最強的作為建立網(wǎng)絡(luò)的信道。
9.2 吸入麻醉還是靜脈麻醉 納入3項隨機對照研究(randomized controlled trials,RCT)研究的薈萃分析結(jié)果表明[21],尚無法確定哪種麻醉方式更有優(yōu)勢(如在并發(fā)癥發(fā)生率和死亡率方面)。但是低級別證據(jù)顯示丙泊酚可減少術(shù)后惡心嘔吐(postoperative nausea and vomiting,PONV)的發(fā)生。在一項針對多種腫瘤患者的回顧性研究中,接受全靜脈麻醉的患者術(shù)后生存時間長于接受吸入麻醉的患者[22],但同樣也缺乏前瞻性研究的證據(jù)。
3.4.3Zigbee節(jié)點軟件設(shè)計
終端傳感器主要是接收用戶發(fā)來的查詢信息跟命令操作信息以及傳感器采集的信息。終端軟件設(shè)計流程如圖7所示。
3.5基于Android的APP程序設(shè)計
Android系統(tǒng)是移動端使用最廣泛的系統(tǒng)平臺,我們編寫了安卓應(yīng)用以優(yōu)化智能家居系統(tǒng)的用戶體驗,提高使用便捷性。
3.5.1APP系統(tǒng)框架
系統(tǒng)框架采用Fragment與Actionbar結(jié)合的框架,使用該框架可以提升軟件的可復(fù)用性和靈活性。
圖8 APP程序設(shè)計框圖
首先,MainActivity作為程序入口,其界面布局文件包含一個用于顯示詳細頁面的容器和一個用于顯示底部導(dǎo)航欄的容器。底部導(dǎo)航欄的各個按鈕的點擊將觸發(fā)對應(yīng)詳細頁面的轉(zhuǎn)換顯示,本應(yīng)用中有三大頁面,分別為主頁、推薦和設(shè)置,均采用fragment框架,底部導(dǎo)航欄和每個頁面都有各自的界面布局文件。頁面的切換支持手勢劃屏切換。APP的程序設(shè)計框圖如圖8所示。
為了驗證系統(tǒng)的準確性,系統(tǒng)進行了掉包率和RSSI (Receive Signal Strength Indicator)測試。由電腦客戶端發(fā)送數(shù)據(jù)至家庭網(wǎng)關(guān),再經(jīng)協(xié)調(diào)器到終端節(jié)點,終端節(jié)點完成數(shù)據(jù)的接收工作之后,最后返回數(shù)據(jù)至電腦客戶端,在PC機上將發(fā)送的數(shù)據(jù)與接收到的數(shù)據(jù)進行比較,在不同距離之間進行測試,其測試結(jié)果如表1、2所示。
表1 系統(tǒng)在80bit/s時的測試結(jié)果
表2 系統(tǒng)在133bit/s時的測試結(jié)果
考慮到家庭環(huán)境的不同,本實驗數(shù)據(jù)在不同程度的遮擋物下進行了數(shù)據(jù)采集,由實驗數(shù)據(jù)結(jié)果可知,各個節(jié)點之間的干擾較低,系統(tǒng)運行穩(wěn)定,通信結(jié)果準確,能夠?qū)崟r監(jiān)視家庭中的環(huán)境狀況和控制電器設(shè)備,這完全符合智能家居的監(jiān)視和控制要求。
本系統(tǒng)根據(jù)智能家居的監(jiān)視和控制特點,設(shè)計了以LC1813微處理器為控制核心的智能家居控制系統(tǒng),運用ZigBee技術(shù),結(jié)合了HTTP等技術(shù),設(shè)計了一套完整的物聯(lián)網(wǎng)智能家居系統(tǒng)。在ARM平臺上移植了Android操作系統(tǒng),并編寫了2種不同的客戶端軟件,采用Zigbee無線傳輸網(wǎng)絡(luò)進行數(shù)據(jù)采集和傳輸。系統(tǒng)測試結(jié)果表明該系統(tǒng)具有一定的可行性和穩(wěn)定性,從而達到了設(shè)計目的。
參考文獻
[1] 童曉渝,房秉毅,張云勇.物聯(lián)網(wǎng)智能家居發(fā)展分析[J] .移動通信,2010,09:16-20.
[2] 孫宏宇.基于Zigbee技術(shù)的智能家居系統(tǒng)[J] .電子科技大學(xué).2011.
[3] 蔣波.基于ARM與Zigbee技術(shù)的嵌入式智能家居系統(tǒng)設(shè)計[D] .廣東工業(yè)大學(xué),2014.
[4] 李正明,吳波.基于物聯(lián)網(wǎng)的智能家居控制系統(tǒng)研究[J] .現(xiàn)代科學(xué)儀器,2012,02:68-71.
[5] 聯(lián)芯科技發(fā)布TD四核芯片LC1813[J] .集成電路應(yīng)用,2013,04:42.
[6] 周立功,等.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M] .北京:北京航空航天大學(xué)出版社,2005.
[7] Peter A.LieberzeiFranzL.Diehert Sensor Technology and its application in Environmental Analysis Analytical and Bioanalytiacal Chemistry[M] .2007:237-247.
[ 8 ] C a l l a w a y J r.E d g a r H.W i r e l e s s s e n s o r networks:Architecturesand Protocols[M] .2003:223-232.
[9] 劉敢峰,吳明光.家庭自動化兒種主流網(wǎng)絡(luò)協(xié)議[J] .電子技術(shù)應(yīng)用,2003,29(2):6-8.
[10] 張曦煌.無線傳感器網(wǎng)絡(luò)的研究--無線傳感器網(wǎng)絡(luò)路由優(yōu)化與維護算法的研究.博士學(xué)位論文[D] .無錫:江南大學(xué),2008-03-01.
[11] 張奇松.尹航.z-stack部剖及其在無線測溫網(wǎng)絡(luò)中的應(yīng)用[J] ,計算機系統(tǒng)應(yīng)用.2009.18(2):103-105.
[12] 楊松,胡國榮,徐沛成.基于CC2530的ZigBee協(xié)議MAC層設(shè)計與實現(xiàn)[J] .計算機工程與設(shè)計,2013,34(11):3840-3844.
The Design Of Internet Of Things Smart Home System Based On ZigBee
Li Yu,WangWeixing,Chen Runze
(Electronic Engineering College of South China Agricultural University,Guangdong Guangzhou 510642,China)
Abstract:Put forward a networking intelligent home system,the system has ARM microprocessor S3C6410 as the core by client / server mode,through Internet LAN and wireless LAN access to the public network,within the family by CC2530 wireless transmission chip ZigBee wireless network to household appliances and other monitoring devices are connected together to form a wireless home network;o monitor the internal or electrical equipment through the mobile client and windows client;the actual test results show that,network system is convenient and stable,can reach the network smart home system general requirements.
Keywords:Internet of things;Embedded system;Smart home;ZigBee
中圖分類號:TP393
文獻標識碼:A
基金項目:國家級大學(xué)生創(chuàng)新訓(xùn)練項目(201410564021)
作者簡介
李宇(1989-),男,甘肅甘谷人,本科生,主要從事電子信息工程的研究。
王衛(wèi)星(1963-),男,博士,教授,博士生導(dǎo)師,主要研究領(lǐng)域為無線傳感器網(wǎng)絡(luò)技術(shù),電子技術(shù)與計算機在農(nóng)業(yè)中的應(yīng)用,計算機測試與控制技術(shù)等。