本文通過遙控技術和單片機的相互結合設計在智能家居應用的燈光控制系統,該系統是基于單片機的控制系統,用遙控的方式對系統燈光進行控制。本方案主要解決信號的發射和接收,在信號的處理接收之后對不同信號的程序處理,通過軟件編程實現對燈泡的開關和亮度調節。
引言
智能家居是指利用先進的計算機技術、網絡通信技術、綜合布線技術 ,將與家居生活有關的各種子系統有機地結合在一起 ,通過統籌管理 ,讓家居生活更加舒適、安全、有效。
隨著人們生活水平的提高和電子技術的發展,家居智能化已經開始走進了我們日常的生活。人們已經不滿足于按鍵式的手動開關來控制燈具,從而開發出了智能化水平更高的專業照明控制的遙控系統,其成本低,質量高,應用靈活方便。而由于具有體積小、功耗低、功能強、成本低的特點,紅外線遙控已經是目前應用最廣泛的一種通信和遙控手段。
1 紅外線遙控基本原理
紅外線遙控就是利用紅外線(又稱紅外光)來傳遞控制信號,實現對控制對象的遠距離控制。具體來講,就是由發射器發出紅外線指令信號,由接收器接收下來并對信號進行處理并識別,再通過相應的控制芯片,最后根據接收到的不同信號實現對控制對象的各種功能的遠距離控制。
紅外線發射器由指令按鍵、信號產生電路、頻率調制電路、驅動電路及紅外線發射器件組成,如圖1 所示。當指令鍵按下時,指令信號產生電路便產生所需要的控制指令信號。
這里的控制指令信號是以某些不同的特征來區分的。常用的區分指令信號的特征是頻率特征和碼組特征,即用不同的頻率或不同的編碼的電信代號代表不同的指令。這些不同的指令信號經過頻率調制,最后由驅動電路驅動紅外線發射器件,發出紅外線遙控指令信號。

?
圖1 紅外線發射的組成
紅外接收器由紅外線接收器件、前置放大電路、信號解調電路、指令檢測電路組成,如圖2。當紅外線接收器件接收到發射器的紅外線指令信號時,它將紅外光信號變為電信號并送入前置放大器進行放大,再經解調器解調后由指令信號檢出電路將指令信號檢出,實現各種操作。

?
圖2紅外線接收器的組成
要實現系統的遙控功能,就必須先選擇信號指令傳送的方式。根據遙控的方式和使用者場合不同,可以把這些控制信號特征進行各種組合編碼。如電壓極性的組合方式,電信號相位的組合方式,電信號幅值的組合方式,頻率的組合方式,脈沖的寬度、相位、幅度等參數的組合方式及脈沖編碼組合方式等。脈沖編碼組合方式具有指令容量大,抗干擾能力強,保密性好及便于用邏輯電路來實現等優點,得到了廣泛的應用。
紅外遙控電路由發射電路和接收電路組成,發射部分由按鍵開關電路、控制芯片和紅外發射電路三部分組成。當按下遙控按鈕時,單片機產生相應的控制信號,經紅外發射二極管發射出去。接收部分由紅外接收頭、控制芯片、調光電路組成,當紅外接收器接收到控制脈沖后,經單片機處理,判斷是否對電燈進行調光或開關,根據需要執行相應的操作,接收系統采用的是5 伏單電源電壓供電。如下圖所示:

?
圖3 系統設計框圖
2.1 遙控系統主控芯片
在本系統中選擇的是51 系列的AT89C51芯片,AT89C51是一種帶4k字節閃爍可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8 位微處理器,俗稱單片機。該器件采用ATMEL 高密度非易失存儲器制造技術制造,與工業標準的MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的AT89C51 是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。AT89C51 是一個低功耗高性能單片機,40 個引腳,32 個外部雙向輸入/輸出(I/O)端口,同時內含2 個外中斷口,2 個16 位可編程定時計數器,2 個全雙工串行通信口,AT89C51 可以按照常規方法進行編程,也可以在線編程。
其將通用的微處理器和Flash 存儲器結合在一起,特別是可反復擦寫的Flash 存儲器可有效地降低開發成本。
2.2 紅外發射電路模塊
在本系統設計中,單片機發出的信號如何被紅外發射管識別,發射管能否正常發射紅外信號是發射電路要解決的關鍵問題。
要發射紅外信號,必須要有紅外發射器件。紅外發光二極管是一種能產生紅外光的發光二極管,目前大量使用的紅外發光二極管發出的紅外線波長為940nm 左右,外形與普通發光二極管相同,只是顏色不同。常見的紅外發射二極管有黑色,透明色,它與普通發光二極管的最大區別在于所發出的光為不可見光,而普通發光二極管發出的是各種顏色的可見光[5],通常,紅外發光二極管分為兩種結構形式:一種是遙控發射型紅外發光二極管(即最常用的手持遙控器所用的紅外發射二極管);一種是近距離發射型紅外發光二極管,這種二極管把紅外光的發射與接收共集為一體。由于本設計實現的是家居遙控,因此采用第一種即可。
如圖4 所示為系統遙控發射原理圖,P1.0 口為按鍵輸入口;P2.0 口為紅外發射端口,用于輸出38kHz 載波編碼,脈沖經9013(NPN)放大然后由紅外發射管輸出;第9 腳為單片機的復位腳,采用RC 手動復位電路;18、19 腳接晶振。

