李 宇,王衛星,陳潤澤
(華南農業大學電子工程學院,廣東廣州 510642)
?
基于ZigBee的物聯網智能家居系統
李 宇,王衛星,陳潤澤
(華南農業大學電子工程學院,廣東廣州 510642)
摘要:提出了一種物聯網智能家居系統,該系統以ARM微處理器LC1813為核心,采用客戶端/服務器模式,通過Internet局域網和無線局域網接入到公共網絡,在家庭內部通過CC2530無線發送芯片的Zigbee無線網絡將家用電器與其他監控設備連接在一起組成無線家庭網絡;通過手機客戶端和Windows客戶端對家庭內部或電器設備進行監控;經實際測試結果表明,系統組網方便、運行穩定,能達到物聯網智能家居系統的一般要求。
關鍵詞:物聯網嵌入式系統智能家居ZigBee
隨著人類社會的發展,計算機技術、嵌入式技術、無線通信等技術已成為人類必不可少的現代化技術。
近年來,物聯網已成為全球關注的熱點,被認為是繼互聯網之后最重大的科技創新。物聯網通過ZigBee、RFID、GSM/GPRS、紅外感應器等信息傳感設備,按照約定的協議在物品與物品之間,物品與互聯網之間進行信息傳遞?;谖锫摼W的智能家居系統,表現為將家居生活有關的各種設備進行組網并與互聯網連接在一起,進行實時監控和管理,其包括:智能家居控制管理系統、終端(家居傳感器終端、控制器)、家庭網絡、外聯網絡、信息中心等。
目前國內的智能家居系統存在著許多問題,如:功能實用性不強、成本高昂、缺乏規范統一的行業標準、跨產業的合作困難重重、缺乏完善的產業鏈和商業模式、傳感器、芯片安全、可靠性、個人隱私、地址資源等技術挑戰等。針對這一問題本文將設計了一種基于Zigbee的物聯網智能家居系統,通過手機客戶端和Windows客戶端對家庭環境和電器設備進行監視和控制,以完成物聯網智能家居系統的設計。
系統結構設計如圖1所示,主要由3部分組成:系統客戶端、嵌入式家庭網關和Zigbee無線傳輸網絡。可以分為服務器和客戶端兩個結構單元。

圖1 智能家居系統結構
服務器單元由ARM處理器、Zigbee無線傳輸節點、以太網/路由器通信單元等組成。嵌入式家庭網關可以通過I/O口連接其他設備,如:攝像頭等,其對家庭環境狀況進行監視。Zigbee無線通信單元由Zigbee協調器和Zigbee節點組成,采用星型結構作為智能家居的內部網絡結構,并且各個Zigbee節點上配備了相應的傳感器模塊或控制器模塊,可以對環境進行實時監視和對電器設備實時控制。傳感器模塊通過Zigbee節點將數據發送到Zigbee協調器,然后通過家庭網關和以太網/路由器將數據傳輸到客戶端。
服務器單元主要實現節點采集到的數據和客戶端請求的數據在整個系統中的傳輸。
系統客戶端主要由以太網/交換機/串口、PC客戶端、手機客戶端等組成,實現對家庭環境數據顯示和電器設備控制等功能。
系統的硬件結構框圖如圖2所示,主要由ARM處理器、電源模塊、復位模塊、以太網模塊、Zigbee無線通信模塊、傳感器模塊和控制模塊組成。

