劉賜恩 石道勝 王成
【摘 要】遠程遙控作為智能化家居中的一個重要功能,在日常生活中和工業應用中十分常見。遙控的基礎在嵌入式設備中只是一種狀態控制另一種狀態的表現,在遠程遙控中,就必須依賴某種媒介,例如有線連接、局域網、廣域網等等。本文介紹的是一個以STM32為控制核心,輔以ESP12F聯網模塊及紅外發射二極管為一體的遠程遙控裝置,操作裝置是基于android的應用。文中介紹了該遠程遙控的功能特點,給出了STM32與其他硬件連接的電路與編程設計方法。
【關鍵詞】智能化;遠程遙控器
中圖分類號: TP872 文獻標識碼: A 文章編號: 2095-2457(2018)03-0225-002
Design and Implementation of Intelligent Remote Control
LIU Ci-en SHI Dao-sheng WANG Cheng
(School of Electronic Information Engineering, Suzhou Vocational University, Suzhou, Jiangsu 215100, China)
【Abstract】As an important function of intelligent home, remote control is very common in daily life and industrial applications. The basis of remote control is only the performance of a state to control another state in an embedded device. In a remote control, it must rely on a certain medium, such as a wired connection, a local area network, a wide area network, and the like. This article describes a remote control device that uses the STM32 as the control core, supplemented with the ESP12F networking module and infrared emission diodes. The operation device is based on the android application. This paper introduces the features of the remote control, STM32 circuit with other hardware and programming design method is given.
【Key words】Intelligent; Remote control
1 系統描述
本文研究的智能遠程遙控器的結構框圖如圖1所示。STM32F103R8T6作為控制核心,主設備由鋰電池供電,經ASM1117穩壓后連接到STM32的電源上。該遠程遙控器主要應用于家居環境,主要控制具有紅外接收功能的設備。四路紅外發射二極管與STM32具有PWM輸出功能的IO口相連,然后由STM32的IO輸出38KHz的載波信號給紅發射二極管,遵循紅外NEC協議,NEC協議如圖2所示,一幀信號首先是由9ms的載波和4.5ms的空閑作為引導碼開始,然后緊跟的是4段信息,分別是用戶碼、用戶反碼、鍵值碼和鍵值反碼,數字邏輯“0”是560us的載波+560us的空閑組成,數字邏輯“1”是560us的載波+1.68ms的空閑組成。在使用時,對于特定的功能需求,輸出特定的編碼信號。最終達到紅外控制的目的。
在控編碼輸出之前,首先要知道紅外編碼信息。VS1838B是紅外接收一體頭,其頻率是37.90KHz,它能夠將紅外光信息轉換為數字信息,然后利用STM32對數字信息進行輸入捕獲,同樣是遵循紅外NEC協議,最終將紅外編碼轉換為數字信息存儲到STM32的內部Flash里面,即對紅外信息進行解碼。
遠程控制的硬件支持是安信可的wifi模塊ESP12F,它結構小巧,功耗低,并且可以通過簡單的AT指令配置TCP/IP透傳,方便二次開發,接入云端服務。實現遠程控制的原理是硬件通過ESP12F連接到固定IP的服務器,在操控段(android app)建立一個socket連接,也是連接到同一個服務器,服務器作為信息提供中轉,這樣就能達到遠程控制的功能。
2 系統特點
本文研究的溫度采集系統有幾個突出的特點:(1)結構簡單,(2)智能遠程控制,(3)擴展性強。作為一個輔助遙控裝置,在紅外遙控和普通的遠程遙控上,本系統都能滿足需求。
在結構設計上,采用鋰電池的供電方式是為了方便移動,但是也可以采用Mirso USB接頭供電,這樣就更加簡化了結構,這是一個主控芯片,4個紅外發射管(對準4個方向,無死角遙控),一個紅外一體接收頭和一個ESP12F的wifi芯片,這幾個硬件組合在一起的結構還是非常的簡單的。
我們在android端加入一些條件監測,例如監測手機的wifi信息,當接入家庭的網絡時,自動打開空調、加濕器等一些環境電器,在打開電視機時,監測用戶常看的頻道,并將其碼值記錄下來,下次用戶打開電視,為其自動打開他喜歡的節目。實現一個小小的自動化和智能化。
本系統還有一大特點是擴展性強,主控芯片STM32F103R8T6是一款功能強大的MCU,所以它的功能有著很強的擴展性。例如利用一個引腳加一路繼電器就能組成一個遙控開關大功率電器,控制一些沒有紅外接收的電器或者大功率的電器。STM32F103R8T6自帶兩路硬件SPI,也可以連接一個OLED屏,加一個溫濕度傳感器,就可以實時監測環境溫度。安信可的WIFI模塊是2.4G無線通信,在長時間連接中可能出現通信中斷的可能,所以在硬件電路上,也可以加上一個ENC28J60網口通信芯片,這樣就可以使用網線把本系統接入互聯網。
3 結語
在經過不同方案的比較后,我們為本系統設計了PCB,并且打樣出來進行測試。如圖4所示。
本系統作為一款遠程遙控輔助設備,在日常使用中是完全可以勝任家庭紅外遙控的控制中心。在最為常用的控制電視機和空調方面都沒有問題,首先是要把原來的遙控器對準本設備,讓本設備進行解碼并學習其碼值,然后就可以通過android app對電視機和空調進行控制了,使用起來也是非常的方便。智能家居的概念早在幾年前就已經是一個熱詞了,隨著物聯網技術的發展,智能家居也被再次推上了風尖浪口,何為智能家居,就本文而言,遙控家居不是智能家居,智能是非人為的操作,所以達到遠程遙控,但并非智能遙控,我們只是結合硬件,在數據上做一些判斷,這樣的遠程控制,無論是偽智能還是真智能,這只是利用大數據對智能化控制的一個小小的嘗試。未來的路還很遠,我們也是在學習中去不斷的探索。