实现一个家庭安防与环境监测系统(一)

一、系统需求分析和总体设计👉

1.1 系统功能需求分析

(1)使用ESP8266连接温湿度传感器、烟雾传感器、火焰传感器、人体红外感应传感器、超声波测距传感器,对家庭环境进行实时采集,相关数据显示到屏幕上。
(2)ESP8266能够与云端建立连接,可以将数据实时上传到云端。
(3)能够对监测到的家庭环境异常信息及时快速的做出本地声光报警,对周边人们发出警示,并且能够在手机微信上的专门窗口远程的接收到家中实时报警信息。
(4)用户不用在家就能通过微信小程序端查看家庭中实时的环境状况以及门外视频监控的实时画面。

1.2 系统结构总体设计

系统整体架构图:

123333

图1 系统整体架构图

系统功能框图:
在这里插入图片描述

图2 系统功能框图

    该系统的总体目标是采用ESP8266-NodeMCU控制核心通过传感器采集所需要的环境数据,经网络将MCU采集到的数据上传到云端服务器,家庭人员能够通过微信小程序端实时监测家庭内部环境状况以及门外实时视频监控图像。MCU能够及时的感知到家庭内部的安防预警信息,并进行声光报警以及在用户微信的安防消息接收窗口能够及时的收到突发的预警消息。形成一个实时性好、部署简单、低成本的家庭安防与环境监测系统。

二、系统的硬件设计👇

2.1系统硬件总体设计

    在本系统中的硬件部分主要包括两大部分,一是数据采集部分,二是家庭安防部分。其中数据采集是本次系统中很重要的部分,它的主要作用是为了采集环境中环境参数;家庭安防部分,该部分主要作用是对家庭的一些危险状况进行报警以及家庭门外视频监控的远程查看。
    数据采集模块主要是是对家庭当中的环境数据进行采集,采集的数据主要包括温湿度、可燃气烟雾浓度、房门与超声波测距传感器距离、火焰、人体红外,可以对家庭环境的安全状况进行实时的监测。整个硬件的控制核心是ESP8266控制器,由于ESP8266本身就兼具数据处理和WiFi无线功能,所以ESP8266连接WiFi后能够实现将采集到的传感器数据进行实时上传到云端。
    家庭安防模块中通过蜂鸣器和LED灯这两个硬件进行本地声光报警,还通过微信通知的方式进行报警消息的实时推送;实现远程视频监控的硬件是ESP32-CAM模块,该模块包括一个OV2640摄像头,在整个系统中并没有和ESP8266开发板有硬件上的直接连接,仅ESP32-CAM开发板和一个摄像头模组就构成了远程监控的硬件部分。
    在硬件设计中还包括了一个OLED显示屏,该显示屏主要是为了对采集到的环境数据和部分报警信息进行显示。家庭安防与环境监测的硬件结构框图如图 3 所示。
在这里插入图片描述

图3 家庭安防与环境检测系统硬件结构框图

2.2 主控芯片的选型及介绍

    本系统的控制核心是ESP8266芯片,为了开发方便,使用ESP8266-NodeMCU开发板作为系统的控制板,系统中还使用了ESP32-CAM模块作为远程监控的摄像头模组,ESP32-CAM模块的核心是ESP32芯片。其中ESP8266-NodeMCU负责家庭环境数据的采集与上传、声光报警和OLED屏幕显示,ESP32-CAM开发板主要负责远程监控功能的实现。

2.2.1 ESP8266-NodeMCU开发板

    ESP8266-NodeMCU开发板的主控芯片是ESP8266。它是32位的微型MCU,并带有16位精简模式,主频支持80 MHz和160MHz,集成了WiFi功能。
    ESP8266处理器加上WiFi天线等组成了ESP12-F WiFi模块,ESP8266-NodeMCU开发板就是在ESP12-F WiFi模块基础上进行扩展的。ESP8266可通过GPIO口连接传感器及其他应用的特定设备,这依赖于其强大的存储能力和片上处理能力,大大地降低了前期开发的成本。ESP-12F WiFi模块的原理图如图 4 所示:
在这里插入图片描述

图4 ESP-12F原理图

    ESP8266-NodeMCU是一个开源的IoT物联网开发板,由于它支持WIFI功能且与Arduino开发板的使用方法非常类似,可以直接使用Arduino IDE软件进行开发,大大简化了开发流程。本次课题设计从大的方面来说是一个物联网的项目,使用ESP8266-NodeMCU开发板的成本不高,比树莓派以及Arduino家族的IoT平台等更具优势。