圖2 系統的硬件結構圖
2.1中央處理器
中央處理器模塊由ARM9處理器、SDRAM、FLASH、電源模塊、復位模塊和相關外圍設備電路組成。系統采用了聯芯公司生產的基于40nm工藝,采用四核ARM Cortex-A7和雙核GPU的LC1813微處理器作為主控制器。LC1813是一款32位的嵌入式微處理器,工作頻率為1.2GHz,支持LPDDR/LPDDR2/DDR3、8/16bit NAND FlASH等存儲器,I2C、I2S、SPI等接口,便于性能拓展,具有低功耗、高性能等特點,完全滿足數據接收、存儲、處理等設計要求。
2.2ZigBee模塊
Zigbee是基于IEEE802.15.4標準的網絡協議。這個協議規定的技術是一種短距離、低功耗、低數據流、低成本的雙向無線通信技術??梢詫崿F數千個傳感器之間的相互通信。
本系統采用了美國德州儀器TI公司的CC2430/CC2530芯片,它們集成了51單片機內核,相比于眾多的ZigBee芯片,CC2430/CC2530頗受青睞。本系統以CC2530芯片來實現家庭中個設備節點與協調器之間的控制功能。其結構框圖如圖3所示。
2.3以太網模塊
以太網是一種計算機局域網組網技術,是建立在CSMA/CD機制上的廣播型網絡。它是物聯網智能家居系統中的一個重要模塊,可以實現系統的遠程控制,資源分享、管理,以及完成系統的更新下載等功能。
然而,我們使用的LC1813芯片本身并沒有網絡接口,需要對其進行擴展。從理論上來說,可以把以太網芯片DM9000和以太網水晶接頭RJ45直接相連就可以完成網絡接口的功能,但是在本設計中采用的是DM9000+H1102網絡隔離變壓器+RJ45的結構來實現網絡接口的功能,這樣的設計主要目的是對芯片進行隔離,增強信號和抗干擾能力,當連接不同電平的網口時,防止對系統造成影響。其連接框圖如圖4所示。

圖4 S3C6410與DM9000連接框圖

圖3 CC2530在家庭內部中的控制網絡結構圖

圖5 軟件總體框架圖
3.1家庭網關系統選擇
在系統設計時,考慮到開發成本,提供的API接口數量以及系統的實時性和處理器能力等因素,系統采用了Android操作系統,它不僅僅是一個開源的操作系統,并且還可以對設備進行一系列地優化,不僅支持網路,多媒體等功能,而且還可以對其硬件功能拓展,比如:藍牙、相機、GPS、各種傳感器等。
3.2軟件系統總體框架
軟件系統總體結構主要分為三個部分:家庭網關軟件、Zigbee模塊軟件和客戶端軟件。家庭網關軟件設計主要包括:嵌入式Linux開發環境的構建、內核和操作系統編譯和移植、Android應用程序開發。Zigbee通信模塊軟件主要包括:協調器程序的設計和節點程序的設計??蛻舳顺绦蛟O計包括手機客戶端程序設計和電腦客戶端程序設計,軟件系統總體框架圖如圖5所示。
3.3Linux開發環境的構建
要設計出一套完整的操作系統,就應該先搭建好可以編譯出該系統的開發環境。最初的嵌入式設備是一個空白的系統,需要主機(PC機)為它構建基本的軟件系統,并燒寫到嵌入式設備中,由于嵌入式設備的資源并不足以用來開發軟件。所以需要用到交叉開發模式,在主機上編輯、編譯軟件,然后在目標板子(嵌入式設備)上運行,驗證程序。所以在嵌入式系統軟件開發程序的過程中,只有建立合適的交叉編譯環境,才能在嵌入式設備中運行相應的操作系統。
3.3.1交叉編譯環境的搭建
所謂的交叉編譯,就是在一個平臺生成可以在另一個平臺運行的代碼。通常用于嵌入式操作系統的應用開發環境是由目標硬件系統(ARM主控制板)和主機構成的。由于受到目標板的CPU主頻、內存容量等因素的限制,一般目標板的內核的編譯和應用程序的開發以及調試的工作需要在具有強大的CPU能力和足夠的內存容量的主機來完成,通過網線或者串口下載到目標板上,所以稱之為交叉編譯,本論文使用的是制作好的工具鏈,具體步驟如下:
Step1:將準備好的arm-linux-gcc-3.4.4-glibc-2.3.6.tar.bz2復制到目錄/work/tools下。
Step2:進入到目錄下執行解壓命令:
$ cd /work/tools
$ tar jxvf arm-linux-gcc-3.4.4-glibc-2.3.6.Tar.bz2
Step3:在環境變量PATH中增加路徑,如下:
$ export PATH=$PATH:/work/tools/gcc-3.4.4-glibc-2.3.6/bin
這樣就搭建好了交叉編譯環境,并可直接運行這個目錄下的程序。
3.3.2內核移植
系統加載程序Bootloader、Linux內核和跟文件系統是一個可執行的、完整的Linux系統所涵蓋的內容。
Linux系統上電后,先運行引導加載程序Bootloader,該程序的作用是初始化硬件設備,建立內存空間的映射表,引導和加載操作系統內核,然后啟動嵌入式操作系統Linux內核,接著加載Nandflansh驅動程序,LCD驅動程序,WiFi驅動程序等一些不要的驅動程序。通過建立好的arm-linux-gcc交叉編譯環境結合LC1813硬件電路的內核裁剪配置,得到符合系統的壓縮內核映象文件zImage。在Android源碼文件夾中執行./buildandroid,然后形成根文件系統rootfs_dir,最后把編譯好的U-boot,zImage,rootfs.yaffs2文件拷貝到SD卡中進行燒寫,最后完成內核移植。