?
圖4紅外發射電路圖
2.3 紅外接收電路模塊
1). 紅外接收器件介紹。
一般的紅外接收頭主要由集成電路外加阻容元件,紅外線接收管及濾波光片等組成,電路設計相對繁瑣,在實際應用中不方便。而紅外遙控接收頭SM0038 集紅外接收管,前置放大解調等于一體,無外部電路,體積小,密封性好,靈敏度高,應用簡單,用小功率紅外發射管發射信號接收距離達35 米,并且價格低廉。它僅有三條管腳,分別是電源正極、電源負極以及信號輸出端,其工作電壓在5V 左右,接收頻率為38kHz,它的主要功能包括放大,選頻,解調幾大部分,要求輸入信號需是已經被調制的信號。從而使電路達到最簡化,靈敏度和抗干擾性都非常好,是一個接收紅外信號的理想裝置。如圖5 所示:
?
圖 5 SM0038
2). 接收電路及調光電路設計。
接收電路和調光電路的實現均是通過繼電器實現的,給每一個繼電器串聯一個電阻,構成一個回路,本電路將四個繼電器回路并聯,連接在P0 口上,當四個繼電器均閉合時,燈最亮,當三個繼電器工作時,燈較亮,當兩個繼電器工作時燈次亮,當一個繼電器工作時,燈最暗,當四個繼電器都不工作時,燈泡處于關閉狀態。接收電路圖如圖6 所示:

?
圖 6 接收電路圖
3 系統軟件設計
本系統所用的紅外線接收器SM0038 的解調中心頻率為38KHz,故發射頻率也采用38kHz,本電路采用一路按鍵,一種編碼方式實現對家居燈的控制,接收端根據接收到的不同編碼個數實現燈的不同亮度的調節控制。每一次P1.0 口為低電平時,則確定鍵被按下,由P2.0 口發射一個編碼。接收端接收編碼時進行判斷,首個低電平是否大于2ms,如果是,再判斷是否是正確的編碼,如果是,num加1,亮度調暗一檔。
3.1、遙控發射程序控制流程圖

?
圖 7 發射程序流程圖
初始化程序后,開定時器產生38kHz 脈沖,再判斷有無按鍵按下,當有按鍵按下時,根據定時器設定的時間發一幀脈沖,首先發3ms 高電平,再發1ms 低電平,1ms 高電平,接著停發10ms。
3.2. 遙控接收程序控制流程圖

