北方民族大學(xué)電氣信息工程學(xué)院 陳 倩 曹 龍 蔡靜之
?
基于STM32的智能家居萬能學(xué)習(xí)型遙控盒子的研究與設(shè)計
北方民族大學(xué)電氣信息工程學(xué)院 陳 倩 曹 龍 蔡靜之
【摘要】隨著信息化飛速發(fā)展,家庭中信息家電種類越來越多,之而來遙控器的數(shù)量也越來越多,這給家庭生活帶來極大不便。本文基于萬能學(xué)習(xí)型要空盒子在智能家居中的實際應(yīng)用,提出了一套萬能學(xué)習(xí)型遙控盒子的設(shè)計方案。遙控盒子的應(yīng)用可以實現(xiàn)對家庭中的信息化家電進行統(tǒng)一控制,并且向用戶提供交互式圖形界面,具有廣泛的實踐應(yīng)用意義。
【關(guān)鍵詞】STM32;智能家居;學(xué)習(xí)型遙控盒子
物聯(lián)網(wǎng)技術(shù)中最火熱的要數(shù)智能家居行業(yè)。智能家居主要是通過物聯(lián)網(wǎng)以主,家庭住宅為平臺,為家庭提供家電控制、照明控制、電話遠程控制、室內(nèi)外遙控、防盜報警、環(huán)境監(jiān)測、暖通控制等多種功能和手段。讓住宅不僅具有傳統(tǒng)的居住功能,兼?zhèn)渚W(wǎng)絡(luò)通信、信息家電、提供全方位的信息交互功能。小米,百度等公司都推出了如小米路由,智能插座,智能燈泡等產(chǎn)品,通過這些智能的新產(chǎn)品,來實現(xiàn)家居的智能環(huán)境。但是這些新產(chǎn)品又往往有別與傳統(tǒng)家電通常使用的紅外或射頻遙控,其通常具有WIFI功能,這就使一些希望享受智能家居生活,而又不能直接把家中現(xiàn)有的傳統(tǒng)家電棄之不顧的人們很為難。有效的處理好新型智能家電與傳統(tǒng)家電之間的換代問題,就是本項目的初衷。
本文設(shè)計的萬能學(xué)習(xí)型遙控盒子主要用于對傳統(tǒng)家用電器以及新一代具有WIFI功能的家用電器的智能控制。對于具有WIFI功能的電器遙控盒子可以與其通過WIFI連接發(fā)送控制指令,而傳統(tǒng)的紅外或設(shè)射頻遙控家電則通過萬能學(xué)習(xí)型遙控盒子將指令轉(zhuǎn)變?yōu)榧t外或射頻信號,從而實現(xiàn)對傳統(tǒng)家電的控制。同時用戶能夠通過手機APP實現(xiàn)對家電工作狀態(tài)的設(shè)置,家電能在用戶的指令下完成相應(yīng)的操作。
智能家居遙控盒子硬件部分采用 STM32系列單片機,搭配紅外收發(fā)模塊和無線射頻收發(fā)模塊。支持紅外、RF315、RF433的發(fā)射和編碼學(xué)習(xí),還可以實現(xiàn) I/O 輸入輸出功能。智能家居控制器可實現(xiàn)對智能開關(guān)、智能插座、電控窗簾的學(xué)習(xí)和遙控。對于現(xiàn)有的家電,通過紅外無線轉(zhuǎn)換模塊,來學(xué)習(xí)紅外控制器的編碼,并對其進行控制。系統(tǒng)的整體框架圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
根據(jù)系統(tǒng)的整體框架系統(tǒng)的模塊分為三大部分:主控制器、紅外和射頻收發(fā)模塊以及WIFI模塊。其余顯示、電源等模塊這里不做詳細介紹。
2.1 主控芯片模塊
主控制器是系統(tǒng)的核心部分主要負責(zé)對終端傳來的數(shù)據(jù)進行分析和處理,同時也負責(zé)所有軟件和協(xié)議的運行。
本設(shè)計主控芯片采用意法半導(dǎo)公司的32位微控制器STM32F103RBT6,該控制器具有輸入捕獲和硬件PWM 輸出功能。利用控制器中定時器的輸入捕獲功能直接測量紅外信號接收解調(diào)器輸出編碼脈沖的高低電平脈沖寬度,并將脈寬數(shù)據(jù)按照指定格式寫入存儲器,即可完成該按鍵功能的學(xué)習(xí)。當(dāng)用戶使用手機APP發(fā)出控制指令時,主控芯片就會從相應(yīng)的存儲位置讀取信號,將WIFI信號轉(zhuǎn)換為相應(yīng)的紅外和射頻信號,并通過紅外或射頻發(fā)射模塊發(fā)出信號。
2.2 紅外和射頻收發(fā)模塊
系統(tǒng)的紅外模塊包括紅外接收和發(fā)射模塊兩部分。紅外接收模塊主要在智能遙控器學(xué)習(xí)過程中接收傳統(tǒng)遙控器發(fā)出的紅外信號,經(jīng)過MCU處理,將不同電器的紅外信號依次儲存。通過APP中對應(yīng)的按鈕,用戶可實現(xiàn)對不同具有紅外接收功能的設(shè)備進行控制。如對電視機,DVD,投影機,空調(diào)等紅外遙控家電的控制。其中射頻的控制距離滿足整個房子范圍的要求。
設(shè)備通過RS232的指令來控制學(xué)習(xí)模塊來進行學(xué)習(xí),該模塊的命令格式如下:
(1)學(xué)習(xí)命令:01 03 06 80 00 89 0D 0A
其中,01 03 06 是固定值,80表示學(xué)習(xí)操作,00表示學(xué)習(xí)的組別(0-254),89是從03-00的和校檢,0D 0A回車換行是固定值。
(2)發(fā)送命令:01 03 06 81 00 8A 0D 0A其中81是發(fā)送紅外命令,其他定義同上。
當(dāng)用戶的手機客戶端發(fā)送學(xué)習(xí)命令后,遙控盒子學(xué)習(xí)指示燈亮,有紅外(射頻)信號輸入學(xué)習(xí)成功后指示燈滅。如果沒有收到需要學(xué)習(xí)的遙控信號,30秒后學(xué)習(xí)的指示燈滅,設(shè)備自動退出學(xué)習(xí)狀態(tài)。當(dāng)需要的遙控信號都學(xué)習(xí)完畢并依次對應(yīng)不同按鍵學(xué)習(xí)狀態(tài)結(jié)束,設(shè)備可以隨時學(xué)習(xí)更新不同的遙控信號;按下學(xué)習(xí)后的不同按鍵后發(fā)射燈閃爍并通過紅外和射頻發(fā)射模塊發(fā)送相對應(yīng)的紅外信號來控制不同的傳統(tǒng)家電。
對于智能插座,智能開關(guān),電動窗簾等這一類開關(guān)類的家電,采用的是以繼電器為核心的執(zhí)行節(jié)點來控制。手機APP中的開關(guān)按鍵對應(yīng)各種開關(guān)按鈕,用戶點擊相應(yīng)的按鍵,系統(tǒng)檢測到該信息后會將信息傳遞到處理該信息的服務(wù)中,同時發(fā)送相應(yīng)的控制指令。命令通過無線網(wǎng)絡(luò)傳遞到遙控盒子,遙控盒子發(fā)出射頻信號來控制繼電器的閉合來控制電器的開關(guān)。而繼電器的閉合是由射頻信號根據(jù)命令格式解碼后設(shè)置相應(yīng)的I/O輸出高低電平來控制。
2.3 WIFI模塊
無線模塊是采用深圳市海凌科電子有限公司的HLKRM04,該模塊是基于通用串行接口并且同時符合無線網(wǎng)絡(luò)標準的嵌入式模塊,能夠?qū)崿F(xiàn)用戶的串口、以太網(wǎng)、無線網(wǎng)三個接口之間的轉(zhuǎn)換。在本系統(tǒng)的設(shè)計中是將WIFI模塊通過串口和STM32控制中心實現(xiàn)相互通信。HLK-RAM04設(shè)置為串口轉(zhuǎn)WIFI CLIENT模式,該模式下WIFI使能,工作在CLIENT模式下。通過適當(dāng)?shù)脑O(shè)置,COM1的數(shù)據(jù)與網(wǎng)絡(luò)數(shù)據(jù)相互轉(zhuǎn)換。WIFI CLIENT可以配置為DHCP或STATIC。該模塊尺寸小,工作溫度范圍大,能夠滿足本系統(tǒng)設(shè)計的WIFI模塊需求。
圖2 串口轉(zhuǎn)WIFI CLIENT模式
本萬能學(xué)習(xí)型遙控盒子的軟件設(shè)計部分主要包括HLKRM04和主控芯片的通信,紅外遙控指令的學(xué)習(xí)以及該遙控盒子的遠程無線控制。HLK-RM04通過串口和主控芯片的通信,使萬能學(xué)習(xí)型遙控盒子具有無線連接功能,能實現(xiàn)和網(wǎng)絡(luò)的連接從而接收來自手機客戶端的遙控家電的命令。紅外遙控指令的學(xué)習(xí)功能,是通過原有的遙控器對遙控盒子紅外接收裝置發(fā)射不同遙控指令,遙控盒子接收紅外信號后進行編碼,編碼后的紅外信號由高低電平組成,由于脈寬高低的組合不同,因而可以組成不同的紅外遙控編碼。然后將編碼后的數(shù)據(jù)進行存儲,下次遙控盒子發(fā)射遙控紅外信息時直接調(diào)用。遙控盒子和手持終端與家庭網(wǎng)關(guān)連在一起,通過無線網(wǎng)絡(luò)實現(xiàn)互相通信。
3.1 萬能學(xué)習(xí)型遙控盒子主程序設(shè)計
系統(tǒng)的主程序流程圖如圖2所示。主控芯片STM32初始化之后通過無線HLK-RM04模塊接收來自手持終端的遙控命令,當(dāng)檢測到有學(xué)習(xí)過該命令之后則直接調(diào)用執(zhí)行該命令,然后將該命令轉(zhuǎn)化為相應(yīng)的紅外信號遙控對應(yīng)家電。如果沒有檢測到之前有學(xué)習(xí)存儲該指令則經(jīng)過中斷進入學(xué)習(xí)子程序進行該紅外信號的學(xué)習(xí),學(xué)習(xí)完成后再回來發(fā)送該指令直到指令執(zhí)行完畢后程序結(jié)束。
圖3 主程序流程圖
3.2 紅外和射頻學(xué)習(xí)子程序設(shè)計
紅外(射頻)學(xué)習(xí)的子程序流程圖如圖3所示。當(dāng)檢測到學(xué)習(xí)命令后系統(tǒng)產(chǎn)生中斷,進入紅外(射頻)學(xué)習(xí)子程序。首先檢測是否有接收到需要學(xué)習(xí)的信號,沒有檢測到則一直處于檢測狀態(tài);當(dāng)檢測到需要學(xué)習(xí)的紅外(射頻)命令后,紅外(射頻)接收器接收該信號;接下來對該紅外(射頻)信號進行數(shù)據(jù)處理然后將處理后的數(shù)據(jù)進行存儲,這樣學(xué)習(xí)過程結(jié)束,返回到主程序中去。
圖4 紅外學(xué)習(xí)子程序
本文設(shè)計的萬能學(xué)習(xí)型遙控盒子,適用于全向性紅外、無線射頻(315、433MHz)電器,但是由于紅外信號無法穿墻,所以遙控紅外電器時,萬學(xué)習(xí)型遙控盒子需要和被遙控的紅外遙控電器放在同一個開放的環(huán)境中,而對于支持射頻遙控的設(shè)備即使在不同的房間也能遙控。同時我們可以將不同電器的遙控信號都錄入遙控盒子中,再通過手機中的APP就能進行實時的遙控控制。本設(shè)計具有一定的實用性,為現(xiàn)代家居生活提供了更為舒適和便捷的生活條件。
參考文獻
[1]張桂青,陳超等.基于物聯(lián)網(wǎng)的無線紅外轉(zhuǎn)發(fā)器的設(shè)計[J].測控技術(shù),2015,34(4)116-119.
[2]羅文飛.信息家電萬能遙控器在智能家居中的構(gòu)建研究[J].計算機光盤軟件與應(yīng)用,2012 (24),50-51.
[3]謝琦,楊士元,葉朝輝.數(shù)字家庭遙控器的研究與開發(fā)[J].嵌入式系統(tǒng)應(yīng)用,2008(06)1-3.
[4]周祖榮,馮步云.基于單片機簡便學(xué)習(xí)型紅外萬用遙控器的設(shè)計[J].信息通信2013(10):64-65.
[5]張毅,李進.基于射頻的學(xué)習(xí)型紅外遙控器設(shè)計[J].計算機時代,2011(2):45-46.
陳倩(1990-),男,碩士研究生,研究方向:信號檢測與信息處理。
曹龍(1990—),男,碩士研究生,研究方向:信號檢測與信息處理。
蔡靜之(1963—),女,教授,碩士研究生導(dǎo)師, 研究方向:機電一體化。
作者簡介: