《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 面向物聯(lián)網(wǎng)的ZigBee-紅外控制系統(tǒng)設(shè)計(jì)
面向物聯(lián)網(wǎng)的ZigBee-紅外控制系統(tǒng)設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2013年第5期
張 毅, 張靈至, 盧 威
重慶郵電大學(xué) 通信學(xué)院,重慶 400065
摘要: 為了將現(xiàn)有紅外家電快速、有效地融入物聯(lián)網(wǎng)中,設(shè)計(jì)了一套ZigBee-紅外控制系統(tǒng),在不對(duì)現(xiàn)有紅外家電進(jìn)行改造的前提下使其快速、有效地融入基于ZigBee無(wú)線(xiàn)通信技術(shù)的物聯(lián)網(wǎng)環(huán)境中,實(shí)現(xiàn)對(duì)不同家電的集中控制、節(jié)能控制和智能化管理。
中圖分類(lèi)號(hào): TP393
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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

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

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

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

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

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

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

3.2 嵌入式微處理器程序設(shè)計(jì)
    為實(shí)現(xiàn)集中控制,同一遙控節(jié)點(diǎn)需對(duì)不同紅外家電進(jìn)行控制[7],因此遙控節(jié)點(diǎn)需具有一定紅外學(xué)習(xí)能力。由于當(dāng)前家電所采用的紅外協(xié)議紛繁復(fù)雜,要實(shí)現(xiàn)紅外協(xié)議的統(tǒng)一并不現(xiàn)實(shí)。因此,為了避開(kāi)紛繁復(fù)雜的碼型,本系統(tǒng)中的遙控采用記錄紅外信號(hào)高低電平脈沖寬度的方式實(shí)現(xiàn)紅外信號(hào)的學(xué)習(xí)[8]。
     設(shè)計(jì)思路為,通過(guò)嵌入式微處理器實(shí)現(xiàn)紅外信號(hào)的學(xué)習(xí)、存儲(chǔ)以及發(fā)射。當(dāng)進(jìn)入紅外學(xué)習(xí)狀態(tài)后,首先使能LPC1114 GPIO 2的雙邊沿觸發(fā)中斷,并等待紅外信號(hào)。當(dāng)檢測(cè)到紅外信號(hào)下降沿時(shí),進(jìn)入中斷處理函數(shù),開(kāi)啟計(jì)數(shù)器,直到紅外信號(hào)出現(xiàn)邊沿跳變時(shí)再次進(jìn)入中斷處理函數(shù),關(guān)閉計(jì)數(shù)器,記錄低電平脈沖寬度。同時(shí)再次啟動(dòng)計(jì)數(shù)器,開(kāi)始記錄高電平脈沖寬度。直至檢測(cè)到脈沖寬度大于60 ms時(shí),判斷為紅外信號(hào)發(fā)送完畢,結(jié)束學(xué)習(xí)過(guò)程。最后將學(xué)習(xí)到的數(shù)據(jù)存入存儲(chǔ)器中。
    以下為紅外學(xué)習(xí)中斷處理函數(shù)代碼[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 ++;
    判斷紅外信號(hào)發(fā)射完畢程序代碼:
       if (LPC_TMR16B0->TC>=60000){
    NVIC_DisableIRQ(EINT2_IRQn);
    LPC_TMR16B0->TCR= 0x00;}
        紅外信號(hào)的發(fā)射過(guò)程采用匹配中斷的方式實(shí)現(xiàn)。首先將學(xué)習(xí)到的脈寬數(shù)據(jù)加載到LPC1114的32位計(jì)數(shù)器中,并啟動(dòng)計(jì)數(shù)器。當(dāng)計(jì)數(shù)值與計(jì)數(shù)器中預(yù)裝載的值相匹配時(shí),產(chǎn)生匹配中斷。以下為紅外發(fā)射中斷處理函數(shù)代碼:
         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位計(jì)數(shù)器通過(guò)匹配反轉(zhuǎn)輸出的方式產(chǎn)生。該方法極大地提高了載波的穩(wěn)定性[9],同時(shí)減少額外器件,降低成本。圖7為通過(guò)邏輯分析儀獲取的某一紅外信號(hào)與本遙控所學(xué)信號(hào)間的對(duì)比圖。由于紅外接收頭會(huì)將接收到的紅外信號(hào)反向,因此,原信號(hào)與學(xué)習(xí)信號(hào)剛好高低電平相反。通過(guò)圖7的波形對(duì)比可看出該遙控已成功實(shí)現(xiàn)學(xué)習(xí)功能。

3.3 上位機(jī)控制中心軟件設(shè)計(jì)
    上位機(jī)控制中心的軟件設(shè)計(jì)選用Visual Studio 2010集成開(kāi)發(fā)環(huán)境,并采用面向?qū)ο蟮木幊陶Z(yǔ)言C#[10]。主要實(shí)現(xiàn)對(duì)各遙控節(jié)點(diǎn)的可視化控制,并實(shí)時(shí)顯示由各節(jié)點(diǎn)采集到的數(shù)據(jù)??刂浦行脑O(shè)計(jì)有串口調(diào)試窗口以便于對(duì)PC和協(xié)調(diào)器節(jié)點(diǎn)間的串口通信進(jìn)行調(diào)試。
