摘要:為了滿足手機短信遠程控制家電設備的需要,應用GR64和CC2430為核心開發了一種基于無線傳感器網絡的智能化短信遠程控制系統。系統硬件部分主要由短信(SMS)收發模塊、紅外收發模塊、微處理器模塊、存儲模塊和供電模塊等組成;軟件部分給出了ZigBee無線通信協議的工作原理、家庭網關的設計流程。試驗表明,該系統具有良好的可擴展性、低成本、低功耗、低延時、低復雜度等特點,在
智能家居系統中具有廣闊的應用前景。
引言
智能家居(SmarHome)又稱智能住宅。智能家居是以家為平臺,兼備自動化、智能化于一體的、舒適、安全、便利、節能的住宅環境。智能家居系統是將家庭中各種與信息有關的通信設備、家用電器和家庭保安裝置通過家庭總線技術聯網,進行有效的控制和信息交換,同時將家庭網絡與外網相連,利用遠程監控系統,實現對家居的遠程控制。雖然智能家居的概念已提出多年,但是由于相應的通信技術及應用領域的發展速度緩慢,一直沒有走向實用化。隨著傳感器技術、半導體制造技術、嵌入式微處理技術等的快速發展,尤其是無線傳感器網絡ZigBee技術的興起與成熟和GSM網手機用戶的日益普及,使得無線傳感器網絡在遠程環境監控、自動抄表、醫療護理、智能家居、遠程工業和交通控制等領域提供了切實可行的應用方案,標志著在不久的將來智能家居將真正地進入人們生活的各個方面。ZigBee模塊可以安裝在遙控器、電燈、電視、風扇、空調、微波爐、煤氣爐、門禁系統和其他各種家電設備中,實現家居的照明、溫/濕度、安全和電氣智能控制,通過ZigBee終端設備還可以收集家居的各種信息,傳送到家庭網關;或者通過遙控達到遠程控制的目的,提供家居生活的自動化、網絡化和智能化。隨著智能化家電設備的廣泛應用,人們迫切需要隨時隨地的了解并控制家電設備的運行狀態。本文結合用戶的實際需求,給出了一個基于ZigBee技術的家居遠程控制系統的設計方案,用戶可以使用手機發短信通過家庭網關對室內所有的家電設備進行遠程控制。
1、ZigBee技術
ZigBee是由ZigBee聯盟制定的面向低速無線個人區域網絡(LR-WPAN)的雙向無線通信技術標準,其物理層和數據鏈路層使用IEEE802.15.4標準,網絡層和應用層由ZigBee聯盟定義。與Wi—Fi,IrDA,UWB,Bluetooth等其他無線接入技術相比,ZigBee具有的優勢如下:
(1)低功耗:工作模式下非常省電,并且支持休眠狀態;
(2)低速率:ZigBee工作在3個免執照的ISM(工業、科學和醫療)頻段上分別具有250Kb/s(2.4GHz)、40Kb,/s(915MHz)和20Kb/s(868MHz)三種不同的峰值數據速率;
(3)低成本;
(4)組網靈活、網絡容量大:ZigBee可采用星型、樹型和網狀網絡結構,由一個主節點管理若干子節點,zui多一個主節點可管理254個子節點;同時主節點還可由上一層網絡節點管理,zui多可組成65000個節點的大網;
(5)短距離:傳輸范圍一般介于10~100m之間;
(6)安全可靠性高,提供了數據完整性檢查和鑒權認證功能,采用AES-128加密算法,同時采取碰撞避免機制。
ZigBee網絡中的三種邏輯設備類型:ZC(ZigBee協調器)、ZR(ZigBee路由器)和ZED(ZigBee終端節點設備)。每個網絡都必須包括一個ZC。協調器的主要功能是建立網絡、傳輸網絡信標、管理網絡節點、存儲網絡節點信息和路由信息等。ZR既具有ZED的接入功能,又具有路由功能,可以作為遠程設備之間的中繼器來拓展網絡的范圍,負責搜索可用的網絡、傳遞或轉發與其連接的ZR或ZED的數據。ZED無路由功能,它和ZR可以從ZC或從任何已經進入網絡的ZR處獲得有關網絡的信息,據此設置操作參數,加入網絡。
ZigBee網絡中的三種拓撲結構:星型拓撲、樹型拓撲和網狀拓撲,如圖1所示。
(1)星型拓撲:節點之間的數據路由只有惟一的一條路徑。
(2)樹型拓撲:當從一個節點向另一個節點發送數據時,信息將沿著樹的路徑向上傳遞到zui近的協調器節點,然后再向下傳遞到目標節點。
(3)網狀拓撲:網狀拓撲結構是一種特殊的、按多跳方式傳輸的點對點的網絡結構,其路由可自動建立和維護,并且具有強大的自組織、自愈功能。網絡可以通過“多級跳”的方式來通信,可以組成極為復雜的網絡,具有很大的路由深度和網絡節點規模。
IEEE802.15.4標準定義了兩種物理設備類型,FFD(全功能設備)和RFD(半功能設備)。FFD是具有路由功能的節點,可以實現ZigBee網絡的任意一種邏輯設備類型,它能與RFD或其他FFD通信。RFD只能充當ZED,不具備路由功能,只能選擇性地加入已形成的網絡,只能與FFD通信,使用zui少的資源和存儲器空間。
家庭智能控制(如照明、遙控裝置、水電氣計量及報警、PC機外設的無線連接等)具有這些方面的特點:傳輸數據量小,無需太大的傳輸速度,網絡的容量要大,家庭中的各種設備多,易部署擴展性靈活性高,信息的實時性要好,時延要短,成本要低。ZigBee技術的特點決定了其能很好地滿足家庭網絡節點通信的需求。
2、系統總體結構
本系統可以概括為家庭網關和分控節點兩個部分,系統結構框圖如圖2所示。家庭網關是智能家居的核心,抽象起來它作為家庭外網與家庭內網通信的通道并且負責各種不同設備之間通信協議的轉換,而且它也作為一種服務平臺為用戶提供各種可能的增值服務。在系統中采用CC2430芯片和其他幾個模塊組成家庭網關,它作為ZigBee網絡的協調器,負責家庭內網絡(ZigBee)的建立、采用星型拓撲并對各個分控節點的入網加以驗證等工作。家庭網關中的短信(SMS)收發模塊負責外部移動網絡(GSM)信息的接入,因此可以與用戶手機進行雙向通信。家庭內網中的分控節點負責將存儲器中的紅外脈沖碼轉換成紅外線信號并控制其所在范圍內的紅外家電設備。每個房間中可以有多個分控節點,每個分控節點可以控制多個紅外家電設備。
3、系統硬件設計
系統硬件電路的設計包括家庭網關和分控節點的設計。
3.1家庭網關的硬件電路設計
家庭網關的硬件處理器采用無線低功耗單片機CC2430。由于軟件協議復雜、數據流量大,所以在內含FLASH的CC2430基礎上對存儲器進行擴展,專門用于對紅外脈沖碼的存儲。鐵電存儲器(FM25L512)與協調器(CC2430)通過SPI連接。供電模塊采用低壓差線性可調穩壓器TPS78601穩壓至3.6V輸出給整個系統,為了使輸出電源的紋波較小,在輸出部分采用了一個2.2μF和一個15pF的電容。另外,在芯片的輸入端放置了一個1μF的濾波電容,以減小輸入端受到的干擾。系統硬件原理圖如圖3所示。
CC2430是Chipcon公司推出的用來實現嵌入式ZigBee應用的片上系統,在單個芯片上整合了ZigBee射頻(RF)前端CC2420、內存和微控制器,是一款低成本低功耗高性能的射頻芯片。它使用1個8位8051MCU,具有32/64/128KB可編程閃存、8KB的RAM,ADC,Timer,AES-128協同處理器、看門狗定時器、32kHz晶振的休眠模式定時器、上電復位電路(PowerOnReset)、掉電檢測電路(BrownOutDetection)以及21個可編程I/O引腳,P0,P1口是*的8位口,P2口只有5個可使用的位,通過特殊功能寄存器(SFR)的設置可以將這些引腳配置成通用的I/O端口或者是ADC、Timer、SPI、UART器件的外設I/O端口。
短信的收發采用GR64模塊,GR64模塊一款工業級無線調制解調模塊。集射頻電路和基帶處理器于一體,內置閃速存儲器,提供標準的AT命令控制語音、數據、短信和傳真的傳輸。GR64模塊提供了豐富的外設接口。短信模塊和單片機CC2430通過RS232進行通信,二者構成了GSM網絡和ZigBee網絡之間數據轉換的通道。
紅外收發模塊包含紅外解調電路和紅外調制電路,如圖3所示。紅外解調電路采用一體化紅外接收頭TL538,它具有寬電壓適應、功耗低、成本低、高接收靈敏度以及優良的抗干擾特性,是通用接收紅外信號并解調的元件,不需要任何外接元件,就可以完成從紅外線接收到輸出TTL電平的數字信號,目前廣泛的應用于家用電器及玩具等各種紅外遙控和紅外接收裝置中。發光二極管RED用于接收完成遙控器一個按鍵的紅外脈沖碼的指示并作為家庭網關正常工作時的指示燈。紅外發送電路通過與門芯片(74LVC1G08)將基帶信號和載波信號進行調制,用于驅動紅外LED產生紅外光。
3.2分控節點的硬件電路設計
分控節點存在于各個房間中,主要用于接收家庭網關發送來的紅外脈沖碼,并將其調制到38kHz載波頻率上輸出,所以只需要一個紅外驅動電路和一個CC2430zui小系統,包括上電復位電路和正常工作指示燈,能量供應可以采用電池供電。
4、系統軟件設計
4.1ZigBee協議棧運行機理
ZigBee協議棧ZStack運行在一個OSAL(操作系統抽象層)操作系統上。該操作系統基于協同輪轉查詢式的任務調度機制,ZStack協議棧的每一層均作為一個獨立的具有優先級任務。每個任務都對應著一個任務事件處理函數。每個任務都包含若干個事件,每個事件都對應著一個事件號。當一個事件產生時,相應任務的事件就被設置為相應的事件號,即事件處于有效狀態。這樣,基于任務輪詢的OS將進入相應任務的任務事件處理函數的有效事件處理程序中執行。而且在ZStaek中將硬件的驅動放到了硬件抽象層(HAL)中,這樣屏蔽了底層硬件的具體實現,有利于應用軟件的模塊化和可移植性。使用時可以對HAL中的驅動函數進行適當的裁剪和修改以適應實際應用系統的需要。OSAL中的任務可以通過任務API函數接口將其添加到系統中,這樣就可以實現多任務機制。軟件設計體系如圖4所示。
4.2家庭內網的軟件設計
家庭網關軟件流程如圖5所示,首先初始化CC2430系統時鐘和定時器。初始化之后發光二極管閃爍一下,表示正在等待捕獲遙控器的紅外脈沖碼。在一段時間里沒有捕獲到,則以協調器身份初始化ZigBee協議棧,如果建網成功,則發光二極管閃爍一下,此時處于正常工作狀態。當接收到有效短信的有效命令后,調用存儲器中的紅外脈沖碼驅動紅外脈沖電路發送并在本網中廣播發送。
4.3家庭外網的軟件設計
GR64模塊支持兩種模式收發短信:Text模式、PDU模式。Text模式是純文本方式,不支持中文,可使用不同的字符集,主要用于歐美地區;PDU模式被所有手機及工業級模塊支持,可以使用任何字符集,目前zui為常用。系統中通過手機發送AT命令對GR64參數進行設置,包括GR64的字符集,設置短信格式,當前短信存儲載體,新短信提示等。系統采用PDU模式,以便手機可以接收到GR64模塊發送的漢字。其中,將GR64模塊新短信提示的方式設置為:AT+CNMI=1,2,2,1表示接收到的短信和狀態不進行存儲,直接通過串口1送入CC2430。
4.4紅外信號的收發與存儲
遙控器紅外脈沖碼一般由引導碼、地址碼、數據碼、數據碼反碼和結果碼組成。由于各個公司生產的紅外編/解碼芯片采用的編/解碼方式和脈寬周期不同,導致了市場上的各類遙控器的功能互不兼容。為了能擁有各種遙控器的的遙控功能,首先必須要正確地原樣接收并存儲遙控器的紅外脈沖碼,對于某些一鍵雙碼的按鍵,必須進行兩次比較確認后存儲。其次所有驅動電路輸出的紅外脈沖碼均來自已保存在存儲器中的紅外脈沖碼基帶信號對38kHz的載波信號進行脈寬調制產生的。因此利用單片機CC2430的內部定時器T1可以完成紅外脈沖碼的接收采集和調制輸出,T3用來產生38kHz的載波信號。再次,對于沒有紅外接收的設備可以安裝一個紅外接收頭即可實現設備的控制,既簡單又方便。
5、結語
目前,智能家居的規范,設計和應用正在穩步進行中。構建一個符合家居環境的分布式、低功耗、運行穩定的家庭網關尤其重要。Zig-Bee無線通信協議的設備具有低功耗、低成本、低速率、靈活等諸多優勢,相信在不久的將來,以ZigBee技術為典型特征的智能家居設備將進入日常生活的方方面面。
本文作者的創新點:以無線射頻芯片CC2430為核心設計實現的家庭網關可以收發短信,自學習存儲紅外碼,并能夠通過紅外線方式控制設備,具有控制容量大和功耗低等特點。