《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于ARM和Android的智能家居控制系統(tǒng)設(shè)計(jì)
基于ARM和Android的智能家居控制系統(tǒng)設(shè)計(jì)
2017年微型機(jī)與應(yīng)用第3期
徐宏宇,程武,張博
沈陽航空航天大學(xué) 電子信息工程學(xué)院,遼寧 沈陽 110136
摘要: 針對(duì)傳統(tǒng)智能家居控制系統(tǒng)采用有線組網(wǎng)、布線繁瑣、系統(tǒng)中的家用電器需要PC進(jìn)行控制、移動(dòng)性較差等問題,提出了一種基于ARM嵌入式處理器和Android技術(shù)的智能家居控制系統(tǒng)的設(shè)計(jì)方案。該方案首先通過ZigBee無線技術(shù)組建家庭內(nèi)的傳感器網(wǎng)絡(luò)和家用電器控制網(wǎng)絡(luò)。然后,以S3C2440處理器為硬件平臺(tái),并搭載了嵌入式Linux操作系統(tǒng)來設(shè)計(jì)家庭網(wǎng)關(guān)。最后,編寫了基于Android系統(tǒng)的APP(應(yīng)用軟件),使用Android系統(tǒng)的智能手機(jī)安裝這個(gè)APP就可以通過3G/4G/WiFi網(wǎng)絡(luò)獲取室內(nèi)的健康狀況并遠(yuǎn)程控制家電。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)布線簡(jiǎn)單,移動(dòng)性好,能夠較好地實(shí)現(xiàn)智能家居系統(tǒng)的本地和遠(yuǎn)程無線控制。
Abstract:
Key words :

  徐宏宇,程武,張博

 ?。ㄉ蜿柡娇蘸教齑髮W(xué) 電子信息工程學(xué)院,遼寧 沈陽 110136)

       摘要:針對(duì)傳統(tǒng)智能家居控制系統(tǒng)采用有線組網(wǎng)、布線繁瑣、系統(tǒng)中的家用電器需要PC進(jìn)行控制、移動(dòng)性較差等問題,提出了一種基于ARM嵌入式處理器和Android技術(shù)的智能家居控制系統(tǒng)的設(shè)計(jì)方案。該方案首先通過ZigBee無線技術(shù)組建家庭內(nèi)的傳感器網(wǎng)絡(luò)和家用電器控制網(wǎng)絡(luò)。然后,以S3C2440處理器為硬件平臺(tái),并搭載了嵌入式Linux操作系統(tǒng)來設(shè)計(jì)家庭網(wǎng)關(guān)。最后,編寫了基于Android系統(tǒng)的APP(應(yīng)用軟件),使用Android系統(tǒng)的智能手機(jī)安裝這個(gè)APP就可以通過3G/4G/WiFi網(wǎng)絡(luò)獲取室內(nèi)的健康狀況并遠(yuǎn)程控制家電。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)布線簡(jiǎn)單,移動(dòng)性好,能夠較好地實(shí)現(xiàn)智能家居系統(tǒng)的本地和遠(yuǎn)程無線控制。

  關(guān)鍵詞:智能家居;ARM;遠(yuǎn)程控制;Android;ZigBee;嵌入式處理器;Linux

  中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.03.009

  引用格式:徐宏宇,程武,張博.基于ARM和Android的智能家居控制系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2017,36(3):29-32.

