基于Esp32单片机的智能窗户的设计

2022-07-06 07:46高伟杰聂旭门紫薇周涛曹子洁
现代信息科技 2022年6期
关键词:远程控制单片机

高伟杰?聂旭?门紫薇?周涛?曹子洁

摘  要:通过对智能窗户模块化的设计,进一步满足了用户的多样化需求。设计包含了主控模块、电源模块、识别模块、驱动模块、Esp32无线收发模块、报警模块,能够实现智能识别控制:在阴雨天气关窗、火灾报警关窗、有小孩靠近报警关窗、远程控制窗户等功能。它可以有效解决阴雨天上班族没法回家关窗,家中起火时自动关窗避免火势增大,孩子在家长不注意时靠近窗户危险坠落等问题。必要时可通过物联网远程实现窗户的开关。

关键词:智能窗户;单片机;多样化需求;智能识别控制;远程控制

中图分类号:TP368         文獻标识码:A文章编号:2096-4706(2022)06-0055-04

Design of Intelligent Window Based on Esp32 Single-Chip Microcomputer

GAO Weijie, NIE Xu, MEN Ziwei, ZHOU Tao, CAO Zijie

(College of Electronic Information and Automation, Tianjin University of Science and Technology, Tianjin  300222, China)

Abstract: Through the modular design of intelligent windows, it further meets the diversified demands of users. The design includes the main control module, power supply module, identification module, drive module, Esp32 wireless transceiver module and alarm module, which can realize intelligent identification control: closing the windows in rainy weather, closing the windows in case of fire alarm, closing the windows in case of children approaching the alarm, remote control the windows and other functions. It can effectively solve the problems that office workers cannot go home to close the windows in rainy days, automatically close the windows in case of a fire at home to avoid the increase of fire, and children dangerous fall near the windows when their parents are not paying attention. If necessary, the windows can be switched and off remotely through the Internet of Things.

Keywords: intelligent window; Single-Chip Microcomputer; diversified demand; intelligent identification control; remote control

0  引  言

城市上班族工作繁忙,但在生活中仍需要照顾家庭起居,如白天开窗通风透气,照顾孩童等。为了减轻上班族的生活压力,使家用产品更加方便化、智能化,对传统的窗户进行有计划性的改进,设计一款服务于上班族的智能窗。智能窗以单片机为控制核心,可以在下雨时自动关闭窗户;发生火灾时自动关闭窗户;有人靠近时自动关闭窗户;人们可以通过物联网远程实现窗户的开关[1]。

1  系统工作原理

通过采集和处理雨水、火焰、人体传感器收集到的外界信息,当下雨、发生火灾、有人靠近时,会给主控模块传输一个高电平信号,主控模块再通过L298N控制直流电机来实现窗户的开关[2]。其中检测人体方位的识别模块包括HC-SR501人体红外感应模块,当感应到人体靠近或远离的时候,将对人体的红外热辐射的信号转化为电信号,无人环境电信号维持中值,人体靠近模块时输出高电平,人体远离模块时输出低电平,基于此,我们再使用HC-SR04超声波测距模块,当接收到高电平信号并且超声波测距模块测得距离小于安全距离(50 cm)时,关闭窗户,并通过蜂鸣器发出警报。Esp32主控通过内置的Wi-Fi模块实现窗户联网功能,客户端可以通过物联网远程关闭窗户;电源模块为系统供电。再配合软件系统实现智能窗的各项功能[3]。智能窗示意图如图1所示。

2  硬件设计

智能窗采用模块化设计,包括主控模块、电源模块、识别模块、驱动模块、Wi-Fi模块、报警模块等[4]。各模块之间的关系如图2所示。

2.1  主控模块

主控采用Esp32单片机,它是一款集成Wi-Fi功能的微控制器,拥有强大的性能,可以用来开发复杂的应用,内置32位双核处理器,最高频率为240 MHz。Esp32性能强大、响应速度快、功耗低等优势,除此之外,自带Wi-Fi和Bluetooth功能,因此本文用来实现客户端联网开关窗户的功能[5]。B2E4DCE8-F4BA-4326-AEF4-D3D14658842B

2.2  识别模块

识别模块由雨滴感应模块、火焰传感器模块、人体传感器模块组成,其中雨滴和火焰传感器可以直接采集雨水和火焰信息,Esp32接收到相关信息并处理后依据控制逻辑及时关窗并发出警报提醒用户。人体感应传感器包括HC-SR501人体感应传感器和HC-SR04超声波测距模块,当有小孩靠近小于安全距离时,会及时关闭窗户并发出警报[6]。

2.3  报警模块

报警模块可以通过单片机连接蜂鸣器实现,蜂鸣器电路如图3所示,用NPN三极管(S8050)驱动,其中R67电阻用于防止蜂鸣器的误发声。

2.4  驱动模块

驱动模块由直流推杆电机和L298N驱动板组成,12 V电源给驱动板供电,驱动板5 V输出口给主控ESP32单片机供电,该驱动板可以驱动2路直流电机,推杆电机的两个引脚连接到L298N的OUT1、OUT2口,在使能端ENA高电平时有效。通过推杆电机的伸缩可以实现窗户的开关功能,控制原理及推杆电机状态如表1所示。

2.5  Wi-Fi模块

