基于单片机的智能安防系统设计(32+4G+WIFI版)-设计说明书

设计摘要:

本设计基于STM32单片机,旨在实现一个智能安防系统,主要包括烟雾和温度传感器、人体红外传感器、显示屏、按键、4G模块和WiFi模块等组件。通过这些组件的协作,实现了火灾检测、入侵监测、状态显示、用户交互和远程通信等功能。该系统首先通过烟雾和温度传感器实时监测环境中的火灾情况。一旦检测到烟雾浓度超过设定的阈值或温度异常升高,系统将判断为可能发生火灾,并进行相应的报警措施。同时,当系统处于安防状态时,若检测到有人进入,则触发报警。系统通过显示屏直观地展示当前的温度、烟雾浓度和系统状态,使用户可以随时了解环境状况。用户可以通过按键进行交互操作,设置安防状态、设置温度和烟雾浓度阈值等参数,以便根据实际需求进行调整。此外,系统还配备了4G模块和WiFi模块,实现了远程通信功能。当系统检测到火灾或有人进入时,通过4G模块可以向用户发送短信报警,提醒用户及时采取行动。同时,WiFi模块可连接手机,通过手机实现对系统的监控,用户可以随时远程查看环境状态及触发报警。

综上所述,该智能安防系统结合了烟雾和温度传感器、人体红外传感器等多种传感器,通过STM32单片机的控制,实现了火灾检测、入侵监测、状态显示、用户交互和远程通信等功能。该系统的设计旨在提供一个全面、便捷而实用的安防解决方案,以保障用户的安全。

关键词:单片机;智能安防;阈值报警

内容预览:

摘 要

ABSTRACT

1 引 言

1.1 选题背景及实际意义

1.2 国内外研究现状

1.3 课题主要内容

2 系统设计方案

2.1 系统整体方案

2.2 单片机的选择

2.3 电源供电的选择

2.4 显示方案的选择

2.5 温度检测方案的选择

3系统设计与分析

3.1 整体系统设计分析

3.2 MQ-2烟雾传感器

3.3 液晶屏显示模块

3.4 DS18B20传感器检测温度模块

4 系统程序设计

4.1 编程软件介绍

4.2 主程序流程设计

4.3 按键函数流程设计

4.4 显示函数流程设计

4.5 处理函数流程设计

5 实物调试

5.1 电路焊接总图

5.2 温度检测实物测试

5.3 设置温度和烟雾阈值实物测试

5.4 自动报警实物测试

6 仿真调试

6.1仿真总体设计

6.2显示检测测试

6.3设置阈值测试

6.4手动切换安防状态测试

6.5安防报警测试

结  论

参考文献

致  谢

1 引 言

1.1 选题背景及实际意义

智能安防系统作为一种新兴的安全保障技术,正在逐渐受到人们的关注和重视。随着社会的发展和人们对安全的需求不断增加,首先,当前社会安全形势日益严峻,火灾和入侵事件频频发生,给人们的生命财产安全带来了巨大的威胁。传统的安防系统存在着响应速度慢、报警信息传递不及时等问题,无法满足实时监控和快速响应的需求。因此,开发一种智能安防系统,能够准确、快速地检测到火灾和人员入侵,及时采取相应的措施,对于提升安全防护能力具有重要意义。其次,基于STM32单片机的智能安防系统具有较高的可靠性和灵活性,能够实现多种功能的集成。传感器的应用可以实时监测环境的温度、烟雾浓度和人员的存在,通过4G模块和WiFi连接手机,实现远程监控和及时的信息传递。这种智能安障服务。此外,基于STM32单片机的智能安防系统还具有较低的成本和较小的体积。相比传统的安防系统,该系统采用单片机作为核心控制器,具有较高的集成度和较低的功耗,能够更好地满足用户对于成本和空间的要求。这对于大规模应用于住宅、商业场所和公共场所等各种场景具有重要意义。

最后,设计基于STM32单片机的智能安防系统的目的是为了提高人们的生活质量和安全感。通过智能化的安防系统,可以实现对火灾和入侵等安全隐患的及时预警和处理,减少人员伤亡和财产损失。同时,该系统还可以通过手机实现远程监控和控制,方便用户随时随地获取安全信息,提高用户的便利性和舒适度。

1.2 国内外研究现状

在国内,智能安防系统的发展也取得了显著的进展。中国的物联网技术和人工智能技术发展迅速,为智能安防系统的创新和应用提供了良好的技术基础。国内的企业和研究机构积极投入到智能安防领域的研发和应用中,推出了一系列具有自主知识产权的智能安防产品。例如,海康威视、大华股份等公司在视频监控领域具有较高的市场份额和技术实力,其产品在国内外市场上都享有较高的声誉。此外,国内的高校和科研机构也在智能安防技术方面取得了一些重要的研究成果,为智能安防系统的发展提供了技术支持。

