張 雄,秦會斌,毛祥根,李 琪
(杭州電子科技大學 電子信息學院,浙江 杭州 310018)
基于ZigBee技術的遠程家電控制系統
張 雄,秦會斌,毛祥根,李 琪
(杭州電子科技大學 電子信息學院,浙江 杭州 310018)
為了實現對常用家電設備的統一管理和遠程操控,設計了一套基于ZigBee技術的遠程家電控制系統。系統以ARM11作為主控平臺,采用Android移動終端作為用戶的操控平臺,利用ZigBee技術將常用家電設備控制模塊組建成一個家庭內部無線網絡。ARM主控平臺運行網關服務器程序,接收來自Android移動終端的訪問請求,通過ZigBee技術將該請求信息發送到家庭內部網絡來實現對相應家電設備的控制。經測試,通過Android移動終端實現了對室內空調等家電設備的遠程控制。
ZigBee技術;ARM11;無線網絡;遠程控制
隨著經濟的發展和科學技術的進步,人們家居生活中的各種家電設備也日益豐富。各種家電設備之間彼此獨立,控制方式各不相同,不便于用戶進行統一的管理和控制。單一家電服務慢慢不能滿足用戶的需求,實現對各種家電設備的統一管理和遠程操控是未來的發展趨勢。傳統遠程家電控制系統多以PC機作為控制終端,組網方式多采用有線方式,存在功耗大,需要布線、控制終端移動不方便等缺點[1]。
針對傳統實現方式的不足,本文設計的遠程家電控制系統以ARM11作為系統的控制中心,采用ZigBee技術實現家庭內部網絡的組網無線化,通過Android移動終端接入系統來實現對常用家電設備的遠程操控[2]。Android移動終端方便小巧,可隨身攜帶,便于操作,能讓用戶獲得舒適、便捷、人性化的家居體驗。
目前使用的常用家電如電視、空調都是采用紅外協議進行控制。不同家電的紅外控制協議不一致,因此設計了一個學習型紅外控制模塊。該模塊通過學習家電的紅外控制信號來完成對家電設備的控制。系統采用ZigBee技術將室內不同房間的紅外控制模塊組建成一個無線網絡來實現對家電設備的統一控制。ZigBee技術是一種近距離、低成本、低功耗的無線通信技術,具有組網方便、支持網絡節點數多等優勢。在工業控制、樓宇自動化和家電智能化等領域有廣泛的應用[3,4]。整個系統由控制終端、家庭網關和終端節點3部分組成。
控制終端是用戶對系統進行操控的平臺和界面。系統采用Android移動終端(智能手機、PDA)作為控制終端。控制終端通過WIFI接入家庭網關來實現遠程訪問和操控[5]。
家庭網關是整個系統的核心,由網關服務器和ZigBee協調器共同組成,它們之間通過串口連接。服務器支持Inetrnet、WIFI等方式的接入,主要接收來自控制終端的訪問請求,將接收到的控制信息通過串口發送給ZigBee協調器。ZigBee協調器根據接收到的控制信息,通過ZigBee協議發送控制指令給對應的終端節點來實現對家居設備的控制。
終端節點是具有ZigBee通信能力的紅外控制模塊,由ZigBee終端節點與紅外控制模塊組成。當終端節點接收到來自家庭網關的控制指令后,由對應的紅外控制模塊來完成對室內家電設備的控制。系統的總體結構如圖1所示。

圖1 系統的總體結構圖
由系統的總體結構圖可知,系統的硬件設計主要包括家庭網關和終端節點的硬件設計。家庭網關由網關服務器和ZigBee協調器組成,終端節點由ZigBee終端節點和紅外控制模塊組成。其中ZigBee協調器與ZigBee終端節點在硬件設計上完全相同,只是軟件設計不同。下面分別介紹家庭網關硬件平臺的選擇與終端節點的硬件設計。
2.1 家庭網關的硬件平臺的選擇
家庭網關是整個系統的控制核心,能接收來自用戶的訪問請求,并將相應的控制信息通過ZigBee協議發送給對應的終端節點。家庭網關選擇Samsung公司推出的S3C6410微處理器作為控制中心,外圍通過接口連接了ZigBee協調器、USB Wi-Fi等功能模塊。S3C6410是一款高性能、低功耗、低成本的32位精簡指令集(RISC)處理器。該處理器基于ARM1176內核,最高工作頻率能達到667MHz,內部采用32/64位總線結構[6]。并且該處理器支持虛擬內存機制,能很好地運行Linux、Android、Win-dows CE等嵌入式操作系統。
ZigBee協調器采用TI公司推出的CC2530作為主控芯片,外圍電路主要包括晶振電路與射頻收發電路。CC2530集成了業界領先的RF收發器、增強工業標準的8051MCU,是一個應用于IEEE 802.15.4、ZigBee和RF4CE的片上系統(SOC)解決方案[7]。該芯片同時具有功耗低,能建立強大的網絡節點等優勢。家庭網關的硬件結構如圖2所示。