ESP8266-NodeMCU引脚图:
在这里插入图片描述

图5 ESP8266-NodeMCU引脚图

2.2.2 ESP32-CAM模块

    由于摄像头的数据流超出了ESP8266微控制器的运算能力,所以本系统的视频监控功能采用ESP32-CAM模块来完成。该模块是安信可公司推出的小型摄像头模组。
在这里插入图片描述

图6 ESP32-CAM外观图

ESP32-CAM主要特性:

  • 采用32位低功耗双核CPU
  • 主频最高能够达到240MHz,运算能力最高能够达到600 DMIPS
  • 外置有8MB PSRAM,内置有520KB SRAM
  • 支持的接口类型有SPI/UART/PWM/ADC/I2C/DAC
  • 支持的摄像头类型有OV2640和OV7670
  • 支持TF卡
  • 支持STA/AP/STA+AP工作模式
  • 支持Smart Config/AirKiss一键配网,等等…

2.3 传感器选型及控制介绍

2.3.1 温湿度传感器

方案一:
    选择DS18B20温度传感器,体积较小,在空间狭小的的设备中有较多应用。微处理器与DS18B20温度传感器可实现双向通讯且传感器与MCU连接时仅需要一条IO线,测量结果以9-12为数字量方式串行传送。但由于它只能检测温度,功能单一,所以不采用此方案。
方案二:
    选择DHT11传感器,该传感器是一款已校准数字信号输出的传感器,只占用一个IO口,方便编程,重要的是节省MCU的IO资源。DHT11内部有电阻式感湿元件和NTC测温元件,结合温湿度传感技术和专用的数字模块采集技术,使其可靠性与稳定性得到大大的提高,它对测量数据已经进行了完全校准,可以直接数字输出。自身的4个引脚即可实现供电和数据传输而无需额外的部件连接,还有功耗低、性价比高的特点。
    从多方面考虑,选用DHT11作为测量环境温度和湿度的传感器比较合适。

DHT11温湿度传感器相关参数如下表3.1所示:

类型参数
工作电压3.3V-5V
温度测量范围-20℃~+60℃
温度测量误差±2℃
湿度测量范围20% ~ 95%(0~50℃)
湿度测量误差±5%

DHT11温湿度传感器模块实物图如图 7 所示,内部的电路原理图如图 8 所示:

在这里插入图片描述

图7 DHT11实物图

在这里插入图片描述

图8 DHT11模块内部电路图

    从原理图中看出DHT11传感器与MCU的连接方法:1引脚与VCC接,2引脚接DATA,3引脚为NC引脚,悬空,4引脚接GND,在电源和DATA引脚之间加一个上拉电阻提高稳定性。在此次设计中将DHT11传感器模块的DATA引脚连接ESP8266-NodeMCU的D0(GPIO16)引脚进行数据的传输。

3.3.2 火焰传感器

在这里插入图片描述

图9 火焰传感器实物图

在这里插入图片描述

图10 火焰传感器原理图

选用的火焰传感器实物图如上图9所示。原理图如图10所示
该传感器的主要参数如下:

  • 能够检测的火焰波长范围为760纳米~1100纳米
  • 探测角度60度左右
  • 对于灵敏度可以调节
  • 工作电压为3.3~5V
  • 以数字开关量(0或1)输出

    在此次设计中将火焰传感器模块的D0引脚连接ESP8266-NodeMCU的D3(GPIO0)引脚进行数据的传输,通过D0引脚输出的电平高低来判断是否检测到火焰。

2.3.3 烟雾传感器

    在现代家居生活中,天然气等可燃气体很大程度上方便了人们的生活,如果一旦发生泄漏可能会带来严重的危害。这些泄露的气体若再遇到明火,就会产生火灾爆炸等可怕的后果。为了检测家庭中的可燃气是否泄露,选择MQ-2烟雾传感器检测家庭环境中天然气烟雾浓度,对家庭室内安全的保障具有重要意义。
在这里插入图片描述

图11MQ-2烟雾传感器实物图

    MQ-2型气体传感器采用二氧化锡(SnO2)作为可燃气气敏材料,二氧化锡在洁净的空气中具有较小的导电性,在接触到易燃性气体时,其导电性与空气中的可燃性气体浓度呈正相关关系,随着烟气浓度和导电性的增大,其输出值也会随之增大。MQ-2型气体传感器对液化气、烷烃、氢气等可燃气体的敏感性高,能有效地探测到周围空气中弥漫的可燃气体,具有很好的抗干扰性。该传感器具有测量各种易燃气体的能力,是一种低成本的传感器,适用于多种场合。

