《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 面向物聯(lián)網的ZigBee-紅外控制系統(tǒng)設計
面向物聯(lián)網的ZigBee-紅外控制系統(tǒng)設計
來源:電子技術應用2013年第5期
張 毅, 張靈至, 盧 威
重慶郵電大學 通信學院,重慶 400065
摘要: 為了將現(xiàn)有紅外家電快速、有效地融入物聯(lián)網中,設計了一套ZigBee-紅外控制系統(tǒng),在不對現(xiàn)有紅外家電進行改造的前提下使其快速、有效地融入基于ZigBee無線通信技術的物聯(lián)網環(huán)境中,實現(xiàn)對不同家電的集中控制、節(jié)能控制和智能化管理。
中圖分類號: TP393
文獻標識碼: A
文章編號: 0258-7998(2013)05-0082-04
Design of ZigBee-infrared control system for appliances in Internet of Things
Zhang Yi, Zhang Lingzhi, Lu Wei
College of Communication, Chongqing University of Posts and Telecommunications, Chongqing 400065, China
Abstract: With the rise of IoT(Internet of Things) technology, the ZigBee wireless communication technology is widely used. However, the Infrared communication protocol is now implemented in most household electric appliances. This paper proposed a system to help these appliances, which implemented with the Infrared communication protocol, join into IOT quickly and efficiently without any rebuild or redesign on the existing appliances, to realize centralized control , energy-saving control and intelligent control of different household electric appliances.
Key words : Internet of Things; ZigBee; infrared communication

    隨著信息技術的快速發(fā)展,物聯(lián)網技術開始受到人們的廣泛關注和重視,并被視為繼計算機、互聯(lián)網與移動通信網之后的世界信息產業(yè)第三次浪潮 [1]。同時,如何通過物聯(lián)網技術改善居家環(huán)境和辦公環(huán)境,從而實現(xiàn)對不同設備的集中控制、節(jié)能控制和智能化管理[2]也成為人們日益關注的熱點。但當今我們所使用的家電大部分仍采用紅外協(xié)議進行控制,如,空調、投影儀和DVD等,致使這些紅外家電不能快速、有效地融入物聯(lián)網中。而無論是對這些家電進行改造或是重新設計都將延長研發(fā)周期,增加研發(fā)成本,提高設備價格,這也正是物聯(lián)網技術推廣艱難的重要原因之一。因此,設計一套使現(xiàn)有紅外家電在不做任何改造的情況下即可順利融入物聯(lián)網環(huán)境中的系統(tǒng)是十分必要的。同時對物聯(lián)網的推廣具有重要現(xiàn)實意義。

1 系統(tǒng)方案
    本文設計的ZigBee-紅外控制系統(tǒng)依次分為上位機控制中心、ZigBee網絡和終端設備三部分。其系統(tǒng)架構如圖1所示。其中ZigBee網絡部分由ZigBee協(xié)調器和基于ZigBee無線網絡控制的ZigBee-紅外遙控組成。控制中心通過串口向ZigBee協(xié)調器發(fā)送控制指令,協(xié)調器在接收到控制指令后通過ZigBee網絡將控制信息發(fā)送給對應ZigBee-紅外遙控節(jié)點,并由該節(jié)點發(fā)射對應的紅外信號,實現(xiàn)基于ZigBee無線通信技術的紅外家電控制。
    系統(tǒng)ZigBee網絡部分采用TI公司的無線SoC集成芯片CC2530[3]以及TI2007版ZigBee協(xié)議棧。

2 硬件設計
    硬件部分采用模塊化的設計方式,將電路分為CC2530核心板與各功能不同的擴展板,實現(xiàn)同一核心板與不同擴展板的配合使用。這樣的好處在于針對不同的應用場景只需選取不同的擴展板,而不必對核心板進行修改。CC2530核心板包含CC2530芯片和RF收發(fā)電路,并引出芯片的主要I/O口與擴展板結合。根據功能的不同,擴展版分為ZigBee協(xié)調器和ZigBee-紅外遙控兩種。
2.1 ZigBee-紅外遙控電路
    ZigBee-紅外遙控由CC2530核心板和ZigBee-紅外遙控擴展板兩部分組成。其擴展版主要包括嵌入式微處理器、紅外收/發(fā)模塊和電源模塊等。其結構框圖如圖2所示。

    為實現(xiàn)低成本、高實時性的遙控,遙控的嵌入式微處理器選用由NXP半導體公司生產的基于Cortex-M0內核的LPC1114。該微處理器的CPU頻率可到50 MHz,同時包含高達32 KB片內Flash存儲器和8 KB數據存儲器, 4個通用計時器以及多達42個通用I/O引腳[5]。同時為進一步提高遙控的實時性,減小軟件負載,遙控不采用任何嵌入式操作系統(tǒng)。
2.2 ZigBee協(xié)調器電路
    ZigBee協(xié)調器由CC2530核心板和協(xié)調器擴展板兩部分組成。其擴展版主要包括電源和開關模塊、UART串口模塊以及編程下載模塊。其框圖如圖3所示。

    由于ZigBee協(xié)調器是一個ZigBee無線網絡的創(chuàng)建者和協(xié)調者,同時還是網絡內部與外部通信的樞紐[4],因此協(xié)調器必須一直處于活躍狀態(tài)。本次設計選用220 V AC/DC穩(wěn)壓電源轉換模塊為協(xié)調器提供持續(xù)穩(wěn)定的電源電壓,并設有電源開關。
2.3 協(xié)調器電源電路
    由于CC2530由3.3 V電壓供電,因此協(xié)調器電源電路需設計為3.3 V電壓輸出,如圖4所示。

    首先由JP1電源接口輸入220 V交流電,經過AC/DC電源模塊輸出5 V直流電源。再經過SPX1117-3.3 V LDO芯片產生穩(wěn)定的3.3 V輸出電壓。SPX1117-3.3 V芯片的輸出電流可達800 mA,輸出電壓的精度在±1%以內。
3 軟件設計
    本系統(tǒng)的軟件設計包含基于TI Z-Stack軟件構架的ZigBee程序設計、嵌入式微處理器程序設計和上位機控制中心軟件設計三部分。
3.1 ZigBee程序設計
    基于Z-Stack軟件構架的ZigBee程序設計分為協(xié)調器程序設計和ZigBee-紅外遙控程序設計兩部分。它們同樣采用TI 2007版ZigBee協(xié)議棧,該協(xié)議棧的特點在于很好地支持了網絡的自組織和自愈合。同時,相對于2006版的ZigBee協(xié)議棧, 2007版協(xié)議棧還增加了支持多密鑰高安全性、支持大型網絡、支持分割傳輸等新特性。
    ZigBee協(xié)議棧通過輪詢的方式依次查詢來自MAC層、網絡層、硬件抽象層、應用支持子層(APS)、ZigBee設備對象(ZDO)層和應用層的任務,并按優(yōu)先級由高至低的順序依次處理[6]。
    本設計的重點在于建立穩(wěn)定可靠的、能自組織的ZigBee網絡,同時實現(xiàn)基于ZigBee網絡的紅外家電控制。ZigBee協(xié)調器和ZigBee-紅外遙控主要實現(xiàn)的功能有:
    (1)協(xié)調器依據ZigBee協(xié)議棧,在Z_Stack架構下,組建了一個低功耗、自組織、可多跳和可靠健壯的樹形無線網絡。
    (2)協(xié)調器將來自上位機控制中心的控制信息按照預定義的幀格式構造成發(fā)射數據,再通過ZigBee網絡發(fā)送給相應的遙控節(jié)點。
    (3)遙控節(jié)點在接收到數據后按照預定義的幀格式解析數據,并執(zhí)行相應操作,實現(xiàn)基于ZigBee網絡的紅外家電控制。
    (4)通過遙控節(jié)點上的不同傳感器對室內溫度、濕度等信息進行采集,并將采集到的信息通過上位機顯示,實現(xiàn)對室內溫度、濕度的監(jiān)控。
    如圖5所示,根據ZigBee節(jié)點的類型、編號、功能指令和操作類型等參數定義數據幀格式。

3.2 嵌入式微處理器程序設計
    為實現(xiàn)集中控制,同一遙控節(jié)點需對不同紅外家電進行控制[7],因此遙控節(jié)點需具有一定紅外學習能力。由于當前家電所采用的紅外協(xié)議紛繁復雜,要實現(xiàn)紅外協(xié)議的統(tǒng)一并不現(xiàn)實。因此,為了避開紛繁復雜的碼型,本系統(tǒng)中的遙控采用記錄紅外信號高低電平脈沖寬度的方式實現(xiàn)紅外信號的學習[8]。
     設計思路為,通過嵌入式微處理器實現(xiàn)紅外信號的學習、存儲以及發(fā)射。當進入紅外學習狀態(tài)后,首先使能LPC1114 GPIO 2的雙邊沿觸發(fā)中斷,并等待紅外信號。當檢測到紅外信號下降沿時,進入中斷處理函數,開啟計數器,直到紅外信號出現(xiàn)邊沿跳變時再次進入中斷處理函數,關閉計數器,記錄低電平脈沖寬度。同時再次啟動計數器,開始記錄高電平脈沖寬度。直至檢測到脈沖寬度大于60 ms時,判斷為紅外信號發(fā)送完畢,結束學習過程。最后將學習到的數據存入存儲器中。
    以下為紅外學習中斷處理函數代碼[5]:
    LPC_GPIO2->IC|=Signal_In;
    LPC_TMR16B0->TCR=0x00;
       IR_Data[Ram_Point]= LPC_TMR16B0->TC;
    LPC_TMR16B0->TC=0;                
         LPC_TMR16B0->TCR=0x01;        
    Ram_Point ++;
    判斷紅外信號發(fā)射完畢程序代碼:
       if (LPC_TMR16B0->TC>=60000){
    NVIC_DisableIRQ(EINT2_IRQn);
    LPC_TMR16B0->TCR= 0x00;}
        紅外信號的發(fā)射過程采用匹配中斷的方式實現(xiàn)。首先將學習到的脈寬數據加載到LPC1114的32位計數器中,并啟動計數器。當計數值與計數器中預裝載的值相匹配時,產生匹配中斷。以下為紅外發(fā)射中斷處理函數代碼:
         LPC_TMR32B0->IR=0x01;
    Ram_Point ++;
         LPC_TMR32B0->MR0=