0引言

  隨著人們對(duì)高品質(zhì)生活的不斷探索,對(duì)居住環(huán)境的要求也向著安全舒適并且智能化和自動(dòng)化的方向發(fā)展。智能家居已成為當(dāng)今社會(huì)研究的熱門話題。成本低廉、性能優(yōu)良并且擴(kuò)展性較好的系統(tǒng)是研究人員急需解決的問題。

  傳統(tǒng)的智能家居控制系統(tǒng)一般通過有線[1]方式組建并且通過PC控制,這種方式通常需要部署很多線纜。當(dāng)需要增減設(shè)備時(shí)又要重新布線,既影響了室內(nèi)的美觀又增加了開銷;通過PC控制家電,增加了使用者的學(xué)習(xí)成本,便攜性也很差,無論是升級(jí)和維護(hù)都相當(dāng)不便?;谝陨鲜聦?shí),本文結(jié)合ZigBee技術(shù)建立智能家居系統(tǒng)的傳感器網(wǎng)絡(luò)和家電控制網(wǎng)絡(luò)(這兩種網(wǎng)絡(luò)稱之為家庭內(nèi)網(wǎng)),分別用于檢測(cè)室內(nèi)的健康狀況和控制家電[2];然后以ARM嵌入式處理器為核心,建立智能家居系統(tǒng)的網(wǎng)關(guān)樞紐——家庭網(wǎng)關(guān)(向外連接公網(wǎng),向內(nèi)連接家庭內(nèi)網(wǎng));最后,基于Android平臺(tái)開發(fā)智能手機(jī)的客戶端軟件,用戶使用手機(jī)通過無線網(wǎng)絡(luò)就可以遠(yuǎn)程獲取室內(nèi)狀況信息并控制家電。

1系統(tǒng)的功能和總體結(jié)構(gòu)

  1.1系統(tǒng)的功能

  用戶通過Android手機(jī)或Internet遠(yuǎn)程連接到家庭網(wǎng)關(guān),實(shí)現(xiàn)對(duì)室內(nèi)的溫度、濕度、光照強(qiáng)度、煙霧濃度的實(shí)時(shí)獲取和對(duì)燈光、音樂播放器、門禁、窗簾等家電的控制[3]。

  1.2系統(tǒng)的總體結(jié)構(gòu)

  本文設(shè)計(jì)的智能家居控制系統(tǒng)包括3大部分(如圖1所示),分別是家庭內(nèi)網(wǎng)、家庭網(wǎng)關(guān)和手機(jī)客戶端APP。其中家庭內(nèi)網(wǎng)包含傳感器網(wǎng)絡(luò)和家電控制網(wǎng)絡(luò),分別用于檢測(cè)室內(nèi)狀況,控制家用電器;而家庭網(wǎng)關(guān)則是整個(gè)家庭網(wǎng)絡(luò)的核心,對(duì)外連接到公網(wǎng)上,處理來自用戶手機(jī)端的數(shù)據(jù)和命令請(qǐng)求,對(duì)內(nèi)連接到家庭內(nèi)網(wǎng)上,處理來自傳感器網(wǎng)絡(luò)和家電控制網(wǎng)絡(luò)的數(shù)據(jù);手機(jī)用戶通過手機(jī)APP即可實(shí)時(shí)地遠(yuǎn)程控制家電并實(shí)時(shí)監(jiān)控室內(nèi)安全狀況[4]。

  

001.jpg

2系統(tǒng)的硬件設(shè)計(jì)

  2.1家庭網(wǎng)關(guān)的設(shè)計(jì)

  家庭網(wǎng)關(guān)的核心是一個(gè)基于TCP/IP協(xié)議的嵌入式Web服務(wù)器,本文采用三星公司的ARM9處理器S3C2440作為硬件平臺(tái)(如圖2所示),該芯片本身集成了包括存儲(chǔ)器接口、通信接口(SPI、RS232、I2C等)和AD等在內(nèi)的豐富的硬件資源,可大大簡(jiǎn)化外圍設(shè)備和處理器的連接程度,提高系統(tǒng)的穩(wěn)定性和可靠性。

  

