楊振南 何如意
(湖南科技學院 計算機與通信工程系,湖南 永州 425199)
基于Android手機的家居設備集中控制系統設計
楊振南 何如意
(湖南科技學院 計算機與通信工程系,湖南 永州 425199)
文章介紹一種使用Android手機通過藍牙信號連接家居集中控制網關,以實現控制各種不同家居設備的方法,被控制設備包括紅外遙控家電、遙控照明和電動窗簾電機。依據這種方法設計的軟硬件系統樣品經過測試,證實能夠實現對家居設備的集中遙控。
Android;智能家居;集中遙控
智能家居是物聯網的一個重要應用領域,我國智能家居起步晚,但是行業發展迅速。與廠商大量涌入不相符合的是,用戶對智能家居的接受程度卻不高。分析其主要原因包括:(1)智能家居產品成本高昂,普通家庭難于承受;(2)智能家居產品實用性不強,不能真正讓用戶感覺到實用價值;(3)智能家居系統安裝復雜,操作困難[1]。
另一方面,Android智能手機已經逐步普及,這種手機具有強大的處理能力、方便明了的操作界面和豐富的外設。通過Android手機實現對家居照明系統,家用電器,電動窗簾的控制將能夠提高用戶的體驗好感,加快智能家居的推廣。本項目的目標就是設計一套軟硬件系統以實現通過Android手機對家居設備的集中控制。
本系統主要由Android智能手機,家居集中控制網關和家居設備組成。如圖1所示。家居設備主要包括:紅外遙控家用電器,遙控照明和電動窗簾;家居集中控制網關能夠發射紅外遙控信號去控制各種家用電器,發射無線射頻信號以控制遙控照明和電動窗簾;Android手機提供給用戶進行操作,手機通過藍牙信號發送命令和數據到控制網關。用戶只需一次性配置好網關,就可以直接使用Android手機直接遙控所有的家居設備。

圖1 系統組成圖
家居集中控制網關的作用是接收Android手機發來的藍牙命令數據,然后把數據解壓出來,根據解壓的數據判斷,需要發送出紅外編碼信號、315MHz射頻信號或者433MHz信號。網關的硬件方框圖如圖2所示。網關的控制核心選用的是STC89C52單片機。藍牙收發模塊使用的是廣州匯承信息科技有限公司的型號為HC05的藍牙標準模塊,該模塊通過UART與STC89C52連接,使用AT命令進行控制。紅外發射模塊主要由4個紅外發射二極管及其驅動電路組成,4個紅外發射二極管指向四個不同的方向,以確保一個房間內的所有家電都可以接收到信號。RF射頻發射模塊包括一個315MHz和一個433MHz發射模塊,每次發射選擇其中的一個模塊工作。

圖2 控制網關硬件方框圖
由于家用電器的種類多品牌雜,使用的紅外編碼協議各不相同。設計一個能夠兼容所有紅外編碼格式和所有射頻編碼格式新的數據格式是此項目實現的關鍵。在文獻[2]中已經對各種紅外編碼信號研究了統一實現發射的方法。結合該方法,本項目中制定了特殊的數據幀格式以兼容各種不同的紅外編碼信號。數據幀由Android手機通過藍牙發送到家居集中控制網關。詳細格式定義如表1所示。

表1.數據幀格式
一個數據幀由16的整數倍個字節組成。分成兩個部分,低16個字節為格式控制,高字節為信號壓縮編碼,長度為16的整數倍,具體長度依據Len的值確定。
TLM表示引導碼高電平持續時間;TLS表示引導碼電平持續時間;T0~T3分別表示引導碼之后的數據中高低電平可能的持續時間;Len表示原始紅外信號中除去引導碼之外的高低電平個數;Reserved表示預留信息;CODE為原始紅外信號的壓縮編碼。所有的時間以微秒為單位。編碼的壓縮采用類游程編碼的方法。下面以康佳電視遙控頻道加鍵為例進行說明。該鍵的紅外信號如圖3所示。(由于編碼過長,圖中省略了中間的部分信號)

圖3 康佳頻道加鍵的紅外編碼圖
圖中IDLE表示空閑狀態,即沒有發射紅外信號時的狀態。第一個3毫秒為引導碼的高電平寬度,第二個3毫秒為引導碼低電平的寬度,后面為遙控器的原始編碼數據。統計得出原始編碼數據部分的高電平和低電平的寬度所有可能值為:520微秒,1480微秒,2500微秒和4000微秒。除去引導碼外,原始編碼數據中的高低電平個數總數是35個。則應用以上的數據幀格式進行描述時有:TLM=3000;TLS=3000;T0=520;T1=1480;T2=2500;T3=4000;Len=35。CODE部分使用類游程編碼壓縮的方法實現如下:引導碼后,第一個為520us高電平,與T0相等,因此使用二進制數據“00”表示;第二個為1.48毫秒低電平,與T1相等,用二進制數據“01”表示,第八個為2.5毫秒低電平與T2相等,用二進制數“10”表示,倒數第二個為4000毫秒低電平,用二進制數“11”表示。把所有這些二進制數據從左到右排列在一起,轉換成16進制數,這些16進制數就是CODE部分的值。同時由于CODE部分長度為16的整數倍即16N字節,可以表示高低電平的總長度為16N ×8÷2=64N個,圖3中的編碼總長度為35,不足64個,取N=1,且多余的比特以二進制“0”填充。由此,有完整的康佳頻道加鍵的數據幀內容如表2所示:

