1. 程式人生 > >ZigBee無線遙控系統

ZigBee無線遙控系統

引言

隨著高科技和資訊科技的廣泛應用,安全、舒適、便利的生活環境已不再是一個夢想,智慧家電已成為家居生活的必需品。但智慧家電的普及,導致遙控器種類的多樣性,這就迫切需要一個功能更為強大的遙控器對其進行整合。

家中許多的電器產品只要有遙控的功能,例如電視機、空調以及音響等家電產品,都是以紅外線遙控的方式來控制。但是,由於紅外遙控的侷限性,無法在一個地方,通過一個遙控器來控制多種型別的家電產品。設計了基於傳輸協議的遙控器,通過遠距離控制開發板上的Led 燈,來模擬實現對智慧家電的遙控。ZigBee 數傳相比紅外傳輸的距離遠,並且,不必像紅外遙控需要嚴格的角度控制。所以,目前很多智慧家居都是採用傳輸資料,而智慧家電無線遙控系統是在智慧家居的基礎上實現的。

1 無線遙控系統整體模型

無線遙控系統主要由開發板模組、遙控器和智慧家電3 部分組成,如圖1 所示。

clip_image002

1 系統整體結構圖

1)開發板模組:本模組採用RF2530A 開發板,板上集成了TI 公司的CC2530 晶片,能對來自遙控器的訊號進行分析處理後通過把控制資訊傳送給智慧家電。CC2530 晶片具有優質鏈路效能、晶片的內部空間小、低功耗等特性,使其成為智慧家居控制的首選。

2)遙控器:採用RemoTI R遙控器,其內部雖然整合有高效能的射頻收發器,但對於有阻隔物或距離較遠時,訊號會受影響。因此為RemoTI R

外接功放晶片CC2590,遙控器上控制家電的訊號通過功放晶片CC2590 傳送給開發板,達到控制智慧家電的目的。

3)智慧家電:ZigBee數傳網路拓撲結構有對等和星型兩種結構,智慧家居中一般採用星型網路結構是由於星型網路中協調器有且只有一個,終端裝置節點可以有多個且可以被協調器自動識別,符合智慧家居的特性。家庭生活中的電視、空調、冰箱等家電與數傳模組節點連線,組成網路的終端裝置節點;開發板設定為網路中的協調器,與家電裝置組成星型無線網路。

2 硬體設計

2.1 開發板模組

RF2530A 開發板包括天線介面、電源介面、記憶體、I/O

擴充套件介面、4 Led 燈和CC2530 晶片等,CC2530 晶片是開發板的核心。該晶片採用8051MCU核心,支援IEEE 802.15.4/ZigBee協議,有21 個擴充套件口,允許5 種工作模式,電流損耗小,在無線短距離傳輸領域得到了廣泛應用,具體硬體結構如圖2 所示。

clip_image004

2 開發板結構圖

開發板通過USB 介面對CC2530 晶片進行燒錄程式,同時把接受到的程式儲存在記憶體中。晶片在供電後,由晶振產生時鐘脈衝驅動主控晶片執行,讀取記憶體程式,並對無線接受裝置進行監聽。當無線接受裝置收到來自遙控器的訊號時,主控晶片對資訊進行處理分析,並進行相應的操作。

2.2 遙控器

遙控器RemoTI R整合CC2530 晶片,是在無線接收方面的一個拓展。但晶片自身的接收靈敏度較固定、發射頻率較小、傳輸距離僅幾百米,這難於滿足庭院式、複式家庭中對智慧家電的控制需求,因此在遙控器中為CC2530 晶片連線一個射頻前端晶片CC2590,大大提高了接收的靈敏度,擴充套件了通訊距離,連線如圖3 所示。

clip_image006

3 連線線路圖

CC2590 晶片內集成了功率放大器、收發器、巴倫、低噪聲放大器等電子元件,通過功率放大器可以輸出較高的功率,巴倫電子元件可以和CC2530 實現無縫連線,低噪聲放大器可以改善靈敏度,從而可以改善鏈路的估算,在無線網路中獲得了極大的應用。