寇为刚,郑克诚(2018)研究了基于STM32单片机的智能家庭安防系统,其采用STM32F103ZET6单片机作为核心控制单元,对室内的温湿度,光照强度,空气质量进行实时采样,根据设定的阈值,控制电器驱动模块确保室内空气环境清新干净;对非法入侵,可燃气体泄漏等不安全问题及时通过远程通信模块通知住户并及时自动报警,实现家庭安全防盗报警[1]。

乔凌霄,张佳琦等(2019)设计了一种基于单片机的智能安防报警系统.该设计由硬件电路设计和软件设计两大块组成.硬件电路由状态指示灯,单片机STC89C52最小系统,蜂鸣器报警模块和DYP-ME003人体红外传感器模块组成.软件设计由单片机C语言软件开发系统Keil进行程序编写,对其系统进行优化,实现了实时监控,现场远程报警等功能.对系统进行了测试,结果表明,系统工作稳定可靠,对居家环境能进行有效监控和报警,具有误报率低,操作简单,易于实现的优点[2]。

为进一步提高安防系统的实用性,提高用户的使用感受,郭向东(2022)在门禁模块,引入人脸检测模块对人脸识别系统进行优化改进,以提高人脸识别的速率和精准度;在系统结构部分,将系统设计为可扩展和拆分的结构,以适应更多用户的防火防盗报警需求.经过软硬件设计,安装布局设计,获得智能防火防盗报警系统具有较高的人脸识别速率精度,扩展性.最后,通过仿真验证该系统的运行性能.仿真结果证明,该智能防火防盗报警系统能够实现人脸识别,在环境出现异常时,能够及时发送短信通知用户,且能够控制电器对异常状况作出初步控制[3]。

在国外,智能安防系统已经成为许多国家和地区的重点研究领域。美国、德国、日本等发达国家在智能安防技术方面处于领先地位。这些国家的企业和研究机构在智能安防领的亚马逊和谷歌等科技巨头推出了智能家居安防系统,通过人工智能和云计算技术实现对家庭安全的智能化管理。德国的西门子、ABB等公司在工业安防领域取得了重要突破,推出了一系列智能监控和报警设备。日本的松下、索尼等公司在视频监控和人脸识别技术方面具有较高的研发水平。

Rahman M R , Barai A , Bairagi A K ,et al(2019)简要介绍了一些先进的家庭安全系统,该系统使用辐射受激发射(LASER)探测器,烟雾探测器和伺服电机控制窗户的光放大,这些系统通过检测盗窃,火灾泄漏和控制窗户来取代传统的安全系统,使家庭安全不在家期间。他们所提出的系统比传统的安全更现代、更可靠[4]。

Souaihia M , Taleb R , Chakrar Z ,et al.(2020)家庭安全系统保护房主及其财产免受火灾或煤气泄漏等危害。但是,智能家居安全可以提供其他好处,例如提醒房主,以便他们可以验证问题。作为研究的一部分,我们选择设计和建造安全系统(致命的气体和消防)和家庭自动化(温度和“水”水平)。目的是自动调节房屋的温度和水位,并扑灭火灾和气体提取物。因此,PIC16F877A微控制器用于创建一个电子板,该板获取多传感器单元提供的数据,并相应地向执行器发出命令[5]。

与上述几种设计方案相比,该设计方案更加方便易懂,便于实际操作,价格低廉,在集成电路的选择上更易于使用和精巧。

1.3 课题主要内容

本设计基于单片机的智能安防系统,系统软件由STM32F03最小单片机,DS18B20测温控制模块,人体红外模块,烟雾传感器,4G模块和蜂鸣器,并具有功能键/WIFI控制模块一起形成。主要设计内容如下:

1、烟雾和温度传感器检测是否发生火灾

2、人体红外检测人员,当处于安防状态进行报警

3、显示屏显示温度、烟雾浓度和当前状态

4、可通过按键控制是否设置安防状态、设置温度和烟雾浓度阈值

5、当发生火灾时,或者检测到人时,通过4G发送短信给用户

6、可以通过WiFi连接手机并通过手机实现监控

