文獻標識碼: A
文章編號: 0258-7998(2013)05-0082-04
隨著信息技術(shù)的快速發(fā)展,,物聯(lián)網(wǎng)技術(shù)開始受到人們的廣泛關(guān)注和重視,,并被視為繼計算機、互聯(lián)網(wǎng)與移動通信網(wǎng)之后的世界信息產(chǎn)業(yè)第三次浪潮 [1],。同時,,如何通過物聯(lián)網(wǎng)技術(shù)改善居家環(huán)境和辦公環(huán)境,從而實現(xiàn)對不同設(shè)備的集中控制,、節(jié)能控制和智能化管理[2]也成為人們?nèi)找骊P(guān)注的熱點,。但當今我們所使用的家電大部分仍采用紅外協(xié)議進行控制,,如,空調(diào),、投影儀和DVD等,,致使這些紅外家電不能快速、有效地融入物聯(lián)網(wǎng)中,。而無論是對這些家電進行改造或是重新設(shè)計都將延長研發(fā)周期,,增加研發(fā)成本,提高設(shè)備價格,,這也正是物聯(lián)網(wǎng)技術(shù)推廣艱難的重要原因之一,。因此,設(shè)計一套使現(xiàn)有紅外家電在不做任何改造的情況下即可順利融入物聯(lián)網(wǎng)環(huán)境中的系統(tǒng)是十分必要的,。同時對物聯(lián)網(wǎng)的推廣具有重要現(xiàn)實意義,。
1 系統(tǒng)方案
本文設(shè)計的ZigBee-紅外控制系統(tǒng)依次分為上位機控制中心、ZigBee網(wǎng)絡(luò)和終端設(shè)備三部分,。其系統(tǒng)架構(gòu)如圖1所示,。其中ZigBee網(wǎng)絡(luò)部分由ZigBee協(xié)調(diào)器和基于ZigBee無線網(wǎng)絡(luò)控制的ZigBee-紅外遙控組成??刂浦行耐ㄟ^串口向ZigBee協(xié)調(diào)器發(fā)送控制指令,,協(xié)調(diào)器在接收到控制指令后通過ZigBee網(wǎng)絡(luò)將控制信息發(fā)送給對應ZigBee-紅外遙控節(jié)點,并由該節(jié)點發(fā)射對應的紅外信號,實現(xiàn)基于ZigBee無線通信技術(shù)的紅外家電控制。
系統(tǒng)ZigBee網(wǎng)絡(luò)部分采用TI公司的無線SoC集成芯片CC2530[3]以及TI2007版ZigBee協(xié)議棧,。
2 硬件設(shè)計
硬件部分采用模塊化的設(shè)計方式,,將電路分為CC2530核心板與各功能不同的擴展板,實現(xiàn)同一核心板與不同擴展板的配合使用,。這樣的好處在于針對不同的應用場景只需選取不同的擴展板,,而不必對核心板進行修改。CC2530核心板包含CC2530芯片和RF收發(fā)電路,,并引出芯片的主要I/O口與擴展板結(jié)合,。根據(jù)功能的不同,擴展版分為ZigBee協(xié)調(diào)器和ZigBee-紅外遙控兩種,。
2.1 ZigBee-紅外遙控電路
ZigBee-紅外遙控由CC2530核心板和ZigBee-紅外遙控擴展板兩部分組成,。其擴展版主要包括嵌入式微處理器、紅外收/發(fā)模塊和電源模塊等,。其結(jié)構(gòu)框圖如圖2所示,。
為實現(xiàn)低成本、高實時性的遙控,,遙控的嵌入式微處理器選用由NXP半導體公司生產(chǎn)的基于Cortex-M0內(nèi)核的LPC1114,。該微處理器的CPU頻率可到50 MHz,同時包含高達32 KB片內(nèi)Flash存儲器和8 KB數(shù)據(jù)存儲器,, 4個通用計時器以及多達42個通用I/O引腳[5],。同時為進一步提高遙控的實時性,,減小軟件負載,遙控不采用任何嵌入式操作系統(tǒng),。
2.2 ZigBee協(xié)調(diào)器電路
ZigBee協(xié)調(diào)器由CC2530核心板和協(xié)調(diào)器擴展板兩部分組成,。其擴展版主要包括電源和開關(guān)模塊、UART串口模塊以及編程下載模塊,。其框圖如圖3所示,。
由于ZigBee協(xié)調(diào)器是一個ZigBee無線網(wǎng)絡(luò)的創(chuàng)建者和協(xié)調(diào)者,同時還是網(wǎng)絡(luò)內(nèi)部與外部通信的樞紐[4],,因此協(xié)調(diào)器必須一直處于活躍狀態(tài),。本次設(shè)計選用220 V AC/DC穩(wěn)壓電源轉(zhuǎn)換模塊為協(xié)調(diào)器提供持續(xù)穩(wěn)定的電源電壓,并設(shè)有電源開關(guān),。
2.3 協(xié)調(diào)器電源電路
由于CC2530由3.3 V電壓供電,,因此協(xié)調(diào)器電源電路需設(shè)計為3.3 V電壓輸出,如圖4所示,。
首先由JP1電源接口輸入220 V交流電,,經(jīng)過AC/DC電源模塊輸出5 V直流電源。再經(jīng)過SPX1117-3.3 V LDO芯片產(chǎn)生穩(wěn)定的3.3 V輸出電壓,。SPX1117-3.3 V芯片的輸出電流可達800 mA,,輸出電壓的精度在±1%以內(nèi)。
3 軟件設(shè)計
本系統(tǒng)的軟件設(shè)計包含基于TI Z-Stack軟件構(gòu)架的ZigBee程序設(shè)計,、嵌入式微處理器程序設(shè)計和上位機控制中心軟件設(shè)計三部分,。
3.1 ZigBee程序設(shè)計
基于Z-Stack軟件構(gòu)架的ZigBee程序設(shè)計分為協(xié)調(diào)器程序設(shè)計和ZigBee-紅外遙控程序設(shè)計兩部分。它們同樣采用TI 2007版ZigBee協(xié)議棧,,該協(xié)議棧的特點在于很好地支持了網(wǎng)絡(luò)的自組織和自愈合,。同時,相對于2006版的ZigBee協(xié)議棧,, 2007版協(xié)議棧還增加了支持多密鑰高安全性,、支持大型網(wǎng)絡(luò)、支持分割傳輸?shù)刃绿匦浴?br/>
ZigBee協(xié)議棧通過輪詢的方式依次查詢來自MAC層,、網(wǎng)絡(luò)層、硬件抽象層,、應用支持子層(APS),、ZigBee設(shè)備對象(ZDO)層和應用層的任務,并按優(yōu)先級由高至低的順序依次處理[6],。
本設(shè)計的重點在于建立穩(wěn)定可靠的,、能自組織的ZigBee網(wǎng)絡(luò),同時實現(xiàn)基于ZigBee網(wǎng)絡(luò)的紅外家電控制。ZigBee協(xié)調(diào)器和ZigBee-紅外遙控主要實現(xiàn)的功能有:
(1)協(xié)調(diào)器依據(jù)ZigBee協(xié)議棧,,在Z_Stack架構(gòu)下,,組建了一個低功耗,、自組織、可多跳和可靠健壯的樹形無線網(wǎng)絡(luò),。
(2)協(xié)調(diào)器將來自上位機控制中心的控制信息按照預定義的幀格式構(gòu)造成發(fā)射數(shù)據(jù),,再通過ZigBee網(wǎng)絡(luò)發(fā)送給相應的遙控節(jié)點。
(3)遙控節(jié)點在接收到數(shù)據(jù)后按照預定義的幀格式解析數(shù)據(jù),,并執(zhí)行相應操作,,實現(xiàn)基于ZigBee網(wǎng)絡(luò)的紅外家電控制。
(4)通過遙控節(jié)點上的不同傳感器對室內(nèi)溫度,、濕度等信息進行采集,,并將采集到的信息通過上位機顯示,實現(xiàn)對室內(nèi)溫度,、濕度的監(jiān)控,。
如圖5所示,根據(jù)ZigBee節(jié)點的類型,、編號,、功能指令和操作類型等參數(shù)定義數(shù)據(jù)幀格式。
3.2 嵌入式微處理器程序設(shè)計
為實現(xiàn)集中控制,,同一遙控節(jié)點需對不同紅外家電進行控制[7],,因此遙控節(jié)點需具有一定紅外學習能力。由于當前家電所采用的紅外協(xié)議紛繁復雜,,要實現(xiàn)紅外協(xié)議的統(tǒng)一并不現(xiàn)實,。因此,為了避開紛繁復雜的碼型,,本系統(tǒng)中的遙控采用記錄紅外信號高低電平脈沖寬度的方式實現(xiàn)紅外信號的學習[8],。
設(shè)計思路為,通過嵌入式微處理器實現(xiàn)紅外信號的學習,、存儲以及發(fā)射,。當進入紅外學習狀態(tài)后,首先使能LPC1114 GPIO 2的雙邊沿觸發(fā)中斷,,并等待紅外信號,。當檢測到紅外信號下降沿時,進入中斷處理函數(shù),,開啟計數(shù)器,,直到紅外信號出現(xiàn)邊沿跳變時再次進入中斷處理函數(shù),關(guān)閉計數(shù)器,,記錄低電平脈沖寬度,。同時再次啟動計數(shù)器,開始記錄高電平脈沖寬度,。直至檢測到脈沖寬度大于60 ms時,,判斷為紅外信號發(fā)送完畢,,結(jié)束學習過程。最后將學習到的數(shù)據(jù)存入存儲器中,。
以下為紅外學習中斷處理函數(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 ++;
判斷紅外信號發(fā)射完畢程序代碼:
if (LPC_TMR16B0->TC>=60000){
NVIC_DisableIRQ(EINT2_IRQn);
LPC_TMR16B0->TCR= 0x00;}
紅外信號的發(fā)射過程采用匹配中斷的方式實現(xiàn),。首先將學習到的脈寬數(shù)據(jù)加載到LPC1114的32位計數(shù)器中,并啟動計數(shù)器,。當計數(shù)值與計數(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位計數(shù)器通過匹配反轉(zhuǎn)輸出的方式產(chǎn)生,。該方法極大地提高了載波的穩(wěn)定性[9],同時減少額外器件,,降低成本,。圖7為通過邏輯分析儀獲取的某一紅外信號與本遙控所學信號間的對比圖。由于紅外接收頭會將接收到的紅外信號反向,,因此,,原信號與學習信號剛好高低電平相反。通過圖7的波形對比可看出該遙控已成功實現(xiàn)學習功能,。
3.3 上位機控制中心軟件設(shè)計
上位機控制中心的軟件設(shè)計選用Visual Studio 2010集成開發(fā)環(huán)境,,并采用面向?qū)ο蟮木幊陶Z言C#[10]。主要實現(xiàn)對各遙控節(jié)點的可視化控制,,并實時顯示由各節(jié)點采集到的數(shù)據(jù),。控制中心設(shè)計有串口調(diào)試窗口以便于對PC和協(xié)調(diào)器節(jié)點間的串口通信進行調(diào)試,。
4 系統(tǒng)測試
系統(tǒng)的測試借助于上位機控制中心,、ZigBee協(xié)調(diào)器和ZigBee-紅外遙控。選用一間配備有空調(diào)和投影儀的普通房間作為實驗環(huán)境,,并將房間內(nèi)的空調(diào)和投影儀作為實驗對象,。
首先,用ZigBee協(xié)調(diào)器創(chuàng)建一個ZigBee網(wǎng)絡(luò),;其次,,各ZigBee-紅外遙控節(jié)點依次加入網(wǎng)絡(luò)中;然后,,通過上位機控制中心對相應遙控節(jié)點發(fā)送控制指令,;最后,觀察房間內(nèi)空調(diào)與投影的工作狀況,。
測試過程中控制中心能實現(xiàn)對房間內(nèi)空調(diào)和投影的有效控制,達到設(shè)計要求,,表明該系統(tǒng)效果良好,。
本文所設(shè)計的面向物聯(lián)網(wǎng)家電的ZigBee-紅外控制系統(tǒng)主要包括上位機控制中心,、ZigBee協(xié)調(diào)器和ZigBee-紅外遙控。它實現(xiàn)在不對現(xiàn)有紅外家電做任何改造的情況下使其快速,、有效地融入到物聯(lián)網(wǎng)環(huán)境中,,達到對紅外家電的集中控制、節(jié)能控制和智能化管理,。本系統(tǒng)成本低,、功耗低、性能優(yōu)越,,并具有良好的可擴展性,。不僅能滿足普通家庭需求,同時還可應用在如政府機關(guān),、學校,、醫(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無線傳感器網(wǎng)絡(luò)[M]. 北京:北京郵電大學出版社, 2011.
[5] LPC111x/LPC11Cxx User Manual Rev. 7[M]. 19 September 2011.
[6] 高守瑋,吳燦陽. ZigBee技術(shù)實踐教程 [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] 陳祖爵,,王建毅. 智能型紅外遙控器的設(shè)計[J]. 微計算機信息,2008,24(1-2):305-307.
[9] 徐志,,何明華,,林武,等. 一類基于軟件載波的學習型遙控器的設(shè)計與實現(xiàn)[J]. 現(xiàn)代電子技術(shù),,2009(2):36-38.
[10] WATSON K, NAGEL C. C#入門經(jīng)典(第5版)[M].北京:清華大學出版社, 2010.