002.jpg

  2.2家庭內(nèi)網(wǎng)的設(shè)計(jì)

  圖3ZigBee節(jié)點(diǎn)連接框圖智能家居控制系統(tǒng)的最終環(huán)節(jié)就是室內(nèi)環(huán)境監(jiān)測(cè)、安防監(jiān)測(cè)報(bào)警和家電遠(yuǎn)程控制。所以,家庭內(nèi)網(wǎng)的設(shè)計(jì)包括兩大部分:傳感器網(wǎng)絡(luò)和家電控制網(wǎng)絡(luò)。為了擺脫傳統(tǒng)線纜的束縛,綜合考慮到功耗、復(fù)雜度和速率,系統(tǒng)采用ZigBee技術(shù)搭建傳感器網(wǎng)絡(luò)和家電控制網(wǎng)絡(luò)。ZigBee技術(shù)是一種近距離、低功耗、基于IEEE802.15.4標(biāo)準(zhǔn)的局域網(wǎng)協(xié)議無線通信技術(shù)。其特點(diǎn)是近距離、低復(fù)雜度、自組織組網(wǎng),非常適合用在室內(nèi)環(huán)境下[5]。

  市面上基于ZigBee技術(shù)的解決方案有很多,也很成熟。本文中選用的主控模塊其核心部分是Chipcon公司生產(chǎn)的一款符合IEEE802.15.4規(guī)范的2.4 GHz的射頻芯片CC2430。該芯片整合了ZigBee RF前端、內(nèi)存和基于增強(qiáng)型51內(nèi)核的微控制器等。硬件支持載波監(jiān)聽多路訪問/沖突檢測(cè)(CSMA/CA),2~3.6 V的工作電壓有利于系統(tǒng)實(shí)現(xiàn)低功耗?;谠揨igBee模塊搭建的傳感器節(jié)點(diǎn)和家電控制節(jié)點(diǎn)如圖3所示。

003.jpg

  各子節(jié)點(diǎn)通過連接到ZigBee協(xié)調(diào)器節(jié)點(diǎn),從而使傳感器節(jié)點(diǎn)和家電控制節(jié)點(diǎn)連接到家庭網(wǎng)關(guān)上,進(jìn)而連接到互聯(lián)網(wǎng)。

3系統(tǒng)的軟件設(shè)計(jì)

  系統(tǒng)軟件設(shè)計(jì)包括家庭網(wǎng)關(guān)軟件設(shè)計(jì)、智能終端節(jié)點(diǎn)軟件設(shè)計(jì)和智能手機(jī)APP設(shè)計(jì)三大部分。家庭網(wǎng)關(guān)是以ARM9處理器為控制核心,其軟件設(shè)計(jì)包括移植嵌入式Linux操作系統(tǒng)、Linux下基于TCP/IP協(xié)議的Web服務(wù)器應(yīng)用軟件設(shè)計(jì)和ZigBee協(xié)調(diào)器節(jié)點(diǎn)程序設(shè)計(jì)。智能終端節(jié)點(diǎn)的控制一般使用MCU即可,其應(yīng)用軟件就是一個(gè)循環(huán)的控制程序。智能手機(jī)APP部分是在Android操作系統(tǒng)平臺(tái)下基于Google官方的開發(fā)工具包(Android SDK)進(jìn)行開發(fā)。

  3.1移植嵌入式Linux操作系統(tǒng)

  盡管現(xiàn)在Linux內(nèi)核的版本已經(jīng)更新到了4.4,但是在嵌入式Linux領(lǐng)域依然大量使用2.6的內(nèi)核。所以,本設(shè)計(jì)依舊采用2.6內(nèi)核的Linux操作系統(tǒng),然后將它移植到S3C2440平臺(tái)上。

  首先,從https://www.kernel.org/pub/linux /kernel下載內(nèi)核源碼,然后解壓源碼,進(jìn)入內(nèi)核源碼的根目錄,修改Makefile文件,設(shè)置對(duì)應(yīng)的目標(biāo)平臺(tái)和交叉編譯器,然后配置并編譯內(nèi)核,編譯成功后會(huì)得到內(nèi)核鏡像文件zImage。最后通過uboot的命令行菜單將鏡像文件燒寫到NAND Flash存儲(chǔ)器中即可。

  3.2基于TCP/IP協(xié)議的Web服務(wù)器設(shè)計(jì)

  在ARM+Linux開發(fā)平臺(tái)下,常用的Web服務(wù)器有Httpd、Thttpd和Boa。其中Boa服務(wù)器支持CGI(公共網(wǎng)關(guān)接口),功能較強(qiáng)。為了實(shí)現(xiàn)動(dòng)態(tài)Web技術(shù),本文基于Boa編寫了家庭網(wǎng)關(guān)的服務(wù)器。首先建立服務(wù)器端Socket,然后綁定服務(wù)器的IP地址,并循環(huán)監(jiān)聽服務(wù)器的一個(gè)端口[6]。當(dāng)有客戶端請(qǐng)求連入時(shí),服務(wù)器端會(huì)開啟一個(gè)子進(jìn)程處理請(qǐng)求并完成與客戶端的數(shù)據(jù)通信,具體的軟件設(shè)計(jì)流程如圖4所示。

  