MQ-2传感器参数:

类型参数
检测气体可燃气体、烟雾
工作电压2.5V-5V
加热功率≤900mW
探测范围3000-10000ppm

    在安全情况下,家庭中的烟雾浓度是维持在一个正常的数值范围,因此,可以对家庭中的烟雾浓度设定一个上限值,当MQ-2烟雾传感器检测到的烟雾浓度超过了这个上限值,则会触发报警系统的工作,向人们传达对应的报警信息。

MQ-2模块的原理图如下图12:
在这里插入图片描述

图12 MQ-2原理图

    在这个系统中,MQ-2气体传感器的使用中只用到了三个引脚,VCC接电源正极,GND接地,模拟接口AOUT接ESP8266的A0接口。ESP8266-NodeMCU通过读取MQ-2模拟口的数值大小来判断家中的天然气是否泄露。

2.3.4 人体红外传感器

在这里插入图片描述

图13HC-SR312实物图

    为了防止入室盗窃,采用热释电红外传感器进行监测,热释电红外传感器具有较高的性价比,灵敏且抗干扰,可以有效的提示人们检测到附近有人,能够起到家庭防盗的作用。
    结合在本设计中选用的ESP8266-NodeMCU输出电压为3.3V,选用在该电压下能够正常工作的热释电红外传感器,HC-SR312人体感应模块符合这一要求,图3.11为其实物图。该模块能实现自动感应,当有人进入感应区域时HC-SR312的输出引脚输出高电平,离开感应区间或感应区域内无人进入时输出低电平。

HC-SR312人体感应模块参数列表:

类型参数
工作电压2.7-12V
延时时间2秒
封锁时间2秒
触发方式可重复
感应范围≤ 100度锥角,3-5米
工作温度-20℃~+60℃
外形尺寸10mm×8mm

功能特点:

(1)具有良好的抗干扰性能。它的内部是由数字信号进行处理的,可以将高、低的电平直接从外部输出;
(2)可重复触发方式。感应到人体活动输出高电平后,在一定的延时时间段内,如果还有其的感知范围之内活动,那么它的输出就会一直维持在高电平,直到人离开感应范围且延时结束,才会变成低电平。

    在此次设计中将HC-SR312人体感应模块的OUT引脚连接ESP8266-NodeMCU的D5(GPIO14)引脚进行数据的传输。与前面的火焰传感器检测火焰方法一样,通过判断OUT引脚的电平高低来判断当前感应区域内是否有人活动。

2.3.5 超声波测距传感模块

在本次系统设计中选用的超声波测距传感器型号为HC-SR04,实物图如图14 所示。

在这里插入图片描述

图14 超声波测距传感器实物图

在这里插入图片描述

图15 HC-SR04原理图

工作原理:
(1)采用10us的高电平信号触发测距;
(2)该模块对外发出超声波,并能自动探测到有无回波;
(3)检测到有超声波信号弹回,会立即通过I/O引脚输出高电平,超声波从发射到返回的时间就是高电平所持续的时间。测试距离=(高电平时间*声速(340M/S))/2。

工作参数:

  • 工作电压:3.3V-5V
  • 静态电流:小于2mA
  • 探测角度:不大于15°
  • 探测距离:2cm-450cm
  • 最高精度:可达0.3cm
  • 工作温度:-20℃~80℃

2.4 显示模块的选型及控制介绍

    在电子设计领域,显示屏常用来进行对数据和重要消息的显示。常见的屏幕显示有LED数码管显示,OLED显示和TFT-LCD屏显示,在此进行一个简要的分析:
(1)LED数码管显示
    LED数码管只能显示出数字或者字符,并且占用的I/O资源偏多,不能显示出我们想要的汉字或图片等。
(2)TFT-LCD屏
    TFT-LCD为市面上主流的显示屏,这类屏幕能够支持较高位数的色深,还可以支持RGB彩色模式,有的还可以支持触摸,功能齐全。所有的设计需求在TFT-LCD屏上均可以实现课题要求,但是考虑到功耗及大小外观等因素,不如功耗更低且小巧轻便的OLED屏更适合此次的设计。
(3)OLED屏显示
在这里插入图片描述

图16 OLED显示屏实物图

    市面上比较主流的OLED屏为0.96寸的OLED显示屏(如图16)和1.3寸的OLED显示屏,这种显示屏采用的是有机二极管发光原理,所需的材料少,可以耐低温,功耗低等,这两款OLED屏均能满足显示图片、汉字、英文及其他字符,分辨率也是能够达到需求的,屏幕界面风格简单,小巧轻便,非常适合作为本次课题的显示模块。

