2024年4月11日发(作者:台湾最新消息)
ELECTRONICS WORLD
・
技术交流
基于ESP8266的智能开关控制系统设计
南京科技职业学院 电气与控制学院 薛 翔 王 琰
随着网络技术的迅猛发展,WIFI技术得到了广泛的应用。
WIFI是一种可以将个人电脑、手持设备等终端以无线方式进行互连
的技术,为用户提供了无线的宽带互联网访问。本文介绍了如何通
过ESP8266芯片和STC单片机实现家用电器开关的无线远程控制,
提出了一种基于ESP8266的智能开关控制系统方案,并从硬件和软
件两个层面论述了系统方案的可行性。
1 系统总体设计
本系统主要由WIFI模块和MCU模块两部分组成,通过WIFI模
块ESP8266将单片机MCU链接上外网,由手机App发送信息WIFI模
块接收到信息后,再向MCU发送信号,MCU经过对信息的处理,
通过继电器的方式实现家电的通断控制或者灯的开关控制,形成了
一个控制通信网络。硬件电路主要有STC89C51芯片、DHT11温湿
度传感器采集电路、LCD液晶显示电路、继电器驱动电路、WIFI
模块以及稳压电路等组成。系统的总体设计框图如图1所示。WIFI
模块收发通讯数据,MCU完成数据的采集和外设的驱动。用户使
用手机APP将系统的WIFI模块连接到指定的路由器后,通过UART
串口传送和接收MCU的相关指令信息,继电器接负载并通过WIFI
控制其通断。
图2 ESP8266-12接口及电源电路
图3 继电器驱动电路
图1 系统总体框图
2 硬件设计
2.1 MCU模块
MCU模块由以STC89C51芯片为核心的最小系统组成,
STC89C51芯片在单芯片上,拥有灵巧的8位CPU和在系统可编程
Flash,使得STC89C51在嵌入式控制应用系统中的得到了广泛应
用。本设计使用TXD和RXD引脚实现与WIFI模块的串口通信,其
他I/O引脚主要用于连接继电器控制信号、温湿度传感器输出信号
以及LCD液晶显示数据及控制等信号。
2.2 WIFI模块
WIFI模块选择乐鑫公司的基于UART接口的ESP8266-12芯片,
该芯片内置32位CPU,能够独立运行,也可以作为从机搭载于其他
主机MCU运行,可以广泛应用于智能家居、工业无线控制、无线
传感器等领域。
ESP8266模块能够实现用户串口数据到无线网络之间的交换。
有2种使用方案:一是直接使用内部自带的处理器,对芯片进行二
次开发,通过I/O口控制设备,例如继电器、传感器等,此方案节
省成本,但开发难度较大;二是ESP8266模块外接单片机,而其仅
用来完成网络相关的任务,使用AT命令操作,通过串口和外接的
单片机通信,此方案开发快,性能稳定,但成本相对较高。本文选
用第二种方案。
图2为ESP8266-12与单片机串口通信接口及电源电路,TXD和
RXD分别接单片机的P3.0和P3.1。ESP8266-12的9和11脚通过1K上
拉电阻接3.3V电源。采用AMS1117 稳压芯片将5V电源转换成3.3V
直流电压,给WIFI和继电器模块供电。二极管IN4148反向截止起
到保护电路的作用。拨动开关S1正常运行时接通TXD接收模块发送
的数据,下载程序时用S1断开WIFI模块,以防数据干扰。
2.3 继电器驱动模块
控制系统通过继电器的方式实现开关的通断控制。继电器通过
PNP型三极管驱动,当阀值超过设定时,单片机会由高电平跳变成
低电平,三极管导通继电器吸合,继电器起开关作用,可以驱动负
基金项目: 院级“百名人才培养工程”项目资助、院级科研项目基于互联网+的治疗仪控制器设计(NHKY-2016-14)。
•
147
•
ELECTRONICS WORLD
・
技术交流
载。图3为单个继电器驱动电路,单片机P2.0引脚输出一个低电平
时,PNP型三极管9012导通,电流从+5V电源经线圈再经9012回到
GND形成回路,此时继电器线圈得电吸合,与线圈并联的LED灯点
亮,2.2K分压电阻保证LED的3V工作电压,二极管用于消除继电
器吸合时产生的瞬间反相电动势,接线端子CON2可外接负载电源
线,驱动负载的通断相当于一个智能开关。
2.4 DHT11温湿度采集模块
采用DHT11温湿度传感器用于检测室内温湿度并发送给单片机
进行处理和显示,DHT11与STC89C51单片机连接相对简单。如图
4所示,DHT11为 4 针单排引脚封装。单片机的P2.7口用来发收串
行数据,即data数据口。DATA 用于微处理器与 DHT11之间的通讯
和同步,采用单总线串行数据格式,一次通讯时间4ms左右。上拉电阻
10K起到信号稳定的作用。传感器的电源端口Pin1和Pin4分别接单
片机的VDD和GND端。传感器的第三脚悬浮放置。
图4 DHT11接口电路
图5 LCD接口电路
2.5 LCD1602液晶显示电路
LCD1602能够同时显示16x02即32个字符,采用LCD1602液晶
显示器显示网络连接情况、室内温湿度值以及开关状态等信息,
LCD与单片机接口连接如图5所示。1脚接地,2脚接+5v电源,3脚
为液晶显示器对比度调整端,通过一个10K电位器调整对比度。4
脚RS接P2.7用于寄存器的选择。5脚R/W接P2.6用于读写信号的控
制,6脚EN为使能端接P2.5用于液晶模块的使能控制。7~14脚即
D0~D7为8位双向数据线接P0口,用于数据的读写。
2.6 智能手机APP
智能手机APP为网络调试助手安卓版。网络调试助手集成了
TCP/UDP客户端服务器,服务器端支持透明传输方式、自动反馈方
式和手动发送方式。采用TCP客户端模式,通过配置IP地址和COM
端口号实现APP与ESP8266通信。
3 软件设计
采用ESP8266实现远程控制基本流程:ESP8266进行初始
化,将手机连上ESP8266的WIFI,然后再通过手机端发送指令,
ESP8266接收到命令发给单片机,单片机根据执行相应的操作。
STC单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在
液晶屏上显示并通过ESP8266将采集的温湿度数据发送到手机APP
显示。控制流程如图6所示。
3.1 主程序设计
控制系统软件部分主要分为WIFI配置与通信、温湿度读取、继
电器驱动、LCD液晶显示四部分。系统上电后进入初始化阶段读取
系统参数,温湿度传感模块启用,APP配网设置后,ESP8266配网
•
148
•
成功直连数据服务器,传送相应的控制指令到MCU驱动继电器动
作,同时实时回传数据到服务器,APP可以即时查看相关的数据。
主程序流程如图7所示。
3.2 WIFI初始化
设置WIFI 的工作模式,ESP8266 支持softAP 模式、station 模
式、softAP+station 共存模式三种模式。本文采用SoftAP模式,即
无线接入点模式,ESP8266发射一个WIFI热
点将手机或电脑等终端设备接入热点组建一个局域网。STC89C51单
片机通过AT指令对ESP8266进行是初始化配置。
配置指令为:
AT+CWMODE=2,设置SoftAP模式。
AT+CWSAP=“NAME”,“password”,设置WIFI名称和密码。
AT+CIPSTART=“TCP”,“ X1.X2.X3.X4”,9999;让模块连上
服务器X1.X2.X3.X4 为IP 地址,9999为端口。
AT+CWJAP=“ssid”,“pwd”;连接路由器,在程序中输入路
由器名称ssid和密码pwd;此时,WIFI 模块就必须重启,发送指令
“AT+RST”给WIFI 模块。
图6 控制流程 图7 主程序流程图
3.3 关键函数设计
void main() ;//主函数,完成系统初始化,温湿度读取调用和
显示,开关的WIFI控制。
void uart_RX(void) interrupt 4;//串口中断处理函数,如果串口
接收到数据,执行相应的操作,控制继电器的动作,直到收到下一
个数据指令。
void Timer0 (void) interrupt 1 using 0;//定时中断函数,单片机
每2秒钟从DHT11温湿度传感器中读入温度和湿度,用于MCU与
DHT11的通讯。
void Uart_init( );// 单片机串口初始化函数,波特率9600,设
置T0和T1工作方式,允许串口接收数据,开中断,启动定时器。
T0用于定时器,T1用于波特率发生器。
uchar DHT11(void);// 温湿度读取子程序,采用单总线数据格式。
void LCDdisplay();// 液晶显示子函数,包括初始化、写指
令、写数据、显示字符串和数据等。
4 结语
本文设计了一种基于ESP8266 WIFI芯片的智能开关系统,以
STC单片机为主控制器,从软件和硬件两个层面论述了该方案的可
行性。在该系统基础之上,还可以增设家用电器定时开关、灯光的
自动调节等其他智能控制功能。通过后期的不断改进和完善,该控
制器的功能将更加多样化,市场前景也会更加广阔。
作者简介:
薛翔(1996—),男 ,汉族,南京科技职业学院,专业:机电一
体化技术。
王琰(1980—),女, 汉族,硕士研究生,讲师,研究方向:机
电控制技术。
发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1712770224a2118904.html
评论列表(0条)