北方民族大學電氣信息工程學院 陳 倩 曹 龍 蔡靜之
?
基于STM32的智能家居萬能學習型遙控盒子的研究與設計
北方民族大學電氣信息工程學院 陳 倩 曹 龍 蔡靜之
【摘要】隨著信息化飛速發展,家庭中信息家電種類越來越多,之而來遙控器的數量也越來越多,這給家庭生活帶來極大不便。本文基于萬能學習型要空盒子在智能家居中的實際應用,提出了一套萬能學習型遙控盒子的設計方案。遙控盒子的應用可以實現對家庭中的信息化家電進行統一控制,并且向用戶提供交互式圖形界面,具有廣泛的實踐應用意義。
【關鍵詞】STM32;智能家居;學習型遙控盒子
物聯網技術中最火熱的要數智能家居行業。智能家居主要是通過物聯網以主,家庭住宅為平臺,為家庭提供家電控制、照明控制、電話遠程控制、室內外遙控、防盜報警、環境監測、暖通控制等多種功能和手段。讓住宅不僅具有傳統的居住功能,兼備網絡通信、信息家電、提供全方位的信息交互功能。小米,百度等公司都推出了如小米路由,智能插座,智能燈泡等產品,通過這些智能的新產品,來實現家居的智能環境。但是這些新產品又往往有別與傳統家電通常使用的紅外或射頻遙控,其通常具有WIFI功能,這就使一些希望享受智能家居生活,而又不能直接把家中現有的傳統家電棄之不顧的人們很為難。有效的處理好新型智能家電與傳統家電之間的換代問題,就是本項目的初衷。
本文設計的萬能學習型遙控盒子主要用于對傳統家用電器以及新一代具有WIFI功能的家用電器的智能控制。對于具有WIFI功能的電器遙控盒子可以與其通過WIFI連接發送控制指令,而傳統的紅外或設射頻遙控家電則通過萬能學習型遙控盒子將指令轉變為紅外或射頻信號,從而實現對傳統家電的控制。同時用戶能夠通過手機APP實現對家電工作狀態的設置,家電能在用戶的指令下完成相應的操作。
智能家居遙控盒子硬件部分采用 STM32系列單片機,搭配紅外收發模塊和無線射頻收發模塊。支持紅外、RF315、RF433的發射和編碼學習,還可以實現 I/O 輸入輸出功能。智能家居控制器可實現對智能開關、智能插座、電控窗簾的學習和遙控。對于現有的家電,通過紅外無線轉換模塊,來學習紅外控制器的編碼,并對其進行控制。系統的整體框架圖如圖1所示。

圖1 系統結構框圖
根據系統的整體框架系統的模塊分為三大部分:主控制器、紅外和射頻收發模塊以及WIFI模塊。其余顯示、電源等模塊這里不做詳細介紹。
2.1 主控芯片模塊
主控制器是系統的核心部分主要負責對終端傳來的數據進行分析和處理,同時也負責所有軟件和協議的運行。
本設計主控芯片采用意法半導公司的32位微控制器STM32F103RBT6,該控制器具有輸入捕獲和硬件PWM 輸出功能。利用控制器中定時器的輸入捕獲功能直接測量紅外信號接收解調器輸出編碼脈沖的高低電平脈沖寬度,并將脈寬數據按照指定格式寫入存儲器,即可完成該按鍵功能的學習。當用戶使用手機APP發出控制指令時,主控芯片就會從相應的存儲位置讀取信號,將WIFI信號轉換為相應的紅外和射頻信號,并通過紅外或射頻發射模塊發出信號。
2.2 紅外和射頻收發模塊
系統的紅外模塊包括紅外接收和發射模塊兩部分。紅外接收模塊主要在智能遙控器學習過程中接收傳統遙控器發出的紅外信號,經過MCU處理,將不同電器的紅外信號依次儲存。通過APP中對應的按鈕,用戶可實現對不同具有紅外接收功能的設備進行控制。如對電視機,DVD,投影機,空調等紅外遙控家電的控制。其中射頻的控制距離滿足整個房子范圍的要求。
設備通過RS232的指令來控制學習模塊來進行學習,該模塊的命令格式如下:
(1)學習命令:01 03 06 80 00 89 0D 0A
其中,01 03 06 是固定值,80表示學習操作,00表示學習的組別(0-254),89是從03-00的和校檢,0D 0A回車換行是固定值。
(2)發送命令:01 03 06 81 00 8A 0D 0A其中81是發送紅外命令,其他定義同上。
當用戶的手機客戶端發送學習命令后,遙控盒子學習指示燈亮,有紅外(射頻)信號輸入學習成功后指示燈滅。如果沒有收到需要學習的遙控信號,30秒后學習的指示燈滅,設備自動退出學習狀態。當需要的遙控信號都學習完畢并依次對應不同按鍵學習狀態結束,設備可以隨時學習更新不同的遙控信號;按下學習后的不同按鍵后發射燈閃爍并通過紅外和射頻發射模塊發送相對應的紅外信號來控制不同的傳統家電。
對于智能插座,智能開關,電動窗簾等這一類開關類的家電,采用的是以繼電器為核心的執行節點來控制。手機APP中的開關按鍵對應各種開關按鈕,用戶點擊相應的按鍵,系統檢測到該信息后會將信息傳遞到處理該信息的服務中,同時發送相應的控制指令。命令通過無線網絡傳遞到遙控盒子,遙控盒子發出射頻信號來控制繼電器的閉合來控制電器的開關。而繼電器的閉合是由射頻信號根據命令格式解碼后設置相應的I/O輸出高低電平來控制。
2.3 WIFI模塊
無線模塊是采用深圳市海凌科電子有限公司的HLKRM04,該模塊是基于通用串行接口并且同時符合無線網絡標準的嵌入式模塊,能夠實現用戶的串口、以太網、無線網三個接口之間的轉換。在本系統的設計中是將WIFI模塊通過串口和STM32控制中心實現相互通信。HLK-RAM04設置為串口轉WIFI CLIENT模式,該模式下WIFI使能,工作在CLIENT模式下。通過適當的設置,COM1的數據與網絡數據相互轉換。WIFI CLIENT可以配置為DHCP或STATIC。該模塊尺寸小,工作溫度范圍大,能夠滿足本系統設計的WIFI模塊需求。

