《電子技術(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
摘要: 針對傳統(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處理器為硬件平臺,并搭載了嵌入式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)布線簡單,移動(dòng)性好,,能夠較好地實(shí)現(xiàn)智能家居系統(tǒng)的本地和遠(yuǎn)程無線控制,。
Abstract:
Key words :

  徐宏宇,程武,,張博

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

       摘要:針對傳統(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處理器為硬件平臺,,并搭載了嵌入式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)布線簡單,,移動(dòng)性好,能夠較好地實(shí)現(xiàn)智能家居系統(tǒng)的本地和遠(yuǎn)程無線控制,。

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

  中圖分類號:TP311文獻(xiàn)標(biāo)識碼: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引言

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

  傳統(tǒng)的智能家居控制系統(tǒng)一般通過有線[1]方式組建并且通過PC控制,,這種方式通常需要部署很多線纜,。當(dāng)需要增減設(shè)備時(shí)又要重新布線,既影響了室內(nèi)的美觀又增加了開銷,;通過PC控制家電,,增加了使用者的學(xué)習(xí)成本,便攜性也很差,,無論是升級和維護(hù)都相當(dāng)不便,。基于以上事實(shí),,本文結(jié)合ZigBee技術(shù)建立智能家居系統(tǒng)的傳感器網(wǎng)絡(luò)和家電控制網(wǎng)絡(luò)(這兩種網(wǎng)絡(luò)稱之為家庭內(nèi)網(wǎng)),,分別用于檢測室內(nèi)的健康狀況和控制家電[2],;然后以ARM嵌入式處理器為核心,建立智能家居系統(tǒng)的網(wǎng)關(guān)樞紐——家庭網(wǎng)關(guān)(向外連接公網(wǎng),,向內(nèi)連接家庭內(nèi)網(wǎng)),;最后,基于Android平臺開發(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)對室內(nèi)的溫度,、濕度,、光照強(qiáng)度、煙霧濃度的實(shí)時(shí)獲取和對燈光,、音樂播放器,、門禁、窗簾等家電的控制[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ò),,分別用于檢測室內(nèi)狀況,控制家用電器,;而家庭網(wǎng)關(guān)則是整個(gè)家庭網(wǎng)絡(luò)的核心,,對外連接到公網(wǎng)上,處理來自用戶手機(jī)端的數(shù)據(jù)和命令請求,,對內(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作為硬件平臺(如圖2所示),該芯片本身集成了包括存儲器接口,、通信接口(SPI,、RS232、I2C等)和AD等在內(nèi)的豐富的硬件資源,,可大大簡化外圍設(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)測,、安防監(jiān)測報(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)聽多路訪問/沖突檢測(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)平臺下基于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平臺上,。

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

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

  在ARM+Linux開發(fā)平臺下,,常用的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)有客戶端請求連入時(shí),,服務(wù)器端會開啟一個(gè)子進(jìn)程處理請求并完成與客戶端的數(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)器首先會進(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)會將其注冊信息發(fā)送給ZigBee協(xié)調(diào)器,,然后ZigBee協(xié)調(diào)器完成對終端節(jié)點(diǎn)的注冊[7]。

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

  

006.jpg

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

  圖7智能手機(jī)APP主界面示意圖用戶對整個(gè)智能家居控制系統(tǒng)的操作最終是通過智能手機(jī)來完成的,。為此,,筆者開發(fā)了基于Android智能手機(jī)操作系統(tǒng)平臺的APP。APP的設(shè)計(jì)包括APP界面前端和后臺的開發(fā),。其中,,APP的前端即UI(用戶界面)設(shè)計(jì),是通過建立一個(gè)XML文件,,在這個(gè)XML文件下根據(jù)一定的布局編寫相應(yīng)的控件,,然后在MainActivity代碼中將這個(gè)XML文件進(jìn)行綁定即可[8];而APP的后臺代碼設(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)測試

  系統(tǒng)軟硬件設(shè)計(jì)完成后,,在實(shí)驗(yàn)室條件下進(jìn)行了測試。測試系統(tǒng)由一個(gè)ZigBee協(xié)調(diào)器,、兩個(gè)ZigBee終端節(jié)點(diǎn)(分別是溫濕度傳感器節(jié)點(diǎn)和音樂播放器節(jié)點(diǎn)),、一個(gè)由S3C2440平臺搭建的家庭網(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)測試,,截取了家庭網(wǎng)關(guān)的后臺服務(wù)器部分運(yùn)行數(shù)據(jù),,如圖8所示??梢钥闯?,系統(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平臺,開發(fā)了智能手機(jī)的APP進(jìn)行人機(jī)交互,。系統(tǒng)功能強(qiáng)大,,后期擴(kuò)展性強(qiáng),功耗低,,達(dá)到了對家庭設(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ī)測量與控制, 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.

  [4] 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.

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

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

  [7] 紀(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)載,。