其原理图如下图17所示:
在这里插入图片描述

图17 OLED屏原理图

    OLED的SCL和SDA引脚分别连接ESP8266-NodeMCU的D1(GPIO5)和D2(GPIO4)引脚,进行IIC通信。

2.5 声光报警硬件设计

    (1)蜂鸣器作为一种电子设计中常用的发声元件,广泛应用于电子设备当中。在本次课题系统设计中,蜂鸣器主要是用来进行对相关的异常进行声音报警。蜂鸣器主要有两种类型,一种是有源蜂鸣器,另一种是无源蜂鸣器。
    有源蜂鸣器内部带有震荡源,只需通入直流电就可使其发声;无源蜂鸣器内部不带有震荡源,直流不能使其发声,需要PWM驱动发声。


在这里插入图片描述

图18 蜂鸣器实物图

在这里插入图片描述

图19 蜂鸣器原理图

    在程序不过于复杂又能达到声音报警效果的前提下,选择有源蜂鸣器作为此次设计中的报警器比较合适。其I/O引脚连接ESP8266-NodeMCU的D6(GPIO12)引脚,对其写入低电平即可发声。
    (2)声光报警的光部分选用红色LED作为发光源。只需在需要报警时对其通电即可。

2.6 PCB绘制

2.6.1 原理图绘制

在这里插入图片描述

图20 ESP8266扩展版的原理图

2.6.2 PCB制作

    结合原理图在立创EDA软件中进行PCB设计,各个元件之间的线路连接如下图21所示。
在这里插入图片描述

图21 PCB内部线路

设置泪滴及铺铜:
在这里插入图片描述

图22 正面铺铜

在这里插入图片描述

图23 反面铺铜

PCB设计完后的3D预览图:
在这里插入图片描述

图24 PCB 3D预览图

三、系统的软件设计👌

转链接:点击跳转 🤫🎈👻

  • 11
    点赞
  • 139
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
在上一期的免费项目:高性价比WIFI图传方案快速入门教程的介绍中,详细地介绍了ESP32-CAM模块的简单使用 ,其裁剪了官方图传和人脸识别的代码改造成简单的图传代码,由官方四个文件的代码缩减成一个文件的代码。目的就是让买家能快速上手这个源码。让这个源码复杂度降低很多,利于阅读和学习。 在这一期的免费项目:修改了上一期的项目的源码,实现嵌入式web server功能实现远程浏览器WIFI点灯的操作(PIN4的IO口集成了闪光灯LED,所以不用外接灯了,亮瞎眼的亮度),实现了将服务器嵌入到单片机,单片机wifi联网之后,局域网访问单片机主页(通过串口打印的网址)就可以在网页里面控制开发板的灯,该设计是ESP32-CAM物联网应用的一个巨大的尝试,本人浪费生命值写了两天代码,踩了很多坑,也学到很多,写了一共三个版本的代码,此版本的代码是最便宜的一个版本,呵呵,不会接线和操作的看上期的项目即可,这里不再重复说明了,重要的事情说一遍:我有收费版的代码,服务更周到。 下面请看模块运行效果图: 下面是实物图: 模块的原理图: 电脑接上串口CH340,CH340接上ESP32-CAM之后,打开串口调试助手,调试效果如下: 服务器返回消息: 真源码截图(绝对给力): 项目总结:这次是利用ESP32-CAM模块对物联网应用的一次巨大的尝试,在电路城目前好像还没有相关的教程,在B站虽然有类似的项目,但是根本没有源码,也没有教程,而且功能没有我这个那么强大,因为我这个嵌入式服务器是有反馈的,而且支持网页手动输入指令,开灯或者关灯指令发送之后服务器会给客户端一个响应的,代码都是自己手工完成的,也借鉴过很多相关的项目。只要掌握这个嵌入式服务器远程点灯的项目,那么其他类似的设计就可以举一反三了。需要注意的是这个版本的代码是没有任何注释的,代码冗余度也很大,收费版的代码更加精简和加入详细注释(最关键)和调试代码。如下所示: 后期的的项目会涉及到图像处理(颜色识别,人脸检测,人脸识别,颜色跟踪,智能小车,手机app客户端控制,云平台语音识别,云平台图像识别等等,私有云图像处理,私有云监控搭建)全部原创开源,敬请期待。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sunqk5665

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值