Wi-Fi模块采用Esp32的STA模式,在Arduino IDE集成开发环境下,把Esp32设置为一个站点接入路由器,同时客户端通过手机或者电脑连接路由器,整体模式如图4所示。

在浏览器登录Esp32创建的HTTP服务器的IP地址,登录网站后如图5所示,客户端可以实现开窗、关窗的功能,以及通过停止键控制开关窗户的程度。

3  软件设计

3.1  系统程序设计

打开总电源后,若电源指示灯呈红色闪烁状态,则提示用户充电后使用;若电量充足,电源指示灯呈现绿色常亮状态。系统初始化,Esp32模块自动连接家庭Wi-Fi。初始化完成后,开始检测用户是否发出开关指令,在此期间,所有传感器停止工作;若用户未发出指令,但检测到火焰信号时,执行关窗命令发出警报[7];接着通过人体感应功能来防止孩童靠近从高空坠落;最后一步再去实现下雨关窗的功能[8]。智能窗户工作系统控制流程如图6所示。

3.2  人体方位识别模块的设计

本文使用HC-SR501人体感应传感器和HC-SR04超声波传感器搭配工作。当HC-SR501接收到高电平信号时,启用超声波传感器测量人与窗户口的具体距离,当距离小于安全距离(50 cm)时,关上窗户并发出警报。实现流程如图7所示。

3.2.1  HC-SR501人体感应传感器

人体感应模块是基于红外线技术的控制产品,其特点是可重复触发,在感应到人靠近输出高电平后,会有一段延时,在这个时间段内如果有人在感应范围内活动,将继续保持高电平,直到人离开后才延时变为低电平。这项特点保证了小孩在靠近窗户时,检测的可靠性,同时本智能窗在三个方向上装置了HC-SR501,在很大程度上提供了安全保障。

3.2.2  HC-SR04超声波传感器

基本原理:TRIG引脚负责发送超聲波脉冲串。此引脚应设置为高电平10μs,此时HC-SR04将以40 kHz发出8个周期的声波脉冲。发出声波爆发后,ECHO引脚将变为高电平。ECHO引脚是数据引脚用于进行距离测量。发送超声波脉冲串后,ECHO引脚将变为高电平,它将保持高电平,直到检测到超声波脉冲串为止,此时它将变为低电平。

只要测出ECHO引脚从拉高到拉低的时间就可以知道距离了。

计算公式如下:

因为超声波发送出去和回来是测量距离的两倍,已知声速是346 m/s(空气温度25 ℃)。假设测量距离为L(m),ECHO引脚从拉高到拉低的时间为T(T一般由控制器的定时器得出,单位为μs)可得方程如下:

2L=346 · T · 10-6

整理得出:

T · 173 · 10-6=L(m)

进一步得出:

L(cm)=T · 0.017 3

取:

0.017 2≈1/58.0

所以最终得出:

L(cm)=T/58.0

3.3  Wi-Fi联网控制的实现

本文定义服务器端口号为80,服务器对象实例为server。在Arduino IDE环境下,用Esp32创建HTTP服务,本文采用HTTP的请求方法是GET,客户端向服务端发送数据请求。为对驱动模块进行网页的按键控制,本文定义Windows回调函数,把客户端请求的数值返回赋给state,进行判断,如果state==“on”则打开窗户,state==“off”则关闭窗户,state==“stop”则电机停止转动。部分代码如图8所示。

4  结  论

本文设计的智能窗户,面向广大的上班族,具有操作简单、功能丰富实用等优点。上班族只需要在出门时打开电源开关,就可以在一天中,安心忙于工作,不用担心天气和安全隐患了。这样一个智能化的产品是当今物联网时代的必然产物,对于提高生活质量和安全保障方面有着极其重要的意义,必将受到社会的广泛认可,具有广阔的市场潜力。

参考文献:

[1] 浦灵敏,季爱明.基于STC89C52单片机智能窗户控制系统的设计 [J].中国科技信息,2011(10):150-151.

[2] 王佳宇,秦磊,钱网,等.基于单片机的智能窗户控制系统的设计 [J].物联网技术,2018,8(5):45-47.

[3] 杨锦辉,王开心,黄艾璇,等.基于物联网的智能窗户系统设计实现 [J].物联网技术,2020,10(4):76-79.

[4] 倪青青,周源源.基于AT89S52单片机的智能窗户的设计 [J].科技视界,2015(18):115-116.

[5] 胡钰,杨应洪,刘欣,等.基于STM32智能窗户的设计与实现 [J].机械工程与自动化,2019(2):105-106+109.

[6] 秦嘉嵘,陈云龙.基于单片机的智能窗户控制系统的设计与实现 [J].中国市场,2015(33):60-61.

[7] 贺道坤,段向军.用于环境检测的智能窗户装置研究 [J].工业安全与环保,2014,40(10):66-67.

[8] 饶斐,张广明.基于CAN总线智能窗户系统的设计实现 [J].微计算机信息,2007(16):248-249+276.

作者简介:高伟杰(2000—),男,汉族,江苏泰州人,本科在读,研究方向:单片机智能控制、物联网技术。B2E4DCE8-F4BA-4326-AEF4-D3D14658842B

猜你喜欢
远程控制单片机
单片机在智能控制中的应用
水冷发射机冷却系统故障分析及解决方案
基于GSM的远程控制系统
C8051F020与80C51单片机的异同点
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器