4 系統(tǒng)測(cè)試
    系統(tǒng)的測(cè)試借助于上位機(jī)控制中心、ZigBee協(xié)調(diào)器和ZigBee-紅外遙控。選用一間配備有空調(diào)和投影儀的普通房間作為實(shí)驗(yàn)環(huán)境,并將房間內(nèi)的空調(diào)和投影儀作為實(shí)驗(yàn)對(duì)象。
    首先,用ZigBee協(xié)調(diào)器創(chuàng)建一個(gè)ZigBee網(wǎng)絡(luò);其次,各ZigBee-紅外遙控節(jié)點(diǎn)依次加入網(wǎng)絡(luò)中;然后,通過(guò)上位機(jī)控制中心對(duì)相應(yīng)遙控節(jié)點(diǎn)發(fā)送控制指令;最后,觀察房間內(nèi)空調(diào)與投影的工作狀況。
    測(cè)試過(guò)程中控制中心能實(shí)現(xiàn)對(duì)房間內(nèi)空調(diào)和投影的有效控制,達(dá)到設(shè)計(jì)要求,表明該系統(tǒng)效果良好。
    本文所設(shè)計(jì)的面向物聯(lián)網(wǎng)家電的ZigBee-紅外控制系統(tǒng)主要包括上位機(jī)控制中心、ZigBee協(xié)調(diào)器和ZigBee-紅外遙控。它實(shí)現(xiàn)在不對(duì)現(xiàn)有紅外家電做任何改造的情況下使其快速、有效地融入到物聯(lián)網(wǎng)環(huán)境中,達(dá)到對(duì)紅外家電的集中控制、節(jié)能控制和智能化管理。本系統(tǒng)成本低、功耗低、性能優(yōu)越,并具有良好的可擴(kuò)展性。不僅能滿(mǎn)足普通家庭需求,同時(shí)還可應(yīng)用在如政府機(jī)關(guān)、學(xué)校、醫(yī)院等場(chǎng)合。因此本系統(tǒng)具有使用和推廣價(jià)值。
參考文獻(xiàn)
[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無(wú)線(xiàn)傳感器網(wǎng)絡(luò)[M]. 北京:北京郵電大學(xué)出版社, 2011.
[5] LPC111x/LPC11Cxx User Manual Rev. 7[M]. 19 September 2011.
[6] 高守瑋,吳燦陽(yáng). ZigBee技術(shù)實(shí)踐教程 [M]. 北京:北京航空航天大學(xué)出版社,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] 陳祖爵,王建毅. 智能型紅外遙控器的設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2008,24(1-2):305-307.
[9] 徐志,何明華,林武,等. 一類(lèi)基于軟件載波的學(xué)習(xí)型遙控器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),2009(2):36-38.
[10] WATSON K, NAGEL C. C#入門(mén)經(jīng)典(第5版)[M].北京:清華大學(xué)出版社, 2010.

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