圖2 家庭網關硬件結構圖
2.2 終端節點的硬件設計
終端節點由ZigBee終端節點和紅外控制模塊組成,2個模塊通過串口相連。ZigBee終端節點負責接收來自家庭網關發送的控制指令,紅外控制模塊根據收到的控制指令完成相應的功能。終端節點硬件結構圖如圖3所示。

圖3 終端節點硬件結構圖
如圖3所示,ZigBee終端節點在硬件實現上與ZigBee協調器相同。紅外控制模塊選擇STC89C52作為主控芯片,電路主要由紅外接收電路、紅外發射電路以及一些外圍電路構成。紅外接收電路負責接收紅外信號并解調,解調之后的脈沖序列由單片機來處理。紅外發射電路能將調制的脈沖信號轉化為相應的紅外控制信號來完成對家電設備的控制。
系統的軟件設計主要包括網關服務器程序設計,家庭網關與終端節點之間基于ZigBee協議的組網通信程序的設計和紅外控制模塊的程序設計。下面分別介紹相應的軟件設計過程。
3.1 網關服務器程序設計
網關服務器主要接收來自用戶通過網絡發起的控制請求,并通過串口發送相應的控制信息給ZigBee協調器。服務器平臺移植了Linux操作系統,因此服務器的設計是基于Linux平臺的服務器的設計。本系統服務器的設計是采用C/S(Client/Server)結構即客戶服務器結構。系統控制終端作為客戶端,服務器為系統控制終端提供服務[8]。
服務器的設計是采用select()函數實現的并發服務器。通過調用select()函數和傳遞相關參數來通知內核所關注的文件描述符和對應的狀態(讀、寫、異常),以及等待多長時間就返回。從select()函數返回后,內核會返回已經做好準備的描述符的個數和哪些描述符已經做好了相應的準備(讀、寫、異常)。有了這些信息,就可以調用合適的函數進行相應的處理。網關服務器軟件流程圖如圖4所示。

圖4 網關服務器軟件流程圖
3.2 基于ZigBee協議的組網通信程序設計
組網通信程序設計包括ZigBee協調器的程序設計和ZigBee終端節點的程序設計。它們的程序設計都是基于Z-Stack協議棧來設計開發的[9]。ZigBee協調器主要完成ZigBee網絡的建立,接收來自網關服務器的控制信息并通過廣播方式發送對應的控制信息給ZigBee終端節點。由ZigBee終端節點對廣播控制信息作出應答,當某個終端節點接受到控制信息后,通過串口發送相應的控制指令紅外控制模塊,由該模塊完成對家電設備的控制[10]。ZigBee協調器和ZigBee終端節點的軟件流程分別如圖5和圖6所示。

圖5 ZigBee協調器軟件流程圖

圖6 ZigBee終端節點軟件流程圖
3.3 紅外控制模塊軟件設計
紅外控制模塊根據接收的串口控制指令來執行相應的操作。當收到學習紅外指令時,紅外控制模塊檢測家電紅外信號的編碼脈沖的寬度,并存儲脈沖信號中高低電平的時間。當收到發射紅外信號命令時,紅外控制模塊根據存儲的高低電平時間來還原該脈沖信號,并將該脈信號調制到38 kHz的載波信號上去來產生對應的控制信號實現對相應家電設備的控制[11]。其軟件流程如圖7所示[12],紅外控制模塊首先等待ZigBee終端節點通過串口發送過來的控制指令。當該模塊接收到學習指令后,會調用相關功能函數來學習紅外信號,并存儲該紅外信號的編碼到EEPROM。當接收到控制指令后,會從EEPROM中讀取相應的紅外編碼,并通過定時計數器產生對應的編碼脈沖信號作用于紅外發射電路,實現對家電的控制。

