王美確 陳明霞
摘 要:為了解決NEC協(xié)議編碼的遙控器通信距離不高,智能化程度低等問(wèn)題,設(shè)計(jì)了一種基于智能家居的手機(jī)APP紅外控制系統(tǒng)。系統(tǒng)采用STC89C52單片機(jī)作為控制核心,通過(guò)紅外接收頭采集信息,采用藍(lán)牙傳輸通信方式將接收信息進(jìn)行解碼存儲(chǔ)到系統(tǒng)。經(jīng)測(cè)試,本控制系統(tǒng)能夠接收采用NEC協(xié)議編碼的紅外信息,將其存儲(chǔ)到AT24C02,同時(shí)可以通過(guò)按鍵或者手機(jī)APP發(fā)送紅外編碼信息,一定程度上滿足了智能家居的有效控制需求。
關(guān)鍵詞:STC89C52;藍(lán)牙;AT24C02;解碼
網(wǎng)絡(luò)的飛速發(fā)展使手機(jī)成為了人們?nèi)粘I畈豢苫蛉钡囊徊糠郑謾C(jī)系統(tǒng)應(yīng)用程序可直接控制家庭相應(yīng)電氣設(shè)備已經(jīng)成為可能。[1]
本文設(shè)計(jì)智能家居的APP紅外控制系統(tǒng)。系統(tǒng)可以取代NEC協(xié)議編碼的所有紅外遙控器。多個(gè)遙控器的密鑰代碼信息可以在控制系統(tǒng)自適應(yīng)學(xué)習(xí),由于系統(tǒng)的延展性,新電氣設(shè)備的紅外信號(hào)都能被系統(tǒng)的學(xué)習(xí)功能學(xué)習(xí),進(jìn)而被系統(tǒng)控制,以克服獨(dú)立多個(gè)遙控器帶來(lái)的不便。在使用時(shí),只通過(guò)系統(tǒng)面板按鍵或手機(jī)APP發(fā)送相應(yīng)信息,就能控制與之對(duì)應(yīng)的智能設(shè)備。不同的紅外電器設(shè)備所能夠識(shí)別的紅外信號(hào)編碼信息不同,[2]這為本系統(tǒng)同時(shí)學(xué)習(xí)多個(gè)紅外遙控器的紅外信號(hào)編碼信息提供了可能。
藍(lán)牙技術(shù)實(shí)現(xiàn)控制系統(tǒng)與手機(jī)之間通信。操作過(guò)程更快速簡(jiǎn)單,手機(jī)APP客戶端可直接控制相應(yīng)的電氣設(shè)備,方便快捷,一定程度上滿足了智能家居的有效控制需求。
1 系統(tǒng)設(shè)計(jì)思路與實(shí)現(xiàn)功能
手機(jī)APP紅外控制系統(tǒng)按鍵為擦除按鍵、功能按鍵、信號(hào)發(fā)射按鍵等。硬件部分采用藍(lán)牙模塊、紅外信號(hào)接收器、紅外信號(hào)發(fā)射器燈。系統(tǒng)具有學(xué)習(xí)、紅外信號(hào)發(fā)射兩種模式,紅外信號(hào)發(fā)射模式又可切換為手動(dòng)或自動(dòng)模式。系統(tǒng)框圖如下所示。
紅外控制系統(tǒng)處于學(xué)習(xí)模式可以學(xué)習(xí)多個(gè)采用NEC協(xié)議方式編碼的紅外信號(hào),并將其存儲(chǔ)到外接存儲(chǔ)電路中;當(dāng)手機(jī)APP藍(lán)牙連接可操作系統(tǒng)進(jìn)行紅外信號(hào)調(diào)用實(shí)現(xiàn)無(wú)線遙控。
系統(tǒng)還可以通過(guò)按鍵對(duì)系統(tǒng)的工作模式進(jìn)行設(shè)置,同時(shí)可以通過(guò)其他一些紅外信息指令發(fā)送按鍵發(fā)送存儲(chǔ)在AT24C02中的紅外信號(hào)。在發(fā)送紅外信號(hào)時(shí),由于不同的電氣設(shè)備所接收到的紅外編碼信息是唯一的,發(fā)送所有紅外信號(hào),特定電氣設(shè)備只能接收特定紅外信號(hào)。因此,所發(fā)送的紅外信號(hào)不會(huì)啟動(dòng)其他的電氣設(shè)備而導(dǎo)致出現(xiàn)混亂。
2 系統(tǒng)硬件設(shè)計(jì)方案
本次設(shè)計(jì)使用STC89C52單片機(jī)作為控制核心。紅外發(fā)射器為本設(shè)計(jì)控制系統(tǒng)輸入設(shè)備,紅外發(fā)射器與單片機(jī)的外部中斷1相連接,當(dāng)接收到紅外信號(hào)的時(shí)候才能夠響應(yīng)時(shí)申請(qǐng)中斷,單片機(jī)動(dòng)作并進(jìn)行紅外信號(hào)接收并對(duì)其進(jìn)行解碼。
按鍵中功能按鍵來(lái)切換工作模式,實(shí)現(xiàn)系統(tǒng)學(xué)習(xí)模式與紅外信號(hào)發(fā)射模式切換。四個(gè)紅外信號(hào)發(fā)射按鍵可發(fā)射相應(yīng)的紅外信號(hào)。外接存儲(chǔ)器為AT24C02非易失性存儲(chǔ)器,能夠多次進(jìn)行擦除與寫(xiě)入操作,能夠滿足智能家居紅外信號(hào)控制要求。[3]
紅外一體化接收頭是由放大電路和紅外接收管組成,可以接納脈沖編碼調(diào)制紅外光信號(hào),具備體積小,密封性好,靈敏度高,價(jià)錢(qián)低等優(yōu)點(diǎn)。[4]本設(shè)計(jì)采用1383一體化接收頭,其解調(diào)頻率為38KHZ,當(dāng)系統(tǒng)接收到38KHZ紅外脈沖信號(hào)時(shí)向單片機(jī)發(fā)出中斷信號(hào)申請(qǐng)中斷,觸發(fā)單片機(jī)工作。
藍(lán)牙HC-06作為手機(jī)與系統(tǒng)交互媒介,藍(lán)牙連接到STC89C52單片機(jī)串口與單片機(jī)進(jìn)行串口通信。波特率為9600bps,系統(tǒng)采用11.0592MHZ晶振,數(shù)據(jù)傳輸在波特率為9600bps時(shí)沒(méi)有誤差。[5]藍(lán)牙與手機(jī)連接之后,如果手機(jī)發(fā)出紅外發(fā)射的指令,指令通過(guò)串口傳輸?shù)絾纹瑱C(jī)串口引腳申請(qǐng)中斷,此時(shí)紅外信號(hào)被單片機(jī)接收并進(jìn)行相應(yīng)工作。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)開(kāi)始工作后,首先初始化變量,從AT24C02存儲(chǔ)器中讀出數(shù)據(jù)。從主函數(shù)后開(kāi)始反復(fù)檢測(cè)是不是有功能鍵被按下的指令,功能鍵被按下時(shí)則處于學(xué)習(xí)模式,當(dāng)處于學(xué)習(xí)模式時(shí),系統(tǒng)檢測(cè)是否接收到紅外信號(hào)并且有相對(duì)應(yīng)的按鍵按下,如果沒(méi)有則繼續(xù)處于紅外學(xué)習(xí)模式,如果有則將接收到的紅外信號(hào)存儲(chǔ)到AT24C02中。如果進(jìn)入主函數(shù)時(shí)沒(méi)有功能鍵按下,則表明當(dāng)前系統(tǒng)處于紅外信號(hào)發(fā)送模式,可以通過(guò)系統(tǒng)面板上面的非功能按鍵發(fā)送紅外信號(hào)。系統(tǒng)成功連接上藍(lán)牙,就以通過(guò)手機(jī)APP發(fā)送相應(yīng)指令去控制系統(tǒng)發(fā)送紅外信號(hào),軟件流程圖如下所示。
4 系統(tǒng)調(diào)試
紅外控制系統(tǒng)調(diào)試采用系統(tǒng)硬件總體焊接完成后再逐步調(diào)試方案,主要檢查系統(tǒng)接線焊接錯(cuò)誤、最小系統(tǒng)是否能夠正常工作、各個(gè)模塊是否能夠正常上電,、器件是否工作正常等情況。
遙控器發(fā)射的紅外信號(hào)是一系列的高低電平編碼信息,在解碼時(shí)對(duì)高低電平獲取的方法不當(dāng),最后解碼得到的信息失真,導(dǎo)致最后系統(tǒng)發(fā)射出來(lái)的紅外信息與原信息不同。
通過(guò)文獻(xiàn)[6],獲得藍(lán)牙連接步驟:
(1)藍(lán)牙模塊先配置成從模式。
(2)KEY引腳一定要懸空或接地,再接通電源。
(3)將藍(lán)牙模塊經(jīng)過(guò)串口與單片機(jī)向連接,在單片機(jī)程序中預(yù)先設(shè)置好波特率,本次使用波特率為9600。
(4)手機(jī)上安裝APP。
(5)打開(kāi)手機(jī)上的藍(lán)牙功能。
5 系統(tǒng)測(cè)試結(jié)果及分析
經(jīng)測(cè)試,紅外系統(tǒng)能夠?qū)崿F(xiàn)預(yù)期的所有功能。當(dāng)按下功能鍵時(shí),系統(tǒng)可以進(jìn)入指令模式與學(xué)習(xí)模式兩種發(fā)送模式。
學(xué)習(xí)模式將所要學(xué)習(xí)遙控器,對(duì)準(zhǔn)系統(tǒng)紅外接收端口,根據(jù)控制平臺(tái)上不同按鍵,將紅外信號(hào)存儲(chǔ)到存儲(chǔ)器中。電氣設(shè)備可以通過(guò)控制面板上按鍵控制,同時(shí)也可以使用手機(jī)打開(kāi)藍(lán)牙APP連接藍(lán)牙向終端發(fā)送相應(yīng)的指令直接控制對(duì)應(yīng)的電氣設(shè)備。根據(jù)測(cè)試結(jié)果的科學(xué)性與實(shí)用性,智能家居的APP紅外控制系統(tǒng)能夠準(zhǔn)確的滿足用戶的需求,控制系統(tǒng)具有準(zhǔn)確性和可靠性。
6 總結(jié)
本次設(shè)計(jì)采用STC89C52單片機(jī)作為系統(tǒng)控制器,設(shè)計(jì)出智能家居的APP紅外控制系統(tǒng),解決了多種紅外家電遙控器獨(dú)立感應(yīng)帶來(lái)的各種不便。利用單片機(jī)作為控制器,以數(shù)字量來(lái)對(duì)各個(gè)模塊進(jìn)行控制以達(dá)到效果,經(jīng)過(guò)測(cè)試得出設(shè)計(jì)方案可行,各個(gè)模塊也都能正常運(yùn)行。計(jì)時(shí)功能由單片機(jī)的內(nèi)部定時(shí)器來(lái)完成,也是本次設(shè)計(jì)最重要的部分。這對(duì)于各種紅外系列的家庭電器來(lái)說(shuō)具有很大的市場(chǎng)前景。
參考文獻(xiàn):
[1]汪順舟,趙懷林,郝旭耀,等.智能管家機(jī)器人家電控制系統(tǒng)設(shè)計(jì)[J].上海應(yīng)用技術(shù)學(xué)院學(xué)報(bào)(自然科學(xué)版),2016,16(2):170-174.
[2]聶詩(shī)良,李磊民.紅外遙控信號(hào)的一種編碼解碼方法[J].儀表技術(shù)與傳感器,2004(8):28-29.
[3]于秀云.智能打鈴器的原理及設(shè)計(jì)應(yīng)用分析[J].硅谷,2014(12):23-24.
[4]陳飛鵬.基于STC89C52單片機(jī)智能小車設(shè)計(jì)[J].硅谷,2012(11):43-44.
[5]蔣俊,劉天宇,簡(jiǎn)雨沛.藍(lán)牙智能小車系統(tǒng)設(shè)計(jì)[J].信息技術(shù)與信息化,2015(6):166-167.
[6]趙婉禎,吳成東,馬斌,等.藍(lán)牙接入BACnet的智能家居技術(shù)設(shè)計(jì)與實(shí)現(xiàn)[J].電子產(chǎn)品世界,2004(22):77-79.