IR_Data[Ram_Point];
       if (Ram_Point%2==0)
        Signal_OFF();    else
        Signal_ON();
    嵌入式微處理器的程序流程圖如圖6所示。

 

 

    遙控的載波由16位計數器通過匹配反轉輸出的方式產生。該方法極大地提高了載波的穩(wěn)定性[9],同時減少額外器件,降低成本。圖7為通過邏輯分析儀獲取的某一紅外信號與本遙控所學信號間的對比圖。由于紅外接收頭會將接收到的紅外信號反向,因此,原信號與學習信號剛好高低電平相反。通過圖7的波形對比可看出該遙控已成功實現(xiàn)學習功能。

3.3 上位機控制中心軟件設計
    上位機控制中心的軟件設計選用Visual Studio 2010集成開發(fā)環(huán)境,并采用面向對象的編程語言C#[10]。主要實現(xiàn)對各遙控節(jié)點的可視化控制,并實時顯示由各節(jié)點采集到的數據。控制中心設計有串口調試窗口以便于對PC和協(xié)調器節(jié)點間的串口通信進行調試。
4 系統(tǒng)測試
    系統(tǒng)的測試借助于上位機控制中心、ZigBee協(xié)調器和ZigBee-紅外遙控。選用一間配備有空調和投影儀的普通房間作為實驗環(huán)境,并將房間內的空調和投影儀作為實驗對象。
    首先,用ZigBee協(xié)調器創(chuàng)建一個ZigBee網絡;其次,各ZigBee-紅外遙控節(jié)點依次加入網絡中;然后,通過上位機控制中心對相應遙控節(jié)點發(fā)送控制指令;最后,觀察房間內空調與投影的工作狀況。
    測試過程中控制中心能實現(xiàn)對房間內空調和投影的有效控制,達到設計要求,表明該系統(tǒng)效果良好。
    本文所設計的面向物聯(lián)網家電的ZigBee-紅外控制系統(tǒng)主要包括上位機控制中心、ZigBee協(xié)調器和ZigBee-紅外遙控。它實現(xiàn)在不對現(xiàn)有紅外家電做任何改造的情況下使其快速、有效地融入到物聯(lián)網環(huán)境中,達到對紅外家電的集中控制、節(jié)能控制和智能化管理。本系統(tǒng)成本低、功耗低、性能優(yōu)越,并具有良好的可擴展性。不僅能滿足普通家庭需求,同時還可應用在如政府機關、學校、醫(yī)院等場合。因此本系統(tǒng)具有使用和推廣價值。
參考文獻
[1] ITU Internet Reports 2005: The Internet of Things[R].Geneva: International Telecommunication Union, 2005.
[2] HAN I, PARK H S, JEONG Y K,et al. An integrated  home server for communication, broadcast reception, and  home automation[J]. IEEE Transactions on Consumer Electronics, 2006,52(1):104-109.
[3] CC2530 data sheet[M]. April 2009.
[4] 鐘永鋒,劉永俊. ZigBee無線傳感器網絡[M]. 北京:北京郵電大學出版社, 2011.
[5] LPC111x/LPC11Cxx User Manual Rev. 7[M]. 19 September 2011.
[6] 高守瑋,吳燦陽. ZigBee技術實踐教程 [M]. 北京:北京航空航天大學出版社,2009.
[7] PARK W K, HAN I, PARK K  R. ZigBee based dynamic control scheme for multiple legacy IR controllable digital consumer Devices[J]. IEEE Trans. On Consumer Electronics, 2007,53(1):172-177.
[8] 陳祖爵,王建毅. 智能型紅外遙控器的設計[J]. 微計算機信息,2008,24(1-2):305-307.
[9] 徐志,何明華,林武,等. 一類基于軟件載波的學習型遙控器的設計與實現(xiàn)[J]. 現(xiàn)代電子技術,2009(2):36-38.
[10] WATSON K, NAGEL C. C#入門經典(第5版)[M].北京:清華大學出版社, 2010.

此內容為AET網站原創(chuàng),未經授權禁止轉載。