圖2 串口轉WIFI CLIENT模式
本萬能學習型遙控盒子的軟件設計部分主要包括HLKRM04和主控芯片的通信,紅外遙控指令的學習以及該遙控盒子的遠程無線控制。HLK-RM04通過串口和主控芯片的通信,使萬能學習型遙控盒子具有無線連接功能,能實現和網絡的連接從而接收來自手機客戶端的遙控家電的命令。紅外遙控指令的學習功能,是通過原有的遙控器對遙控盒子紅外接收裝置發射不同遙控指令,遙控盒子接收紅外信號后進行編碼,編碼后的紅外信號由高低電平組成,由于脈寬高低的組合不同,因而可以組成不同的紅外遙控編碼。然后將編碼后的數據進行存儲,下次遙控盒子發射遙控紅外信息時直接調用。遙控盒子和手持終端與家庭網關連在一起,通過無線網絡實現互相通信。
3.1 萬能學習型遙控盒子主程序設計
系統的主程序流程圖如圖2所示。主控芯片STM32初始化之后通過無線HLK-RM04模塊接收來自手持終端的遙控命令,當檢測到有學習過該命令之后則直接調用執行該命令,然后將該命令轉化為相應的紅外信號遙控對應家電。如果沒有檢測到之前有學習存儲該指令則經過中斷進入學習子程序進行該紅外信號的學習,學習完成后再回來發送該指令直到指令執行完畢后程序結束。

圖3 主程序流程圖
3.2 紅外和射頻學習子程序設計
紅外(射頻)學習的子程序流程圖如圖3所示。當檢測到學習命令后系統產生中斷,進入紅外(射頻)學習子程序。首先檢測是否有接收到需要學習的信號,沒有檢測到則一直處于檢測狀態;當檢測到需要學習的紅外(射頻)命令后,紅外(射頻)接收器接收該信號;接下來對該紅外(射頻)信號進行數據處理然后將處理后的數據進行存儲,這樣學習過程結束,返回到主程序中去。

圖4 紅外學習子程序
本文設計的萬能學習型遙控盒子,適用于全向性紅外、無線射頻(315、433MHz)電器,但是由于紅外信號無法穿墻,所以遙控紅外電器時,萬學習型遙控盒子需要和被遙控的紅外遙控電器放在同一個開放的環境中,而對于支持射頻遙控的設備即使在不同的房間也能遙控。同時我們可以將不同電器的遙控信號都錄入遙控盒子中,再通過手機中的APP就能進行實時的遙控控制。本設計具有一定的實用性,為現代家居生活提供了更為舒適和便捷的生活條件。
參考文獻
[1]張桂青,陳超等.基于物聯網的無線紅外轉發器的設計[J].測控技術,2015,34(4)116-119.
[2]羅文飛.信息家電萬能遙控器在智能家居中的構建研究[J].計算機光盤軟件與應用,2012 (24),50-51.
[3]謝琦,楊士元,葉朝輝.數字家庭遙控器的研究與開發[J].嵌入式系統應用,2008(06)1-3.
[4]周祖榮,馮步云.基于單片機簡便學習型紅外萬用遙控器的設計[J].信息通信2013(10):64-65.
[5]張毅,李進.基于射頻的學習型紅外遙控器設計[J].計算機時代,2011(2):45-46.
陳倩(1990-),男,碩士研究生,研究方向:信號檢測與信息處理。
曹龍(1990—),男,碩士研究生,研究方向:信號檢測與信息處理。
蔡靜之(1963—),女,教授,碩士研究生導師, 研究方向:機電一體化。
作者簡介: