APP下载

基于ESP8266的智能家居控制系统设计

2017-12-06吴允强吴由松

电子测试 2017年21期
关键词:波特率路由器串口

吴允强,吴由松

(南昌理工学院,江西南昌,330044)

基于ESP8266的智能家居控制系统设计

吴允强,吴由松

(南昌理工学院,江西南昌,330044)

随着科学的不断进步,物联网产业的如火如茶的进行中,未来的智能家居将是一个非常大的舞台。本文讲述一种基于ESP8266无线WIFI模块的智能家居控制系统,该系统结合单片机技术,通过无线模块ESP8266接收无线信号,转发给单片机,单片机控制继电器和红外遥控模块来远程控制家电。用户可以通过手机连接系统远程控制家用电器的开关和工作状态。

物联网;ESP8266;WIFI;单片机

1 硬件系统设计

本设计通过Wi-Fi模块ESP6288将单片机MCU链接上外网,由手机App或者电脑exe程序发送信息,Wi-Fi模块接收到信息后,再向单片机MCU发送信号,MCU经过对信息的处理,然后通过继电器或红外遥控的方式对相应的电器下发功能指令,完成家电的通断控制或者灯的开关控制,形成了一个控制通信网络,使得对家中的所有的家电的控制形成一个整体。通过一系列技术论证和架构分析后,可以将硬件系统划分为三个模块:WIFI模块、MCU单片机控制模块以及家电控制模块。如图1所示。

图1 硬件系统框图

1.1 WIFI模块ESP8266

本设计的WIFI模块采用的是ESP8266,该模块具有UART异步串行通信接口,在与单片机的连接比较简单,同时单片机在对其控制也比较方便。支持串口透明数据传输,内置TCP/IP协议栈和IEEE802.11协议栈。ESP8266支持三种组网模式:SoftAP模式、Station模式、SoftAP+Station模式。WiFi模块的作用是让整个控制系统与网络连接,完成无线信号与串口信号之间的转换。这里我们的组网可以是SoftAP+Station模式,这样系统既可以通过手机直连也可以通过无线路由器连接达到远程控制。

1.2 单片机控制模块

本设计使用的是STC生产的高速、宽电压、低功耗、超强抗干扰的新一代8051单片机STC15W4K32S4,该单片机内部集成高精度RC时钟,无需外接晶振电路,只要在烧写程序时设置一下就可以了,本设计时钟设置为11.0592MHz。STC15W4K32S4自带8路10位PWM,8路高速10位A/D转换,4组独立的异步串行通信接口,可用于控制扩展和AD数据采集扩展等,特别是4组独立的异步串行通信接口,本设计需要两组串口通信一组是ESP6288与单片机之间等的串口通信,使用的串口1(P3.0、P3.1),另外一组是红外遥控模块与单片机之间的串口通信,使用的串口3(P0.0、P0.1),这里为什么不用串口2,因为串口2与A/D转换接口共用引脚,留出A/D转换方便以后模拟信号采集电路的扩展。

2 单片机程序设计

本设计的远程控制是使用了一个安卓手机的TCP控制APP,这个软件可以通过IP地址连接上系统的WIFI模块服务器,通过外网需要设置无线路由器上的端口映射,将无线路由器接收到的TCP信息转发给ESP8266的地址,对WIFI模块进行发送控制信息,对于接收的信息,WIFI模块会通过串口通信转发给单片机,单片机对于接收的控制信息进行分析,来控制相对应的家电,整个系统的流程就是这样的。

2.1 串口中断初始化

本设计串口初始化需要完成两个串口的初始化,STC15W4K32S4有四组串口端口,只要初始化设置串口1和串口3的工作方式、波特率以及串口中断。工作方式都是用方式1, WIFI模块ESP8266与红外遥控模块的波特率都是9600,串口1和串口2共享T2波特率发生器,串口1设置SCON为0x50,串口3设置S3CON为0x10,设置AUXR为0x15启动T2为波特率发生器,设置T2计数器T2L初值为0xE0、T2H初值为0xFE。这里串口3只发数据控制红外遥控,所以不打开串口3的中断,只要开启串口1的中断ES就可以了,在总中断EA。

2.2 WiFi初始化

本设计实用了WIFI模块ESP6288,这个WIFI模块如果要工作的话就要对其进行初始化,WIFI模块的初始化一个计较麻烦的一件事,对于要设置的东西还是比较多的。本设计中为了方面控制,对于WIFI控制的两种方式都进行初始化,使WIFI模块工作在SoftAP+Station模式,能被手机连接,也可以自身连接无线路由器,主要的初始过程是:WIFI模块是使用的串口通信,那么首先要设置单片机的串口,设置完成才可以给WIFI模块发送操作指令;先设置WIFI的工作模式,这里使用SoftAP+Station模式,那么就是单片机通过串口向WIFI模块发送“AT+CWMODE=3”;再设置AP的相关参数,比如AP名称和密码,这里我们的WIFI名称为ESP8266,密码为0123456789,那么单片机通过串向WIFI模块发送“AT+CWSAP=”ESP8266”,”0123456789”,11,0”,再如果要连接到无线路由,通过AT+CWJAP=,指令来连接路由器,就发向对应的SSID和密码;此时,WIFI模块就必须重启,所以再重启WIFI模块发送指令“AT+RST”给WIFI模块;再设置成多连接“AT+CIPMUX=1”;再开启服务器“AT+CIPSERVER=1,5000”,端口为5000。

3 总结

本文基于ESP8266无线WIFI模块设计的智能家居控制系统,讲述了WI-FI模块、红外控制模块和继电器控制模块的工作原理,以及单片机与各模块之间的硬件连接设计。通过手机的TCP控制APP给WiFi模块发送数据, WI-FI模块再向单片机STC15W4K32S4传送信息,经过单片机的处理,再向红外控制电路或者继电器控制电路下达指令,通过红外控制电路或者继电器控制电路使家用电器和电路开关等运作。

[1] 曹振民等.基于ESP8266的无线控制电路设计[J].工业控制计算机,2017(1): 68-69.

[2] 范兴隆.ESP8266在智能家居监控系统中的应用[J].单片机与嵌入式系统应用,2016(9):52-56.

Design of Intelligent Home Control System Based on ESP8266

Wu Yunqiang,Wu Yousong
(Nanchang Institute of Technology, Nanchang Jiangxi,330044)

With the continuous progress of science, the Internet of Things industry such as tea in progress,the future of intelligent home will be a very big stage. This article describes a smart home based on ESP8266 wireless WIFI module control system, the system combined with single-chip technology, through the wireless module ESP8266 receive wireless signals, forwarded to single-chip, single-chip control relay and infrared remote control module to remotely control appliances. Users can remotely control the switch and operating status of household appliances through a mobile phone connection system.

Internet of things; ESP8266; WIFI; Single chip microcomputer

猜你喜欢

波特率路由器串口
买千兆路由器看接口参数
维持生命
路由器每天都要关
浅谈AB PLC串口跟RFID传感器的通讯应用
CAN 总线波特率自适应程序设计
无线路由器的保养方法
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
C*Core芯片SCI串口波特率容限优化