表2.康佳頻道加鍵數據幀內容
遙控照明,電動窗簾是家居中出現的新設備,其無線控制使用射頻信號實現。目前市面上使用的有315MHz和433MHz兩個頻率,且不同廠家使用的射頻調制編碼不同。比較常見的是使用2262進行編碼,使用2272進行解碼,比如海樂遙控電燈開關。也有使用自定義編碼格式,比如杜亞電動窗簾電機的遙控信號。圖4所示為杜亞電動窗簾電機打開鍵遙控編碼示意圖。(由于編碼過長,圖中省略了中間的部分信號)

圖4 杜亞電動窗簾電機打開鍵遙控編碼示意圖
對比圖4和圖3可以發現,射頻編碼也可以使用前面定義的數據幀格式唯一描述。但是,與紅外不同的是調制載波不同,此處使用了433MHz射頻信號,因此為了區分調制載波,在上面的數據幀格式的部分用第13字節來表示載波類型:數值0表示紅外信號,數值1表示315MHz射頻信號,數值2表示433MHz射頻信號,其他數值預留使用。套用以上數據格式,則其各部分數據如表3所示。由于編碼較長,Len為80,因此取N=2,整個數據幀長度為48字節。使用2262編碼發送的射頻遙控信號也可以使用這種數據格式唯一描述,此處不再詳細舉例說明。

表3.杜亞電動窗簾電機打開鍵遙控編碼數據幀內容
設計中使用兩個IO口分別控制315MHz和433MHz射頻發射模塊,使用一個獨立的IO引腳輸出38KHz方波到紅外發射模塊。使用定時器T0控制紅外或射頻調制的脈沖寬度和脈沖間隔。使用定時T1產生38KHz定時頻率。單片機的主要工作流程如下:
圖5中發出控制信號部分軟件,實現解壓數據幀中CODE的部分數值,并通過控制端還原出原始的控制信號。主要通過定時器T0實現。根據數據幀中的第13字節選擇被控制端。然后讀取數據中的CODE部分數值,每個字節的數據處理4次,通過移位運算每次提取出2個比特數據,然后以這2個比特數值為索引讀取T0~T3中的數據,并把讀來的數據加載到定時器T0作為定時時間長度。T0定時時間結束則變換控制端輸出狀態,由此實現在控制端產生交替變化的數字脈沖。如此循環不斷地進行,直到發送的高低電平數與數據幀中的Len區數值相等時結束發送。紅外發射模塊和射頻發射模塊在控制端的高低電平控制下下發射出原始的紅外信號或者射頻信號,從而實現對家居設備的控制。
Android手機端的應用程序設計成多個用戶界面,由一個主界面進行引導。他們之間的關系如圖6所示。用戶在主選擇界面上選擇需要控制的家居設備,然后進入相應的家居控制界面,在家居控制界面上設計有各種功能按鍵,用戶通過觸摸這些按鍵,就可以直接控制家居設備。

圖5 單片機主流程圖

圖6 Android手機界面關系圖
依據以上設計方案,設計了實驗樣品。硬件樣品如圖6所示,Android手機軟件如圖7所示。初步收集了康佳LED32E330C彩電的部分遙控編碼,美的遙控風扇FS40-6DR部分遙控編碼,金通慧電燈開關以及杜亞窗簾電機的射頻遙控編碼。并進行了測試。測試結果證明該設計達到預期目標。若能夠進一步收集現有市場所有門類家居設備的紅外和射頻控制代碼,則可以真正實現Android手機對家居設備的集中萬能遙控。

圖7 硬件外觀圖

圖8 Android手機界面圖
[1]童曉渝,房秉毅,張云勇.物聯網智能家居發展分析[J].移動通信技術,2010,(9):16-20.
[2]蔡燕玲.一種基于單片機的智能紅外遙控系統的解碼方法[J].濰坊學院學報,2010,10(6):25-29.
[3]李斌,高恭嫻.學習型紅外遙控器的設[J].微型機與應用,2010,(1):13-19.
[4]劉永富,焦斌亮,劉慶赟.基于藍牙的智能家居控制系統[J].現代建筑電氣,2010,1(12):13-18.
[5]汪宇,呂衛,楊博菲,等.基于Android平臺的智能家居監控系統[J].電視技術,2012,36(2):36-38.
TP399
A
1673-2219(2014)05-0111-04
2013-12-15
永州市科技局資助項目(項目編號永科發[2012]9號);湖南省大學生研究性學習和創新性實驗計劃項目資助,(項目編號湘教通[2012]402號-387)。
楊振南(1982-),男,碩士,講師,湖南永州人,主要研究方向為嵌入式系統應用、智能家居、物聯網。何如意(1990-),男,湖南永州人,湖南科技學院計算機系學生。
(責任編校:劉志壯)