刘赐恩 石道胜 王成
【摘 要】远程遥控作为智能化家居中的一个重要功能,在日常生活中和工业应用中十分常见。遥控的基础在嵌入式设备中只是一种状态控制另一种状态的表现,在远程遥控中,就必须依赖某种媒介,例如有线连接、局域网、广域网等等。本文介绍的是一个以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对电视机和空调进行控制了,使用起来也是非常的方便。智能家居的概念早在几年前就已经是一个热词了,随着物联网技术的发展,智能家居也被再次推上了风尖浪口,何为智能家居,就本文而言,遥控家居不是智能家居,智能是非人为的操作,所以达到远程遥控,但并非智能遥控,我们只是结合硬件,在数据上做一些判断,这样的远程控制,无论是伪智能还是真智能,这只是利用大数据对智能化控制的一个小小的尝试。未来的路还很远,我们也是在学习中去不断的探索。