004.jpg

  3.3ZigBee協(xié)調(diào)器節(jié)點(diǎn)程序設(shè)計(jì)

  在系統(tǒng)中,ZigBee協(xié)調(diào)器節(jié)點(diǎn)主要用于創(chuàng)建無線網(wǎng)絡(luò),分配ZigBee終端節(jié)點(diǎn)的網(wǎng)絡(luò)地址,然后向終端節(jié)點(diǎn)發(fā)送控制命令并接收來自終端節(jié)點(diǎn)的環(huán)境信息,將接收到的數(shù)據(jù)全部上傳至家庭網(wǎng)關(guān)中,最后通過公用以太網(wǎng)傳送至用戶手機(jī)的APP上。協(xié)調(diào)器首先會(huì)進(jìn)行應(yīng)用層的初始化,然后初始化端口并打開全局中斷。接著協(xié)調(diào)器初始化一個(gè)信道并建立一個(gè)ZigBee網(wǎng)絡(luò),這時(shí)ZigBee終端節(jié)點(diǎn)就可以通過認(rèn)證加入到該網(wǎng)絡(luò)中并進(jìn)行數(shù)據(jù)的交換,具體過程如圖5所示。

005.jpg

  3.4智能終端節(jié)點(diǎn)程序設(shè)計(jì)

  智能終端節(jié)點(diǎn)是指由ZigBee終端控制的節(jié)點(diǎn),在系統(tǒng)中主要是傳感器節(jié)點(diǎn)和家電控制節(jié)點(diǎn)。ZigBee終端節(jié)點(diǎn)初始化同樣包括應(yīng)用層初始化、I/O端口初始化和打開全局中斷,之后嘗試加入由ZigBee協(xié)調(diào)器創(chuàng)建的無線網(wǎng)絡(luò)中,特別要注意的是:只有與ZigBee協(xié)調(diào)器設(shè)置一致參數(shù)的終端節(jié)點(diǎn)才能加入到網(wǎng)絡(luò)中。成功加入到網(wǎng)絡(luò)后,ZigBee終端節(jié)點(diǎn)會(huì)將其注冊(cè)信息發(fā)送給ZigBee協(xié)調(diào)器,然后ZigBee協(xié)調(diào)器完成對(duì)終端節(jié)點(diǎn)的注冊(cè)[7]。

  ZigBee終端節(jié)點(diǎn)每隔一定的時(shí)間(很短),完成一次數(shù)據(jù)的采集,并將該數(shù)據(jù)信息發(fā)送給協(xié)調(diào)器。對(duì)于來自于家庭網(wǎng)關(guān)的家電控制命令,ZigBee協(xié)調(diào)器會(huì)將其發(fā)送給家電終端控制節(jié)點(diǎn),終端節(jié)點(diǎn)則通過中斷的方式獲取該信息并完成對(duì)家電的控制。具體實(shí)現(xiàn)過程如圖6所示。

  

006.jpg

  3.5智能手機(jī)APP設(shè)計(jì)

  圖7智能手機(jī)APP主界面示意圖用戶對(duì)整個(gè)智能家居控制系統(tǒng)的操作最終是通過智能手機(jī)來完成的。為此,筆者開發(fā)了基于Android智能手機(jī)操作系統(tǒng)平臺(tái)的APP。APP的設(shè)計(jì)包括APP界面前端和后臺(tái)的開發(fā)。其中,APP的前端即UI(用戶界面)設(shè)計(jì),是通過建立一個(gè)XML文件,在這個(gè)XML文件下根據(jù)一定的布局編寫相應(yīng)的控件,然后在MainActivity代碼中將這個(gè)XML文件進(jìn)行綁定即可[8];而APP的后臺(tái)代碼設(shè)計(jì),主要通過開啟一個(gè)子線程,然后在子線程中建立基于TCP/IP協(xié)議的Socket連接,成功連接到家庭網(wǎng)關(guān)后即可通過點(diǎn)擊UI界面上的按鈕等控件來控制家電或者接收來自于室內(nèi)傳感器的數(shù)據(jù),并顯示在手機(jī)界面上。APP的主界面如圖7所示。