圖6 協調器軟件設計流程圖
3.4Zigbee軟件設計
Zigbee節點軟件的設計包括Zigbee協調器和Zigbee節點網絡的組建。ARM微處理器與Zigbee協調器進行信息交互,Zigbee協調器與Zigbee節點進行信息交互。
3.4.1Z-stack協議棧
Z-stack是TI公司推出的符合Zigbe2006規范且可支持多種平臺包括CC24031的協議棧。因其采用分布式尋址方案及簡化的AODV路由故能適應無線傳感器網絡特點并能在有移動節點鏈路失效和丟包的環境下工作,為了方便任務管理Z-stack協議棧定義了完全構建在應用層上的OS-AL層(Operation System Abstracktion Layer,操作系統抽象層)該層可以隔離Z-stack協議棧和特定硬件系統并采用輪詢及優先級控制方式實現任務調度也支持IAR交互式及命令行編譯配置。
協議棧的結構總體上由硬件抽象層(HAL)、操作系統抽象層(OSAL)和Zigbee協議各層組成。HAL提供Timer、I/O、UART等資源的API。
OSAL層負責任務管理,它采用輪詢機制,提供任務優先級,可以隔離協議棧和特定的硬件系統,因此用戶可以不需要太了解具體平臺的底層就可以利用OSAL提供的各種工具實現各種功能了。Zigbee的協議各層集成有任務事件。從程序的角度一般用戶主要接觸HAL跟OSAL層。
3.4.2Zigbee協調器軟件設計
Zigbee協調器是整個無線通信網絡的核心,通常以Zigbee組建的網絡只有一個網絡協調器。它的主要功能是負責網絡的組建,參數的設定、信息管理以及維護功能。
協調器的軟件設計流程圖如圖6所示。系統上電后并完成協調器硬件與z-stack協議棧的初始化后,協調器就會進行信道能量檢測和信道掃描,從中選擇空閑信道中信號最強的作為建立網絡的信道。
9.2 吸入麻醉還是靜脈麻醉 納入3項隨機對照研究(randomized controlled trials,RCT)研究的薈萃分析結果表明[21],尚無法確定哪種麻醉方式更有優勢(如在并發癥發生率和死亡率方面)。但是低級別證據顯示丙泊酚可減少術后惡心嘔吐(postoperative nausea and vomiting,PONV)的發生。在一項針對多種腫瘤患者的回顧性研究中,接受全靜脈麻醉的患者術后生存時間長于接受吸入麻醉的患者[22],但同樣也缺乏前瞻性研究的證據。
3.4.3Zigbee節點軟件設計
終端傳感器主要是接收用戶發來的查詢信息跟命令操作信息以及傳感器采集的信息。終端軟件設計流程如圖7所示。
3.5基于Android的APP程序設計
Android系統是移動端使用最廣泛的系統平臺,我們編寫了安卓應用以優化智能家居系統的用戶體驗,提高使用便捷性。
3.5.1APP系統框架
系統框架采用Fragment與Actionbar結合的框架,使用該框架可以提升軟件的可復用性和靈活性。