本设计以STM32F103单片机为核心控制器,加上其他的模块一起组成基于单片机的智能安防的整个系统,其中包含中控部分、输入部分和输出部分。中控部分采用了STM32F103单片机,其主要作用是获取输入部分数据,经过内部处理,控制输出部分。输入由五部分组成,第一部分是DS18B20温度传感器,用于检测当前环境温度;第二部分是人体红外,用于检测是否有人;第三部分是MQ-2烟雾传感器,用于检测当前的烟雾浓度;第四部分是独立按键,用于切换界面、配网、设置烟雾、温度阈值以及设置布防和撤防状态。第五部分是供电电路,给整个系统供电。输出由四部分组成,第一部分是OLED显示屏,显示当前的温度值、烟雾浓度及其最大值等;第二部分是4G模块,连接手机当温度、烟雾值超过最高值,且安防下检测到人就会发送报警短信;第三部分是蜂鸣器,当撤防状态时检测到人或温度、烟雾浓度大于最大值时,则蜂鸣器进行报警;第四部分是继电器,用于控制风扇;最后一部分是WIFI模块,用于连接手机传送数据和控制安防状态和设置阈值等。

资料获取加q:1770799949

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/704768.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程期末复习(8)需求的表达方法和状态转换图

需求的表达方法 系统模型 需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统 “做什么” 的问题 通常软件开发项目是要实现目标系统的物理模型。目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而…

pytest教程-47-钩子函数-pytest_sessionfinish

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest_sessionstart钩子函数的使用方法,本小节我们讲解一下pytest_sessionfinish钩子函数的使用方法。 pytest_sessionfinish 钩子函数在 Pytest 测试会话结束时调用,…

Java入门基础学习笔记23——For循环结构

1、for循环: 控制一段代码反复执行很多次。 2、For循环语句的基本结构: for(初始化表达式;判断表达式;递增(递减)表达式) {循环体语句(重复执行的代码) } 例&#xff1…

大模型日报2024-05-15

大模型日报 2024-05-15 大模型资讯 OpenAI推出全新AI模型GPT-4o,具备文本、图像和音频处理能力 摘要: OpenAI公司继ChatGPT后,最新推出了名为GPT-4o的AI模型。这一模型不仅能够理解和生成文本,还新增了图像和音频的解释及生成功能。GPT-4o作为…

【前端】CSS基础(3)

文章目录 前言1. CSS常用元素属性1.1 字体属性1.1.1 字体1.1.2 字体大小1.1.3 字体颜色1.1.4 字体粗细1.1.5 文字样式 前言 这篇博客仅仅是对CSS的基本结构进行了一些说明,关于CSS的更多讲解以及HTML、Javascript部分的讲解可以关注一下下面的专栏,会持续…

原地去重问题和合并有序数组问题

原地去重问题 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。这是leetcode上的一道题 这里我们用…

【qt】一次性讲清楚日期和时间

时间日期 一.QTime类1.初始化2.获取当前时间3.获取 小时 分钟 秒 毫秒4.增加时间5.间隔时间6.字符串转时间7.时间转字符串 二.QDate类1.初始化2.获取当前日期3.设置日期4.获取 年 月 日5.各种小接口6.增加日期7.日期间隔8.字符串转日期9.日期转字符串 三.QDateTime类1.初始化2.…

【SpringBoot】解锁后端测试新境界:学习Mockito与MockMvc的单元测试魔法

文章目录 前言:Java常见的单元测试框架一.Junit5基础二.SpringBoot项目单元测试1.添加依赖2.SpringBoot单元测试标准结构3.SpringBoot单元测试常用注解 三.单元测试中如何注入依赖对象1.真实注入(AutoWired、 Resource)2.Mock注入2.1.前言2.2…

第十四届蓝桥杯大赛软件赛国赛C/C++ 大学 B 组 拼数字

//bfs只能过40%。 #include<bits/stdc.h> using namespace std; #define int long long int a,b,c,dp[2028]; struct s {int x,y,z;string m; }; map<vector<int>,int>k; signed main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>a…

不相交集合的数据结构

一、不相交集合的操作 不相交集合的数据结构维护了一组不相交动态集的集合 &#xff0c;用集合中的某个成员作为代表标识集合。 集合在没有修改的情况下每次访问代表得到的答案是相同的&#xff0c;此外在其它一些应用中&#xff0c;可能按照规定选择集合的代表&#xff0c;例如…

如何使用JMeter测试导入接口/导出接口?

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 今天上班&#xff0c;被开发问了一个问题&#xff1a;JM…

设计非递归算法,编程:在二叉排序树中,打印关键码a, b的公共祖先。注:例,若a是b的祖先,则a不算作公共祖先。反之亦然。

二叉排序树&#xff1a; 代码&#xff1a; #include <iostream> using namespace std;// 定义二叉树节点结构 typedef struct BTNode {char show;struct BTNode* left;struct BTNode* right; } BTNode;// 非递归插入节点的函数 BTNode* insertNode(BTNode* root, char k…