3 軟體實現過程

3.1 平臺構建

系統軟體部分利用的是IAR Embedded Workbench開發,協議方面的程式碼由TI 官方提供,所以需要對Z-Stack_lighting檔案進行安裝獲得協議程式碼。

IAR Embedded Workbench 搭建,按照軟體說明對IAR820 進行安裝,然後把iar.c c++.complier.v8.20.2.4.1139.for.8051 -patch 複製到安裝目錄下,即完成主要控制元件的搭建。

3.2遙控器按鍵控制函式

無線遙控系統主要通過遙控器上的按鍵控制RF2530A 開發板上的4 Led 燈模擬實現對智慧家居的控制,實現按鍵響應需要設定以下幾個主要函式。

1HalKeyInit()函式:當按鍵被啟動後,首先呼叫此函式,完成必須的或可選引數的初始化操作。

2HalKeyConfig()函式:此函式對按鍵配置中斷或輪詢服務。若無中斷,呼叫中斷服務程式(ISR)來處理,輪詢在100 ms 後自動開始;若中斷髮生,將會有一個25 ms的延時來消除回跳。

3HalKeyRead()函式:此函式的返回值為按鍵的當期狀態。若按鍵被設定為輪詢,此函式每100 msHAL驅動任務呼叫一次;若按鍵被設定為中斷驅動,此函式會在中斷髮生後每25 ms HAL 驅動任務呼叫一次。

3.3 驅動Led燈控制函式

分析開發板上的Led 燈支援ONOFF FLASH 操作,驅動Led 燈需配置以下幾個函式:(1HalLedInit():當啟動Led 燈服務時,首先呼叫此函式來配置所必須的、可選引數的初始化操作。

2HalLedSet():此函式用來設定Led 燈的工作模式,想完成函式中引數的設定,必須呼叫HalLed-Blink()函式。

3HalLedBlink():此函式可以根據提供的引數控制特定的Led 燈工作。

4HalLedEnterSleep():本函式儲存Led 燈的當期狀態,還可以通過設定全域性狀態變數,控制Led 燈進入睡眠模式,達到節能的目的。

4 功能測試

實驗時硬體開發板一塊,介面連線如圖4 所示。

clip_image008

4 開發板連線圖

與開發板配對的遙控器一個,介面連線如圖5 所示。

clip_image010

5 遙控器連線圖

通過按動遙控器上的按鍵遠距離控制開發板上的Led 燈的亮滅來驗證無線遙控系統的可行。

分別給遙控器和開發板模組供電,RF2530A 開發板在供電之後,若所有的Led 燈閃爍一下後滅掉,說明線路連線成功。若不成功,應首選檢查開發板與遙控器的跳冒連線是否正確、連線兩者的杜邦線是否緊密等硬體問題;其次再檢查燒錄協議、函式設定等軟體問題。

在實驗驗證之前,遙控器模組和開發板首先距離保持在30 cm 左右;然後ON OFF鍵同時按一下,建立網路連線;最後等待5 s,可以看到開發板上的4Led 燈閃爍一下,說明遙控器和開發板連線成功。

遙控器和開發板的距離能擴充套件到幾百米範圍,通過遙控器上的按鍵可以開啟/ 關閉開發板上的Led 燈,測試結果達到了預期的效果。

5 結束語

隨著物聯網技術的出現,為住宅智慧化提供了技術基礎,給智慧家居帶來了新的春天,方便人們享受舒適的生活。本文針對智慧家居中出現遙控器種類過多的問題,以RF2530A 開發板為資料處理中心,利用設計了一個靈敏度好、低功耗的遙控器,利用數傳模組短距離無線傳輸協議,把家庭中的智慧家電、開發板構建成星型結構的網路,通過設計好的遙控器來管理家庭中的所有家電,方便了使用者,美化了家居環境。

此遙控器硬體成本低、操作簡單,易於工業化生產,具有廣泛的應用前景。