圖8 APP程序設計框圖
首先,MainActivity作為程序入口,其界面布局文件包含一個用于顯示詳細頁面的容器和一個用于顯示底部導航欄的容器。底部導航欄的各個按鈕的點擊將觸發對應詳細頁面的轉換顯示,本應用中有三大頁面,分別為主頁、推薦和設置,均采用fragment框架,底部導航欄和每個頁面都有各自的界面布局文件。頁面的切換支持手勢劃屏切換。APP的程序設計框圖如圖8所示。
為了驗證系統的準確性,系統進行了掉包率和RSSI (Receive Signal Strength Indicator)測試。由電腦客戶端發送數據至家庭網關,再經協調器到終端節點,終端節點完成數據的接收工作之后,最后返回數據至電腦客戶端,在PC機上將發送的數據與接收到的數據進行比較,在不同距離之間進行測試,其測試結果如表1、2所示。

表1 系統在80bit/s時的測試結果

表2 系統在133bit/s時的測試結果
考慮到家庭環境的不同,本實驗數據在不同程度的遮擋物下進行了數據采集,由實驗數據結果可知,各個節點之間的干擾較低,系統運行穩定,通信結果準確,能夠實時監視家庭中的環境狀況和控制電器設備,這完全符合智能家居的監視和控制要求。
本系統根據智能家居的監視和控制特點,設計了以LC1813微處理器為控制核心的智能家居控制系統,運用ZigBee技術,結合了HTTP等技術,設計了一套完整的物聯網智能家居系統。在ARM平臺上移植了Android操作系統,并編寫了2種不同的客戶端軟件,采用Zigbee無線傳輸網絡進行數據采集和傳輸。系統測試結果表明該系統具有一定的可行性和穩定性,從而達到了設計目的。
參考文獻
[1] 童曉渝,房秉毅,張云勇.物聯網智能家居發展分析[J] .移動通信,2010,09:16-20.
[2] 孫宏宇.基于Zigbee技術的智能家居系統[J] .電子科技大學.2011.
[3] 蔣波.基于ARM與Zigbee技術的嵌入式智能家居系統設計[D] .廣東工業大學,2014.
[4] 李正明,吳波.基于物聯網的智能家居控制系統研究[J] .現代科學儀器,2012,02:68-71.
[5] 聯芯科技發布TD四核芯片LC1813[J] .集成電路應用,2013,04:42.
[6] 周立功,等.ARM嵌入式系統基礎教程[M] .北京:北京航空航天大學出版社,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] 劉敢峰,吳明光.家庭自動化兒種主流網絡協議[J] .電子技術應用,2003,29(2):6-8.
[10] 張曦煌.無線傳感器網絡的研究--無線傳感器網絡路由優化與維護算法的研究.博士學位論文[D] .無錫:江南大學,2008-03-01.
[11] 張奇松.尹航.z-stack部剖及其在無線測溫網絡中的應用[J] ,計算機系統應用.2009.18(2):103-105.
[12] 楊松,胡國榮,徐沛成.基于CC2530的ZigBee協議MAC層設計與實現[J] .計算機工程與設計,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
基金項目:國家級大學生創新訓練項目(201410564021)
作者簡介
李宇(1989-),男,甘肅甘谷人,本科生,主要從事電子信息工程的研究。
王衛星(1963-),男,博士,教授,博士生導師,主要研究領域為無線傳感器網絡技術,電子技術與計算機在農業中的應用,計算機測試與控制技術等。