?
圖8 接收部分調光程序流程圖
接收端采用查詢方式接收,當查詢到P1.0 口為低電平時,累加器工作,通過累加器中變量個數判斷控制燈的亮度及開關。當num為0 時,燈最亮,加1則調暗一個檔次,當num等于4 時,繼電器全部斷開,燈滅。
4 結論
為了減少電路的繁瑣,我使用單片機來實現軟件編碼解碼,大大提高了電路的靈活性,降低了成本,僅僅使用一個鍵就能實現對一個燈具的開關和亮度調節,若是把一個按鍵開關改設成一個矩陣鍵盤,就可以實現對整個家里的燈具的開關和亮度控制,實用性很強。
二、基于ZigBee的智能家居系統設計
智能家居是以住宅為平臺,利用綜合布線技術、網絡通信技術、安全防范技術、自動控制技術、音視頻技術將家居生活有關的設施集成,構建高效的住宅設施與家庭日程事務的管理系統,提升家居安全性、便利性、舒適性、藝術性,并實現環保節能的居住環境。基于智能家居的最新定義,參考ZigBee技術的特點,設計出的本系統,在包含了智能家居必備系統(智能家居(中央)控制管理系統、家居照明控制系統、家庭安防系統)的基礎上,加入了家居布線系統、家庭網絡系統、背景音樂系統和家庭環境控制系統。在智能家居的認定上,只有完整地安裝了所有的必備系統,并且至少選裝了一種及以上的可選系統的家居系統才能稱為智能家居。因此,本系統可以稱為是智能家居。
1 系統設計方案
??? 該系統設計由家庭內被控制設備和遠程控制設備組成。其中家庭內被控制設備主要有能訪問Internet的計算機、控制中心、監控節點和選擇添加的家用電器控制器。遠程控制設備主要由遠程計算機和手機組成。系統組成如圖1所示。
?
??? 系統的主要功能有:1)網頁前臺頁面的瀏覽,后臺信息管理;2)通過Internet和手機兩種遠程控制方式實現室內家用電器、安防和燈光的開關控制;3)通過RFID模塊實現用戶識別,從而完成室內安防狀態的開關,在盜賊入侵時通過短信息(SMS)向用戶報警;4)通過中央控制管理系統軟件完成室內燈光及家電的本地控制和狀態顯示;5)利用數據庫完成個人信息存儲和室內設備狀態存儲,通過中央控制管理系統方便用戶查詢室內設備狀態。
2 系統硬件設計
??? 系統硬件設計包括控制中心、監控節點和選擇添加的家用電器控制器(這里以電風扇控制器為例)的設計。
2.1 控制中心
??? 控制中心主要功能有:1)組建無線ZigBee網絡,把所有監控節點加入網絡中,并實現新設備的接收;2)用戶身份識別,用戶在離家或歸來時通過用戶卡實現室內安防的開關;3)當有盜賊入侵室內時,通過向用戶發送短信息報警。用戶也可通過短信息控制室內安防、燈光及家電;4)系統單機運行時,液晶顯示當前系統狀態,方便用戶查看;5)存儲電器設備狀態并發送至PC機,以實現系統聯機。根據控制中心的功能設計出它的組成框圖如圖2所示。
?
?選用TI公司的CC2430單片機作為ZigBee模塊的控制器,它是一款高性能、低功耗的805l內核的單片機。也是一款符合IEEE802.15.4規范的2.4 GHz的射頻器件,硬件支持載波監聽多路訪問/沖突檢測(CSMA/CA),2.0~3.6 V的工作電壓有利于實現系統低功耗。通過連接在控制中心的ZigBee協調器模塊,在室內建立無線星形ZigBee網絡.并將所有監控節點、選擇添加的家用電器控制器作為該網絡中的終端節
點加入網絡中,從而實現室內安防及家電的無線ZigBee網絡控制。
??? 控制中心MCU采用8位單片機ATMegal28,該器件是一款高性能、低功耗的RISC結構的單片機,大多數指令可在1個時鐘周期內完成,最高工作于16 MHz,具有128 K的系統內可編程Flash,4 K字節的EEPROM和2個串行接口。它與GSM模塊、RFID模塊、液晶模塊、ZigBee協調器和PC機相連,是整套硬件系統的核心,完成對中央控制管理系統的響應和對各模塊的驅動。GSM模塊采用TC35i模塊。它通過串行UART接口直接與控制中心MCU相連。RFID模塊采用ZLG500模塊,其內部集成了MFRC500型ISO14443A讀卡器,能夠讀寫RC500內的.EEPROM。由于ZLG500并不是采用標準SPI接口規范,故只能與單片機的通用I/O接口相連才能實現通信。液晶模塊選用1602液晶,采用4線接口與控制中心MCU的通用I/O接口相連。ZigBee協調器與控制中心MCU采用2線接口即可實現兩者間的數據雙向傳輸。控制中心MCU與計算機RS232串口相連,傳輸數據穩定、可靠,實時性好。
2.2 監控節點
??? 監控節點的功能有:1)人體信號的檢測,當盜賊入侵時進行聲光報警;2)燈光的控制,其控制方式分為自動控制和手動控制,自動控制是根據室內光線的強弱自動打開/關閉燈光,手動控制是通過中央控制管理系統實現燈光控制:3)將報警信息及其他信息發送至控制中心,并接收來自控制中心的控制指令以完成設備控制。從監控節點的功能出發,監控節點組成如圖3所示。
?
??? 紅外加微波的探測模式是目前在人體信號檢測時最常用的方式。熱釋電紅外探頭這里選用RE200B,放大器件采用BISS0001。RE200B由3~10 V電壓供電,內置熱釋電雙敏感紅外元件,當元件接收紅外光時在每個元件兩極發生光電效應而積累電荷。BISS0001是由運算放大器、電壓比較器、狀態控制器、延遲時間定時器以及封鎖時間定時器等構成的數模混合專用集成電路。它與RE200B及少量元件就可構成被動式熱釋電紅外開關。微波傳感器選用ANT-G100模塊,中心頻率是10 GHz,建立時間最大值是6μs。與熱釋電紅外模塊復合使用,可有效降低目標探測錯誤率。
??? 燈光控制模塊主要由光敏電阻和燈光控制繼電器組成。將光敏電阻與10 kΩ的可調電阻串聯,再將光敏電阻另一端接地,可調電阻另一端接高電平。通過單片機的模數轉換器獲取兩個電阻連接點的電壓值,從而判定當前燈光是否打開。可調電阻可供用戶調節,以滿足用戶設置燈光剛剛打開時的光線強度。室內燈光的開關通過繼電器控制。只需一個輸入輸出口即可實現。
2.3 選擇添加的家用電器控制器
??? 選擇添加的家用電器的控制主要根據設備功能實現設備控制,這里以電風扇為例。電風扇控制就是控制中心將上位機下達的電風扇控制指令通過ZigBee網絡發送至電風扇控制器實現,不同的家電識別碼是不同的,例如,本協議規定電風扇的識別碼是122,家用彩電的識別碼是123,這樣就實現控制中心對不同家電的識別。而對于相同的指令代碼,不同家電執行的功能是不一樣的。圖4為選擇添加的家用電器組成。
?
?
3 系統軟件設計
??? 系統軟件設計主要包括6部分,分別為遠程控制網頁設計、中央控制管理系統設計,控制中心主控制器ATMegal28程序設計、CC2430協調器程序設計、CC2430監控節點程序設計、CC2430選擇添加設備的程序設計。
?3.1 ZigBee協調器的程序設計
??? 協調器首先完成應用層初始化,將應用層狀態和接收狀態設為空閑,然后打開全局中斷并初始化I/O端口。接著協調器開始建立無線星形網絡。協議中,協調器自動選擇2.4 GHz的頻段,每秒發送的最大比特數為62 500,默認的個域網網絡號(PANID)是0x1347,最大的堆棧深度為5,最大單次發送的字節數為93,串口的波特率是57 600 bit/s,SL0W TIMER每秒產生中斷10次。在ZigBee網絡建立成功后,協調器將其地址傳送給控制中心MCU。這里,控制中心MCU將ZigBee協調器識別為監控節點的一員,它被識別的地址為0。程序進入主循環。首先判斷是否有終端節點發送的新數據,如果有,則直接把這個數據傳送至控制中心MCU;判斷控制中心MCU是否有指令下傳,如果有則將下傳的指令發送到相應的ZigBee終端節點;判斷安防是否打開,是否有盜賊入侵,如果有則把報警信息傳送至控制中心MCU;判斷燈光是否處于自動控制狀態,如果是,則打開模數轉換器進行采樣,采樣值是燈光打開或關閉的關鍵,如果發生燈光狀態改變則把新的狀態信息傳送到控制中心MC-U。ZigBee協調器程序流程如圖5所示。
?
3.2 ZigBee終端節點的程序設計
??? ZigBee終端節點是指由ZigBee協調器控制的無線ZigBee節點,在系統中主要是監控節點和選擇添加的家用電器控制器。ZigBee終端節點的初始化同樣包括應用層初始化,打開中斷和初始化I/O口。接著嘗試加入ZigBee網絡,需要強調的是:只有和ZigBee協調器設置一致的終端節點才能加入到網絡中。如果ZigBee終端節點嘗試加入網絡失敗,則每兩秒重新嘗試一次,直至順利加入到網絡中。加入網絡成功后,Zi-gBee終端節點將其注冊信息發送至ZigBee協調器,再由ZigBee協調器轉發至控制中心MCU以完成ZigBee終端節點的注冊。ZigBee終端節點如果是監控節點,則實現燈光及安防的控制,程序與ZigBee協調器部分類似,只是監控節點需將數據發送到ZigBee協調器,再由ZigBee協調器將數據傳送至控制中心MCU。ZigBee終端節點如果是電風扇控制器,則只需接收上位機的數據,而不必上傳狀態,故它的控制可以在無線數據接收中斷中直接完成。在無線數據接收中斷中,所有終端節點都是將接收的控制指令翻譯成對節點本身的控制參數,在節點主程序中不對接收的無線指令進行任何處理。
4 聯機調試
??? 由中央控制管理系統下發的對固定設備的指令編碼遞增的指令,通過計算機串口發送至控制中心MCU,并通過兩線接口發送至協調器,再由協調器發送至ZigBee終端節點,在終端節點接收完成時將數據再次通過串口發送至PC機,在這臺PC機上完成ZigBee終端節點接收的數據與控制中心所發送的數據的比較。中央控制管理系統每一秒發送2條指令,經過5 h的測試,測試軟件顯示共接收數據包數量為36000包時停止測試。多協議數據傳輸測試軟件測試結果如圖6所示。正確數據包36 000,錯誤數據包數為0,正確率為100%。
?
?
5 結束語
??? 通過ZigBee技術實現智能家居內部組網,具有遠程控制方便,添加新設備靈活和控制性能可靠等優點。通過RFTD技術實現用戶身份識別,提高系統的安全性。通過GSM模塊的接入,實現了遠程控制和報警功能。
三、基于Linux系統和ZigBee的智能家居系統方案
摘 要:根據現代家居的發展需求,提出了一種智能家居系統的整體設計方案,以ARM11S3C6410為核心處理器,Linux嵌入式系統為家居總中心監控系統,使用Linux Qt完成了控制程序及人機界面的編寫,采用GPRS通信技術完成了系統的遠程通信及監控,組建基于ZigBee無線通信技術的系統內部網絡,并完成了對家電的基于統一協議的控制,實現了家居的智能化。
0 引 言
隨著網絡技術和通信技術的不斷發展以及人們對生活要求的不斷提高,實現家庭智能的遠程監控已經成為必然的趨勢。國家建設部住宅產業化促進中心提出住宅小區要實現六項智能化要求,其中包括實行安全防范自動化監控管理:對住宅的火災、有害氣體的泄漏實行自動報警;防盜報警系統應安裝紅外或微波等各種類型報警探測器;系統應能與計算機安全綜合管理系統聯網;計算機系統能對防盜報警系統進行集中管理和控制。隨著GPRS遠程通信技術和短距離無線網絡通信技術的不斷發展和成熟,智能家居的監控技術也逐步成熟。GPRS網絡通信業務是通信公司推出的一項數據傳輸通信業務,在GPRS網絡覆蓋區域內,傳輸距離不受限制,通信費用相對低廉,傳輸速率較快。Zig-Bee短距離無線通信技術是一種近距離、低復雜度、低功耗、低速率、低成本的雙向無線通信技術,主要用于距離短、功耗低且傳輸速率不高的各種電子設備之間進行數據傳輸以及典型的有周期性數據、間歇性數據和低反應時間數據傳輸的應用。本文解決了家庭智能嵌入式系統、GPRS遠程通信、ZigBee無線通信、家電解碼及編碼、家居控制協議等相關技術難點,分析了其各自基本特點和所要實現的基本功能,并在此基礎上提出了基于Linux嵌入式系統和ZigBee網絡及GPRS無線通信的智能家居系統的總體解決方案。
?
1 系統整體設計方案
智能家居網絡指的是在一個家居中建立一個通信網絡,將各種家電設備互相連接起來,實現對所有智能家居網絡上設備的遠程使用和控制及任何要求的信息交換,如音樂、門窗、電源、電視或數據等等。智能家居網絡的構架包括家庭內部網絡系統、智能家居控制器以及智能家居網絡與外部網絡之間的數據通信。其中,智能家居控制器是智能家庭網絡的一個重要組成部分,起到核心的管理、控制和與外部網絡通信的作用。它是通過家庭管理平臺與家居生活有關的各種子系統有機結合的一個系統,也是連接家庭智能內部和外部網絡的物理接口,完成家庭內部同外部通信網絡之間的數據交換功能,同時還負責家庭設備的管理和控制。智能家居控制器一方面需要為家庭內部布線提供通信接口,采集家庭設備的信息,并進行處理、自動控制和調節;另一方面智能家居控制器作為家庭網關,也為外部提供網絡接口,連通家庭內部網絡和外部網絡,使得用戶可以通過GPRS網絡等方式訪問家庭內部網絡,實現監視和控制。系統控制方案如圖1所示。
圖1 系統整體控制框圖
本系統采用三星公司最新推出的ARM11S3C6410控制芯片為核心控制器,完成所有家庭內部數據的處理,包括數據的采集與控制命令的發出,是整個智能家居控制的核心,采用Linux嵌入式系統為家居總中心監控系統,能夠自動運行、處理數據,通過串口管理、無線網絡來控制各控制終端,并且中心控制器通過GPRS模塊實現家庭系統與手機的通信,使用戶可以通過短信方式實現家庭系統的遠程控制,同時,控制器還采用10.3寸觸摸屏為用戶提供命令輸入端,采用Linux Qt完成人機界面的編寫,通過ZigBee無線通信協議完成家庭內部數據的傳輸,方便用戶實現本地控制。控制終端為單片機組成的若干小的控制系統控制各家用設備,并通過控制總線將這些小的控制系統組成網絡,連接到智能家居控制器,受智能家居控制器控制。
2 基于ZigBee無線網絡和統一家電協議的家居網絡系統
2.1 整體設計
整個智能家居系統全部采用無線網絡進行數據傳輸和監控,以無線網絡技術為通信平臺,將家庭的安防系統、門窗控制系統、家電照明系統和能源計量系統等這些分立子系統融合成為一個真正意義上的綜合智能家居網絡系統。既可以使用智能手機或者終端實現本地集中控制,也可以通過使用遠程接入Internet網絡的智能手機或計算機實現遠程監控。智能家居網絡系統由分散智能終端層和上端總控制層組成。
上端總控制層主要是以ARM6410中控系統為核心、利用無線通信結構形成的中控網絡完成對各種不同智能終端的管理控制。中控系統配置有觸摸屏方便用戶使用。使用GPRS通信技術,將家庭內部信息及時與主人手機終端進行通信聯系,并可以通過手機控制上端總控制層,達到遠程控制的效果。
分散智能終端層是由具有智能終端特性(即信號采集處理、輸出控制和數據通信功能)的各種不同安防系統、家電控制、家庭照明、家庭安防、溫濕度數據采集和通信系統等模塊組成。
智能終端層以AT89C51為核心處理器,使用多個I/O口進行傳感器檢測陣列的信號采集,其中包括紅外人體探測信號、火警探測信號、有毒氣體探測信號、門窗開閉信號等信號的檢測;使用紅外發射芯片IR6721C芯片進行家電設備控制信號的發射,可以完成家庭內部控制和GPRS遠程控制;使用通信串口1連接無線數據傳輸芯片XL02-232AP1,XL02-232AP1是UART 接口半雙工無線傳輸模塊。本文采用了加強型的ZigBee無線技術,符合工業標準應用的無線數據通信設備,可實現多設備間的數據透明傳輸;通過無線ZigBee進行組網通信;無線功能強大;具備中繼路由和終端設備功能。單個終端硬件結構框圖如圖2所示。
圖2 終端硬件結構框圖
智能終端與中心控制器通過基于ZigBee的無線網絡完成通信,傳輸一個指令的數據包由以下幾部分組成:起始編碼bite[0][1],地址編碼bite[2],數據類型編碼bite[4],功能編碼bite[5],效驗編碼bite[6],結束編碼bite[7]。每個編碼1個字節,發送數據范圍在0~255之間,不同家庭內部的起始編碼都是惟一的,防止相互信號的干擾,每個接收終端在接收到數據后,都進行地址碼判斷是否為自己接收的數據包,是則接收,否則不接收,接收到數據包后,對數據要執行的功能進行校驗,校驗正確,則進行解碼,并且在解碼成功后通過ZigBee的無線網絡發出一個確認接受碼,中心控制器在接收到確認接收碼后停止再次發生控制指令,否則間隔100ms再次發生相同指令,確保整個ZigBee的無線網絡數據通信的準確性和完整性。每個智能終端在正確接收到中心控制器的控制信號后,必須根據信號完成相應家庭內部的控制工作,所以家電設備的控制信號都是由統一的紅外編碼完成的,不同家電的紅外編碼各不相同,必須進行紅外編碼的解碼和重新的編碼,解碼工作利用400MHz的具有存儲功能的高精度示波器采集完成,編碼采用AT89C51芯片的兩個定時器交互中斷進行,中斷程序控制相應的I/O口產生對應的脈沖,脈沖輸出測試結果如圖3所示。
圖3 AT89C51產生的紅外解碼脈沖
2.2 GPRS遠程通信設計
以ARM11S3C6410為總控制核心,通過GPRS進行遠程數據的發送與處理,使用6410串口2與GPRS進行數據通信,可以將家庭內部數據信息發送給遠離房間的主人手機,并可以通過主人手機發送的控制信息控制房間內家電設備,包含攝像頭的攝像處理、空調溫度設置等。GPRS通信模塊安裝在智能家居控制器中,主要功能為通過GPRS網絡連接到Internet網絡,并主動與監控中心建立通信鏈路,進行雙向數據通信。GPRS通信模塊設計采用了Freescale公司生產的內嵌TCP/IP協議的G24GPRSOEM[8]。該模塊尺寸小,功耗低,便于集成。GPRS通信終端收發模塊主要由G24模塊、天線、SIM 卡、相關的電平轉換電路和RS 232串口組成。其供電電壓為5V,可采用USB端口供電;通過RS 232串行口與智能家居控制器ARM 進行通信。
G24收發模塊采用AT指令操作,通過RS 232串行口進行數據通信。
GPRS網絡通信原理如下:首先通過SGSN節點使通信終端模塊附在GPRS網絡上;然后通過GGSN 節點由PPP(Point to Point Protocol)協議獲得一個隨機分配的IP地址,連接到Internet上;最后通信終端模塊通過Internet,按照監控中心設定的端口號與監控中心建立通信鏈路。
2.3 系統軟件
系統采用Linux操作系統,Linux內核是一種源碼開放的操作系統,采用模塊化的設計。在此只保留了必需的功能模塊,刪除了冗余的功能模塊,并對內核重新編譯,從而使系統運行所需的硬件資源顯著減少。
Linux系統內核集成了大量的網絡應用程序,支持全部的標準因特網協議和幾乎所有的聯網技術,因此將其應用于智能家居控制器的設計,具有代碼量小、運行消耗系統資源少、可靠性高、開發周期短等優點,適應智能家庭數據采集控制器對于操作系統的要求。Qt作為一種跨平臺的基于C++ 的GUI系統,能夠提供給用戶構造圖形用戶界面的強大功能。本文選用移植性強的Qt軟件設計圖形用戶界面,所設計的GUI實用、簡潔、實現了人機交互,可通過鍵盤或面板對程序進行輸入、保存、修改和編譯,信息和臨時信息及時輸出、顯示,通過GUI達到了整合系統的目的。在Qt系統中,不僅有著構造完善的系統結構,而且為了滿足用戶對編寫圖形用戶界面應用的種種需求,還創建了許多新的系統機制,其中Qt所特有的內部進程通信機制具有獨特的反應速度,本文采用的Qt應用進程之間通信機制是Signal-Slot機制和FIFO 機制。Linux 系統不斷偵查本地GUI消息,任何一個Qt消息被觸發,系統都會立即執行相應程序,提高了整個系統的反應速度和穩定性,系統軟件設計流程如圖4所示。
圖4 系統軟件設計流程
3 結 語
整套系統的設計充分利用了ARM11S3C6410的硬件功能和處理速度,成功移植了以S3C6410為硬件核心的Linux嵌入式系統,并完成了基于Linux Qt的控制程序的開發,解決了多項技術難點,其中包括構建基于ZigBee通信協議的無線網絡、基于AT89C51的統一家電控制協議、基于S3C6410的GPRS遠程通信、家電控制的直接解碼與編碼等,實驗產品的控制結果效果令人滿意,驗證了該系統的先進性、穩定性和實用性,具有廣泛的推廣和應用價值。
四、遠程自動控制系統在智能家居中的應用
21 世紀是信息化的世紀, 各種通信和互聯網等技術推動了人類文明的巨大進步。智能家居控制系統的出現使得人們可以通過手機或者互聯網在任何時候、任意地點對家中的任意電器(空調、熱水器、電飯煲、燈光、音響、DVD 錄像機) 進行遠程控制; 可以在下班途中, 預先將家中的空調打開、讓熱水器提前燒好熱水、電飯煲煮好香噴噴的米飯?而這一切的實現都僅僅是輕輕的點幾下手機按鍵或鼠標。此外, 該系統還可使家庭具有多途徑報警、遠程監聽、數字留言等多種功能,如果不幸出現某種險情, 您和110 可以在第一時間獲得通知以便進一步采取行動。舒適、時尚的家居生活是社會進步的標志, 智能家居系統能夠在不改變家中任何家電的情況下, 家內家外(在家內通過無線局域網,在家外通過電信或互聯網) 都能對家里的電器、燈光、電源、家庭環境進行方便的控制, 使人們盡享高科技帶來的簡便而時尚的現代生活。
1 智能家居系統控制的工作原理
本系統是基于紅外和GSM 網絡的用于智能家居環境中的一種遠程自動控制系統。其工作原理為: 用戶通過自身的手機發出命令短消息, 在家值守的GSM 模塊接收到命令后發送給主機(單片機) , 主機通過對命令的處理, 把命令通過紅外傳輸到相應的分機(單片機) 上, 分機對命令處理后, 啟動相應設備, 完成用戶給出的命令并向主機回復應答, 主機收到應答后, 通過GSM 模塊發出回復短消息, 報告用戶完成命令。若在規定的時間內(這里定時60s) 主機沒有接收到分機的回復信息, 即把該操作認為無效, 回復操作無效短消息給用戶手機, 要求用戶重新發出命令。若收到的短信息有誤, 主機便立刻回復用戶該操作無效, 請求重新發出命令。系統構成如圖1 所示。
?
圖1 系統構成圖
2 硬件設計
2.1 MCU 與GSM 通信模塊
本單片機通過RS232 串行通信接口與GSM 模塊通信, 提取GSM 設備的短信, 發送相關的信息, 并通過串行通信接口與紅外模塊相連, 利用紅外模塊, 達到主、分機之間的通信, 因此, 選用A T 89S52 芯片。控制上需要用到兩個串行接口, 但89S52 只有一個串口, 故還需要在程序中進行模擬串行接口通信。其最簡外部接線電路如圖2 所示。
圖2 A T 89S52 外部接線
89S52 與TC35 之間通過異步串行接口進行通信,通信速率為9 600b?s, 具有1 位起始位、8 位數據位、1位停止位, 無奇偶校驗。
單片機啟動后, 便發出A T + CM GD = 2 指令, 清除第二存儲空間的數據, 然后不斷地發出指令讀取第二存儲空間。若有數據, 即表示接收到數據, 并開始對數據進行處理, 處理完畢后再把該空間數據刪除。當單片機向手機發出短消息時, 單片機會向GSM 模塊發出A T、A T + CM GF = 0、A T + CM GS= X 一系列的指令, 當接收到回復信息后, 最后發出短消息的內容。
2.2 紅外無線通信模塊
紅外發送器電路如圖3 所示包括38kHz 晶體振蕩器、反相器、與非門、驅動門Q1 和紅外發射管D1 等部分。其中38kHz 晶體振蕩器、電阻R3 和反相器組成脈沖振蕩器, 用以產生38kHz 的脈沖序列作為載波信號,紅外發射管D1 選用V ishay 公司生產的TSAL 6238, 用來向外發射950nm 的紅外光束。
圖3 紅外發射器電路圖
紅外接收器電路如圖4 所示, 當接收器收到數位"0"時,Q2 管導通, 使得RXD 接收到低電平, 收到數位"1"時,Q2 管截至, RXD 接收到高電平。
圖4 紅外接收器電路圖
2.3 模擬控制
本系統將以不同的電機做出不同的動作, 來模擬說明智能家居對系統控制的響應。如圖5 所示, 當分機的單片機收到本機的地址信息, 便提取信息中的數據,根據數據的命令, 若把P 10, P011 腳置成低電平, 其他為高電平, 則Q3、Q4 管導通, 電機便正向旋轉, 若把P012, P013 腳置成低電平, 其他為高電平, 則Q5、Q6 管導通, 電機便反向旋轉( 以前一情況為正向時)。若一臺分機上連多個電機, 有多臺分機, 便可以實現在智能家居環境中對家庭各個設備的同步控制。
圖5 電機驅動電路
3 軟件設計
3.1 單片機主程序設計
主機上電復位后進行初始化, 然后不斷地對GSM模塊進行掃描查詢。當查詢到GSM 模塊接收到用戶發送的短信時, 便對短信進行處理, 提取相關信息, 然后通過紅外模塊相分機發送相應的命令數據。接著就在一定時間(可根據用戶需要調整, 這里設為60s) 內等待分機的回復信息。當接收到回復信息或規定時間內沒有接收到分機的回復信息, 主機都返回到掃描查詢狀態。主機主程序流程圖如圖6 所示。
?
分機上電復位后進行初始化, 然后等待接收主機發送的命令信息。接收到命令信息后, 從中提取地址和數據信息, 若為本分機地址, 則對數據進行處理并作出響應, 同時向主機發送確定信息; 若非本分機地址, 則返回, 繼續等待主機發送的命令信息。分機主程序流程圖如圖6 (b) 所示。
3.2 中斷程序設計
本系統需要模擬串行數據發送和接收, 所以需要用上外部中斷來接收數據, 確保數據傳輸的同步性和實時性。每接收一位數據, 中斷都會響應一次, 接收8位為一個有效數據, 接收8 個數據為一個數據幀。外部中斷流程圖如圖7 (a) 所示。
為了確保主機正常工作, 加入主機等待分機回復的等待時間。而為了時間的實時性和準確性, 用到單片機內部的定時器1.設定其工作模式為模式1, 初值為0x4bff (50m s)。中斷20 次為1s, 60 次循環為60s, 當60s到時, 標志位置位后返回。時間中斷流程圖如圖7 (b)所示。
?
4 結 論
本系統安全可靠, 性能穩定。同時本系統除用于家庭設備遠程自動控制外, 也可用于家庭通信、家庭安全防范, 共同組建智能家居控制系統。
?
評論