韓煒
(海南熱帶海洋學(xué)院海洋信息工程學(xué)院,海南三亞,572022)
隨著物聯(lián)網(wǎng)技術(shù)的不斷普及,使用紅外遙控的家電種類開始增多,針對紅外遙控板的多樣性進(jìn)行統(tǒng)一化的問題亟待解決[1]。使用者提出了“遙控統(tǒng)一化”、“紅外遙控便攜化”的用戶需求[2-3]。本文設(shè)計(jì)了一款自學(xué)習(xí)型藍(lán)牙紅外遙控系統(tǒng)。該系統(tǒng)能夠?qū)W習(xí)并記憶常見的家電紅外遙控器信號,可以集合多種紅外遙控于一體,從而實(shí)現(xiàn)對多種紅外遙控設(shè)備的集中控制[4]。
如圖1所示,本文設(shè)計(jì)的學(xué)習(xí)型紅外遙控系統(tǒng)由兩部分組成。一部分是以HXD019DU和STC8G1K08單片機(jī)為核心組成的板載遙控器,其中HXD019DU連接主控STC8G1K08單片機(jī)的串 口2,HXD019DU會將紅外接收頭接收到的紅外數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,將紅外數(shù)據(jù)變成相應(yīng)的十六進(jìn)制數(shù)據(jù),單片機(jī)通過串口發(fā)送處理好的紅外數(shù)據(jù)來遙控紅外設(shè)備。
圖1 紅外遙控系統(tǒng)總體框架圖
另一部分是以TLSR8232為核心構(gòu)建的藍(lán)牙紅外遙控單元。此單元可將遙控系統(tǒng)通過藍(lán)牙與微信小程序連接,小程序中包含全球紅外碼庫,可通過紅外接收一體頭對遙控設(shè)備的遙控板進(jìn)行學(xué)習(xí),也可以直接在小程序中選擇對應(yīng)品牌的遙控設(shè)備,再通過小程序的設(shè)備適配界面對相應(yīng)設(shè)備進(jìn)行控制。
本文硬件系統(tǒng)主要由兩個(gè)核心部分組成,即STC8G1K08主控核心單元和宏芯達(dá)藍(lán)牙紅外學(xué)習(xí)單元。宏芯達(dá)藍(lán)牙紅外學(xué)習(xí)單元負(fù)責(zé)紅外數(shù)據(jù)的學(xué)習(xí)、存儲,STC8G單片機(jī)負(fù)責(zé)處理并發(fā)送處理后的紅外數(shù)據(jù)。單片機(jī)引出了I/O端口用于連接功能按鍵,可用于學(xué)習(xí)與發(fā)送更多的遙控器功能鍵。遙控系統(tǒng)的硬件采用5V電池供電,硬件實(shí)物體積小、功耗低、便于攜帶,可應(yīng)用于實(shí)際產(chǎn)品中。
如圖2所示,主控部分采用了STC公司生產(chǎn)的STC8G1K08增強(qiáng)型8051內(nèi)核單片機(jī),STC8G系列單片機(jī)兼容傳統(tǒng)的MCS-51系列單片機(jī),性價(jià)比高且具備較強(qiáng)的抗干擾能力,該主控實(shí)現(xiàn)了功能按鍵解碼和紅外數(shù)據(jù)的處理與存儲。
圖2 STC8G1K08單片機(jī)核心電路圖
單元電路中的U2采用了LM1117-3.3V芯片構(gòu)成LDO穩(wěn)壓電路,該芯片可將5V電壓轉(zhuǎn)換成3.3V電壓供藍(lán)牙單元使用。U3為CH340G芯片構(gòu)成的USB轉(zhuǎn)TTL電平串口電路,該電路用于單片機(jī)的程序燒錄及串口通信。U1為STC8G1K08單片機(jī),該單片機(jī)自帶2組獨(dú)立異步高速串口,可用于PC通信及紅外芯片拓展通信。在電路設(shè)計(jì)中,本系統(tǒng)將串口1預(yù)留作為程序下載接口,將串口2作為與HXD019DU芯片串口通信的端口。STC8G單片機(jī)的P1.0、P1.1引腳(串口2資源的數(shù)據(jù)收發(fā)引腳)與HXD019DU芯片的RX、TX端口交叉連接,以實(shí)現(xiàn)異步串口通信,接收學(xué)習(xí)到的紅外數(shù)據(jù)碼。
宏芯達(dá)藍(lán)牙紅外單元電路是本系統(tǒng)電路設(shè)計(jì)中的重中之重,該單元電路主要以HXD019DU與TLSR8232芯片為核心構(gòu)成。HXD019DU是集學(xué)習(xí)型、多設(shè)備萬能遙控器于一體,具有學(xué)習(xí)碼值功能,集成了各種常用遙控器的碼值庫,可學(xué)習(xí)全球絕大部分紅外碼格式,學(xué)習(xí)效果穩(wěn)定、精準(zhǔn)。TLSR8232是Telink開發(fā)的BLE SoC解決方案,它完全符合藍(lán)牙4.2標(biāo)準(zhǔn),允許與藍(lán)牙智能手機(jī)、平板電腦、筆記本設(shè)備進(jìn)行連接。
宏芯達(dá)藍(lán)牙紅外電路如圖3所示。該單元通過紅外收發(fā)一體頭接收紅外數(shù)據(jù),通過HXD019DU進(jìn)行數(shù)據(jù)處理,在選擇紅外模式時(shí),可將處理好的數(shù)據(jù)存入STC8G單片機(jī)中等待發(fā)送;在選擇藍(lán)牙模式時(shí),可將紅外數(shù)據(jù)在全球萬能碼庫中進(jìn)行查詢,將對應(yīng)的碼庫調(diào)出,再通過TLSR8232芯片連接微信小程序,后將數(shù)據(jù)通過藍(lán)牙協(xié)議下發(fā)到HXD019DU芯片進(jìn)行數(shù)據(jù)發(fā)送即可。
圖3 宏芯達(dá)藍(lán)牙紅外電路
電路設(shè)計(jì)時(shí)添加了撥動開關(guān)P1,便于藍(lán)牙模式與紅外模式的切換,天線部分采用PCB天線,可進(jìn)一步降低設(shè)備成本,電路中添加了兩個(gè)0R電阻和3nH電感組成2.4GHz天線濾波器,X1為石英晶體,C17與C18為晶振電路的負(fù)載電容。LED1為紅外學(xué)習(xí)狀態(tài)指示燈。
STC8G單片機(jī)與HXD019DU的通信方式選擇異步串口通訊。通過撥碼開關(guān)選擇紅外模式或藍(lán)牙模式,程序上電之后會對整個(gè)系統(tǒng)進(jìn)行初始化,在紅外模式下,判斷當(dāng)前的按鍵狀態(tài),長按按鍵三秒以上單片機(jī)就向HXD019DU發(fā)送學(xué)習(xí)指令進(jìn)入學(xué)習(xí)模式,同時(shí)學(xué)習(xí)指示燈熄滅,表示成功進(jìn)入學(xué)習(xí)模式。遙控器對準(zhǔn)HXD5038紅外收發(fā)一體頭發(fā)送要學(xué)習(xí)的按鍵。當(dāng)成功學(xué)習(xí)到按鍵數(shù)據(jù)時(shí),學(xué)習(xí)指示燈會重新亮起。再次單擊該按鍵,即可通過HXD019DU發(fā)送學(xué)習(xí)到的紅外數(shù)據(jù)。撥碼開關(guān)選擇藍(lán)牙模式時(shí),HXD019DU與TLSR8232的TXD與RXD交 叉相連,以便雙方進(jìn)行串口通信。用戶可通過微信小程序連接上遙控系統(tǒng)的藍(lán)牙??芍苯油ㄟ^微信小程序的操控界面進(jìn)行遙控設(shè)備的控制。
在藍(lán)牙模式下,不需要單片機(jī)單元的參與。因此程序編寫的重點(diǎn)在于紅外模式下的按鍵狀態(tài)判斷、學(xué)習(xí)數(shù)據(jù)的接收、處理及紅外數(shù)據(jù)的發(fā)送。軟件處理過程如圖4所示。
圖4 軟件處理流程圖
在選擇紅外模式時(shí),程序首先要對按鍵的狀態(tài)進(jìn)行判斷,判斷按下的狀態(tài)是長按還是短按。按鍵按下時(shí),需要有一個(gè)自定義的變量與延時(shí)函數(shù),反映出按鍵按下的時(shí)長,規(guī)定當(dāng)按鍵按下3秒以上時(shí)表示長按動作,反之則為短按動作。根據(jù)以上的思路可編寫源碼如下:
在長按按鍵時(shí),單片機(jī)會通過串口2向HXD019DU發(fā)送學(xué)習(xí)指令,即4個(gè)16進(jìn)制數(shù)“0x12,0x36,0x56,0x7A”,此時(shí)學(xué)習(xí)指示燈會熄滅。用戶可用遙控板向HXD5038發(fā)送紅外數(shù)據(jù),當(dāng)HXD019DU成功接收紅外數(shù)據(jù)后學(xué)習(xí)指示燈再次亮起。單片機(jī)處理接收到的紅外數(shù)據(jù)后再將其發(fā)送出去,即可控制相應(yīng)的紅外設(shè)備。該過程的核心源碼如下:
若在單片機(jī)串口上添加檢測探針,可在串口調(diào)試助手中得到如圖5所示數(shù)據(jù),將串口助手接收數(shù)據(jù)中的第一個(gè)字節(jié)和第二個(gè)字節(jié)(實(shí)際接收到的數(shù)據(jù)可能不是圖5中所示的00、52,直接對這兩個(gè)字節(jié)進(jìn)行修改即可)修改為30、03后,再由單片機(jī)將其發(fā)送出去即可控制紅外設(shè)備。
圖5 HXD019DU接收到的紅外數(shù)據(jù)
本文設(shè)計(jì)的學(xué)習(xí)型紅外遙控系統(tǒng)實(shí)現(xiàn)了常見家電紅外遙控器信號的學(xué)習(xí),可以集合多種紅外遙控于一體,從而實(shí)現(xiàn)對多種紅外遙控設(shè)備的集中控制。
在藍(lán)牙控制模式下,系統(tǒng)連接手機(jī)端微信小程序后可以在界面中選擇三種匹配模式,即品牌匹配模式、型號匹配模式和一鍵匹配模式來匹配控制設(shè)備。以型號匹配模式為例,用戶可在型號選項(xiàng)中搜索相應(yīng)的設(shè)備型號,點(diǎn)擊對應(yīng)設(shè)備選項(xiàng),此時(shí)會出現(xiàn)命名選項(xiàng)框,用戶可以根據(jù)自己的需求來命名。命名完成后點(diǎn)擊對應(yīng)的圖標(biāo),小程序會跳轉(zhuǎn)到相應(yīng)的操控界面,可以點(diǎn)擊界面中的功能按鍵來操控目標(biāo)電器。具體的控制界面如圖6所示。
圖6 微信小程序控制界面圖
本文設(shè)計(jì)的學(xué)習(xí)型藍(lán)牙紅外遙控系統(tǒng)通過藍(lán)牙模塊將系統(tǒng)與微信小程序相結(jié)合,實(shí)現(xiàn)了設(shè)備遙控和紅外碼學(xué)習(xí),實(shí)現(xiàn)了多種遙控器的整合與統(tǒng)一,提升了人機(jī)交互的操作性與便利性,解決了不同品牌遙控器間的兼容性問題。方案具有一定的實(shí)用性與拓展性,基于本系統(tǒng),還可添加Wi-Fi等物聯(lián)網(wǎng)模塊組建為智能家居的紅外控制網(wǎng)關(guān)設(shè)備等。