基于WIFI模块的家用无线灯控开关的设计

2021-01-13 03:39
探索科学(学术版) 2020年7期
关键词:串口继电器调试

金华职业技术学院机电工程学院 浙江 金华 321000

引言

随着社会的进步和网络技术飞速发展,人民生活水平有了很大提高,对舒适智能的家居环境提出了更高的要求,其中,对家庭中电灯的远程遥控的需求非常迫切。在灯控这个领域中,市面上大部分的无线灯控开关都是使用遥控器进行控制的,而普通的红外遥控器存在许多使用上的弊端。因此,本设计对此进行了技术上的改良,使用WiFi模块进行灯光的开关控制,得到了更好的效果,实现了真正的远程遥控。

1 总体方案

首先,本设计的思路是通过WIFI模块实现单片机同外部网络的信息连接,当手机APP发送特定的开灯或关灯协议报文给WIFI模块时,WIFI模块接收到信息后,向单片机发送相应的控制命令信号,单片机收到控制命令后,驱动相应的I/O端口,进而使继电器断开或闭合,实现家用灯具的无线开关控制(图1)。

2 系统硬件组成

(1)主控制器模块。主控制器模块是由STC89C52芯片为核心的最小系统组成,STC89C52芯片在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52在嵌入式控制应用系统中的得到了广泛应用。本设计使用TXD和RXD引脚实现与WIFI模块的串口通信,从而实现主控制器和WIFI模块的交互;其他I/O引脚主要用于连接继电器控制信号,可以实现多路电灯的远程开关遥控。

(2)WIFI模块。WIFI模块选择了乐鑫公司的基于串行接口的ESP8266芯片,该芯片内置了32位的CPU,能够独立运行,也可以作为从机搭载于其他主机MCU运行,可以广泛应用于智能家居、工业无线控制、无线传感器等领域。ESP8266模块能够实现用户串口数据到无线网络之间的交换。有2种使用方案:一是直接使用内部自带的处理器,对芯片进行二次开发,通过I/O口控制设备,例如继电器、传感器等,此方案节省成本,但开发难度较大;二是ESP8266模块外接单片机,而其仅用来完成网络相关的任务,使用AT命令操作,通过串口和外接的单片机通信,此方案开发快,性能稳定,但成本相对较高。本装置选用了第二种方案来实现主控CPU和外界的通信。

(3)继电器驱动模块。控制系统通过继电器的方式实现开关的通断控制。继电器通过PNP型三极管驱动,当超过设定时,单片机会由高电平跳变成低电平,三极管导通继电器吸合,继电器起开关作用,可以驱动负载。图3为单个继电器驱动电路,单片机P2.0引脚输出一个低电平时,PNP型三极管9012导通,电流从+5V电源经线圈再经9012回到GND形成回路,此时继电器线圈得电吸合,与线圈并联的LED灯点亮,2.2K分压电阻保证LED的3V工作电压,二极管用于消除继电器吸合时产生的瞬间反相电动势,接线端子CON2可外接负载电源线,驱动负载的通断相当于一个智能开关。

3 软件设计

该装置的软件主要由两部分组成,其一为STC89C52的单片机程序,二为手机APP程序。接下来分别进行介绍。

(1)单片机程序。单片机程序主要实现的是ESP8266的初始化、外部通信数据的处理、串口收发控制。首先是WIFI模块的初始化,主要是设置WIFI的工作模式,ESP8266支持soft AP模式、station模式、soft AP+station共存模式三种模式,本文采用Soft AP模式,即无线接入点模式,ESP8266模块发射一个WIFI热点,将手机或电脑等终端设备接入热点,组建一个局域网。STC89C51单片机通过AT指令对ESP8266进行是初始化配置。

配置指令为:

AT+CWMODE=2,设置Soft AP模式。

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模块。

(2)手机APP调试程序。在本项目中并没有专门开发灯光控制APP,采用的是通用的远程串口调试APP。该APP程序为网络调试助手安卓版。网络调试助手集成了TCP/UDP客户端服务器,服务器端支持透明传输方式、自动反馈方式和手动发送方式。采用TCP客户端模式,通过配置IP地址和COM端口号实现APP与ESP8266通信。

4 系统调试与结论

完成硬件设计与软件设计后,先将电路通过STC核心开发板与控制继电器搭建出来,通过ST-LINK将程序烧写进去,就可以进行测试了。

通过调试发现,在网络调试助手上发送“OPENLAMP1”,可以接通相应的继电器模块;反之,发送“CLOSELAMP1”,可以断开相应的继电器模块。另外,通过ESP8266与串口的连接进行信息打印,也可以正常的接收信息及发送信息到网络调试助手相应的端口。

总之,采用ESP8266模块为通信模块、采用STC89C52为核心控制模块的无线灯控开关实现了既定的功能要求,可以满足实际灯光控制需要。

猜你喜欢
串口继电器调试
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
电气仪表自动化安装与调试分析
调试机械臂
基于API函数库实现串口数据通信的分析与设计
继电器控制及诊断在电动汽车动力电池包的应用
基于EM9000工控板高性能双串口通信模型设计与实现
便携式继电器测试台的研制和应用
继电器在电气工程自动化低压电器中的应用探讨
基于航拍无人机的设计与调试
船舶电子设备串口数据的软件共享方法