圖7 紅外控制模塊軟件流程圖
采用S3C6410開發板作為測試平臺,用跳線將S3C6410開發板與ZigBee協調器通過串口相連作為家庭網關,用跳線將ZigBee終端節點與紅外控制模塊通過串口相連作為終端節點。終端節點部署在室內不同的房間完成對房間內家電的控制。整個系統上電后,采用Android智能手機作為系統的控制終端,Android智能手機的空調控制界面如圖8所示。

圖8 Android智能手機的空調控制界面
Android智能手機通過Wi-Fi接入家庭網關來完成相關操作。首先在界面上選擇房間號,進入當前房間的空調控制頁面。當在控制界面上選擇開始學習紅外指令時,紅外控制模塊開始學習室內空調的紅外信號,并存儲編碼。完成學習后,就可以通過紅外控制模塊完成對室內空調的控制。同樣也可以完成對室內其它基于紅外控制協議家電的控制。
設計的基于ZigBee技術的遠程家電控制系統,在不對現有基于紅外控制協議家電做任何改造的情況下,利用ZigBee技術將它們融入無線網絡,達到了對室內家電統一管理和遠程操控的目的。控制終端采用Android移動終端,可以通過網絡接入系統,使得用戶對家電設備的操控更加方便、快捷。ZigBee技術功耗低、組網方便等優勢降也低了系統成本,使系統具有良好的可擴展性。本系統在普通家居生活和一般辦公場所具有一定的應用推廣價值。
[1]袁曉平,馬滿福.基于ARM11的家電遠程控制系統[J].計算機應用與軟件,2013(10):288-292.
[2]曹 毅,李 旭.下一代網絡業務交互系統的設計分析[J].無線電工程,2012,42(4):6-8.
[3]姜 龍,羅小巧,楊明紅,等.基于ZigBee的家庭網關的設計與實現[J].通信技術,2013,05:45-47,52.
[4]蔣耘晨,劉秋麗,楊 明.基于Zigbee技術的天然氣聯合站監控系統設計[J].無線電通信技術,2007,33(01):56-58.
[5]代 成,葉 焱,劉太君,等.基于WEB的遠程自動控制系統研究和實現[J].無線電通信技術,2014,40(3):90-93.
[6]S3C6410數據手冊[Z].Rev1.20.2009.
[7]羅 凱.基于ZigBee的智能家居控制節點設計與實現[D].成都:電子科技大學,2013:18-19.
[8]楊敬偉,薛玉倩,劉振鵬.基于C/S與B/S混合模式的軟件體系結構[J].河北大學學報(自然科學版),2006(3):315-318,323.
[9]師振偉.基于ARM和ZigBee的智能家居無線終端控制系統的設計[D].西安工業大學,2013:21-23.
[10]穆立波.事件驅動型傳感網絡低能耗協議設計[J].無線電工程,2011,41(6):11-14.
[11]李 晉,王 玲,韓 英.基于AT89C52的學習型遙控器的設計[J].微計算機信息,2006,26:69-71.
[12]張 毅,張靈至,盧 威.面向物聯網的ZigBee-紅外控制系統設計[J].電子技術應用,2013,39(5):82-85.
Remote Control System of Home Appliances Based on ZigBee Technology
ZHANG Xiong,QIN Hui-bin,MAO Xiang-gen,LI Qi
(School of Electronics Information,Hangzhou Dianzi University,Hangzhou Zhejiang 310018,China)
In order to realize the unified management and remote control of common home appliances,a remote control system of home appliances based on ZigBee technology is designed.The system uses ARM11 as the main control platform and Android mobile terminal as the user control platform,and forms a home wireless network with home appliances control module using ZigBee technology. The ARM main control platform runs the gateway server program,receives the access request from Android mobile terminal,and sends the request information to the home network by ZigBee technology to realize the control of corresponding appliances.Through the test,the remote control of home appliances such as air conditioner is realized through the Android mobile terminal.
ZigBee technology;ARM11;wireless network;remote control
TP393.0
A
1003-3114(2015)06-68-4
10.3969/j.issn.1003-3114.2015.06.18.
張 雄,秦會斌,毛祥根,等.基于ZigBee技術的遠程家電控制系統[J].無線電通信技術,2015,41(6):68-71.
2015-07-16
張 雄(1987―),男,碩士,主要研究方向:嵌入系統開發與應用。秦會斌(1961―),男,博士生導師,教授,主要研究方向:新型電子器件與ASIC設計,現代傳感器設計及應用。