007.jpg

4系統(tǒng)測(cè)試

  系統(tǒng)軟硬件設(shè)計(jì)完成后,在實(shí)驗(yàn)室條件下進(jìn)行了測(cè)試。測(cè)試系統(tǒng)由一個(gè)ZigBee協(xié)調(diào)器、兩個(gè)ZigBee終端節(jié)點(diǎn)(分別是溫濕度傳感器節(jié)點(diǎn)和音樂播放器節(jié)點(diǎn))、一個(gè)由S3C2440平臺(tái)搭建的家庭網(wǎng)關(guān)、一部無線路由器(用于連接Internet)和一部Android智能手機(jī)組成。其中,ZigBee協(xié)調(diào)器與ZigBee終端節(jié)點(diǎn)距離為10 m,相鄰的ZigBee終端節(jié)點(diǎn)距離為15 m;家庭網(wǎng)關(guān)通過網(wǎng)口連接到無線路由器,進(jìn)而連接到互聯(lián)網(wǎng)上。經(jīng)測(cè)試,截取了家庭網(wǎng)關(guān)的后臺(tái)服務(wù)器部分運(yùn)行數(shù)據(jù),如圖8所示??梢钥闯觯到y(tǒng)運(yùn)行穩(wěn)定,信息采集及時(shí)準(zhǔn)確,執(zhí)行結(jié)構(gòu)反應(yīng)迅速,達(dá)到了家庭網(wǎng)絡(luò)化、自動(dòng)化的目標(biāo)?!?/p>

008.jpg

5結(jié)束語

  本文將嵌入式ARM技術(shù)與ZigBee無線通信技術(shù)相結(jié)合,基于Android平臺(tái),開發(fā)了智能手機(jī)的APP進(jìn)行人機(jī)交互。系統(tǒng)功能強(qiáng)大,后期擴(kuò)展性強(qiáng),功耗低,達(dá)到了對(duì)家庭設(shè)備智能化管理和遠(yuǎn)程監(jiān)控的目的,具有較為廣闊的應(yīng)用前景。參考文獻(xiàn)

 ?。?] 陳發(fā)才,王仁波.基于SC1128電力線載波芯片的智能家居系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用, 2009, 28(20):16-18.

 ?。?] 尹紀(jì)庭,袁佳,焦志曼,等.基于ARM和ZigBee的智能家居控制系統(tǒng)研究與開發(fā)[J].計(jì)算機(jī)測(cè)量與控制, 2013, 21(9):2451-2454.

 ?。?] 葉高揚(yáng),畢冉.基于物聯(lián)網(wǎng)的智能家居系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用, 2014, 31(S1):318-319.

 ?。?] HAN D M,LIM J H. Design and implementation of smart home energy management systems based on ZigBee [J]. IEEE Transactions on Consumer Electronics,2010,56(3):1417-1425.

 ?。?] 徐書芳,王金海,宮玉龍.基于ZigBee的智能家居控制系統(tǒng)的研究與設(shè)計(jì)[J].電子技術(shù)應(yīng)用, 2013, 39(8):81-83.

 ?。?] 關(guān)永,張杰,師怡爽.基于ARM的嵌入式WEB服務(wù)器研究[J].電子器件, 2006, 29(2):42-45.

 ?。?] 紀(jì)金水.基于ZigBee無線傳感器網(wǎng)絡(luò)技術(shù)的系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì), 2007, 28(2):22-25.

 ?。?] 楊威,高文華.基于Android的智能家居終端設(shè)計(jì)與研究[J].計(jì)算機(jī)技術(shù)與發(fā)展, 2013, 23(7):189-192.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。