电子信息工程自动化 基于单片机的居室安全报警系统

摘要

本课题设计了基于STM32F103C6T6单片机为主控核心的居室安全报警系统。为了解决家庭居室的安全监控,通过温湿度芯片SHT30、烟雾传感器MQ-2、天然气传感器MQ-4来获取居室的温湿度、烟雾、天然气含量,使用了一个热释电传感器、菲涅耳透镜、红外传感信号处理器等元件组成的HC-SR501传感器检测是否有人。居室内通过LED灯与蜂鸣器实现室内报警,远端通过ESP8266并结合机智云平台实现手机APP的远程报警,并借助能够发送短信的GSM模块(SIM800L)实现短信途径辅助报警,在居室可以直接观察数据,通过OLED查看环境变量,远端可以通过手机APP查看环境变量及设置相关报警参数。

关键词:GSM模块;STM32F103C6T6;ESP8266;机智云

系统的硬件设计

2.1 硬件总体设计方案
硬件部分由STM32F103C6T6单片机作为主控芯片,围绕着主控芯片模块,我们根据要求选取功能更强,兼容性更好的模块来实现功能,采用模块化设计的硬件系统。整体硬件框图如图2-1所示。
在这里插入图片描述

图2-1硬件框图

烟雾与天然气检测电路设计

在居室安全报警系统设计中,我们采用了型号为MQ-2的烟雾传感器,这款传感器使用的是二氧化锡(SnO2),这款气敏型的材料在污染程度低的空气中,具有很好的绝缘性。当在所检测的环境中,存在可燃的气体时,这款传感器的电导率也会随之增大,并且成正比例。在系统设计中,采用这款模块可以很好的满足对烟雾浓度测量功能,当传感器检测到烟雾浓度时,就会将传感器内的电导率信号变化转换为与测量浓度有关的信号MQ-2气体传感器对烟雾的灵敏度高,MQ-4气体传感器对甲烷灵敏度高。
MQ系列传感器在电路设计中,原理一致。H、H是加热电极,通电后会使中间过电流的部分加热。有对应的检测气体出现,电阻变化。根据这个原理,测量居室中烟雾及天然气浓度的大小。
在这里插入图片描述

图2烟雾与天然气电路

系统软件设计

3.1 软件系统整体设计
在开发软件时,基于模块化设计的概念,同时考虑每个模块功能之间的总体协调。系统软件分化为多个子程序,每个子程序基本上对应于硬件模块。
在进行软件系统的开发设计时,保证系统整体化的同时,逐级来实现所需要的功能,基于主控系统的数据处理,采用模块化编程。把系统的要求进行细分,保证每个部分的功能实现,有个整体的主程序流程,在主程序下还有子级程序,由每一部分的子程序将总体的功能实现,这样就由一系列功能单元组成了此次设计的系统。这种设计方式也会减少程序复杂度,使得后期修改程序时,能直观明了看懂编写的程序。
本系统功能模块包括多个功能模块,主要包括:温湿度传感器模块、烟雾传感器模块、天然气传感器模块、声光报警模块、GSM模块、按键模块、显示屏模块等。具体的功能设计如图3-1。

在这里插入图片描述

图3-1软件框架图

系统调试

4.1 硬件系统调试
进行完硬件的选购后,开始用Altium Designer软件绘制原理图。检查没有问题后,继续用该软件绘制出PCB进行板子的制作。经过5天的等待,收到中国PCB工厂制作好的PCB。下一步就可以进行焊接元器件,测试各功能模块的硬件是否正常供电,线路是否正常联通,有无短接情况。将PCB板与电子元件焊接完成后进行通电测试。

在这里插入图片描述

图4-1硬件上电图
上图展示了实物打开电源开关的上电状态,LED灯正常工作。
4.2 软件系统调试
4.2.1 程序的烧写
硬件正常运行,必须有软件的支持,烧写程序是编程的第一步。Kei软件的MDK版本提供了STM32系列单片机的程序烧写功能。下载器可以选择J-Link或者ST-Link,本设计采用STM官方的ST-Link下载程序。
首先配置好Keil的下载器选择。
在这里插入图片描述

图4-2烧写软件配置图

总结

通过此次课程设计,我重新认识到了自学对我的重要性,以及学以致用的道理。同时也认识到了图书馆的重要作用。该课题的主要任务是开发一个以STM32F103单片机为核心的居室安全报警系统,在设计上有硬件设计,和软件设计。硬件设计就是选择合适的元器件和绘制原理图与PCB,在会画PCB过程中要确保连线的空隙,线的宽度,元件的构造,不仅要实现功能,还要将PCB设计的雅观。软件采用了运行速度最快的C语言,用来对实现本设计的要求。
通过实验证明本次设计符合设计的要求,能实现对句是安全的控制,功能性较强,具有一定的实践意义,将会在许多局面应用。。

参考文献

[1]清华同方.e—Home数字家园:科技创造新生活[J].电子与金系列工程信息,2000(8):4…
[2]钟丽静,苏海容,冯承文.海尔U-home数字家庭系统[J].数字社区&智能家居,2007(7):4.
[3] Kastner W, Tumfart W. Remote control of EIB systems based on virtual shared group objects[C] //4th IEEE International Workshop on Factory Communication Systems. IEEE, 2002: 63-70.
[4] Robles R J, Kim T. Applications, systems and methods in smart home technology: A[J]. Int. Journal of Advanced Science And Technology, 2010, 15: 37-48.
[5] Maswadi K, Ghani N B A, Hamid S B. Systematic literature review of smart home monitoring technologies based on IoT for the elderly[J]. IEEE Access, 2020, 8: 92244-92261.
[6]李海兵.智能住宅报警集控系统单片机设计[J].科技展望,2017(04):19.
[7]丁燕.基于单片机的防盗报警系统设计分析[J].电子制作,2016(22):37.
[8]石江.基于无线传感器的家庭防盗报警系统[J],中国科技投资,2016(27):25.
[9]余金栋.基于单片机与GSM的实用型安防报警系统的设计[J].微型机与应用,2017(03):6-8.
[0]刘丰年.基于单片机的实时监控报警系统的设计与实现[J].通信技术,207(0):3-34.
[11]李贤威.智能火灾报警系统的设计与实现[J].医疗卫生装备,2017(12):33-36.
[12]孙菁.基于GSM模块的家庭防盗报警系统设计[J].山西科技,2016(04):12-14.
[13]杨冬英.激光报警器系统的设计与实现[J].电脑开发与应用,2017(11):12-14.
[14]王北镇.无线网技术的区域家庭防盗报警系统[],单片机与嵌入式系统应用,2016(03):12-15.
[15]刘海峰.基于STM32单片机的智能家居控制系统设计以及实现研究[J].技术与市场,2017,24(9):2.
[16]李瑞琦,刘璐,李宇翔等.基于STM32F103单片机的甲醛检测报警仪设计[J].机电信息,2019(32):2.
[17]王大雷,姚积欢,王楠等.基于STM32与GSM的家庭智能防火防盗报警系统设计[J].2021(2016-7):106-108.[18]杨社鼎.STM32单片机在智能家居上的应用[J].南国博览,2019(3):1.
[19]肖素华.基于STM32的智能家居管理系统的研究与设计[J].2020.
[20]田园,田敖硕.基于STM32的智能家居报警系统设计[J].工业控制计算机,2021,34(10):2.

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

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

相关文章

【vue3 for beginner】Pinia基本用法:存储user的信息

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 Pinia 简介 Pinia 是一个用于 Vue.js 应用的状态管理库,是 Vuex 的…

使用Goland对6.5840项目进行go build出现异常

使用Goland对6.5840项目进行go build出现异常 Lab地址: https://pdos.csail.mit.edu/6.824/labs/lab-mr.html项目地址: git://g.csail.mit.edu/6.5840-golabs-2024 6.5840运行环境: mac系统 goland git clone git://g.csail.mit.edu/6.5840-golabs-2024 6.5840 cd 6.5840/src…

C#设计模式--状态模式(State Pattern)

状态模式是一种行为设计模式,它允许对象在其内部状态发生变化时改变其行为。这种模式的核心思想是将状态封装在独立的对象中,而不是将状态逻辑散布在整个程序中。 用途 简化复杂的条件逻辑:通过将不同的状态封装在不同的类中,可…

nginx 自启动失败:Failed to parse PID from file: Invalid argument

记一次nginx自启动配置的问题 我的配置如下: [Unit] DescriptionA high performance web server and a reverse proxy server Afternetwork.target[Service] Typeforking PIDFile/home/u24/nginx/pid/nginx.pid ExecStartPre/home/u24/nginx/sbin/nginx -t -q -g d…

React基础知识四 Hooks

什么是hooks? (coderwhy) hooks是react 16.8(2019年)出的新特性。 react有两种形式来创建组件——类式和函数式。在hooks之前类式组件就是react最主流的编程方式。 这个时候,函数式组件是非常鸡肋的,几乎没什么用。因…

电子病历静态数据脱敏路径探索

一、引言 数据脱敏(Data Masking),屏蔽敏感数据,对某些敏感信息(比如patient_name、ip_no、ad、no、icd11、drug等等 )通过脱敏规则进行数据的变形,实现隐私数据的可靠保护。电子病历作为医疗领…

迷宫路径搜索:广度优先搜索(BFS)

迷宫路径搜索:广度优先搜索(BFS)详解 1. 什么是广度优先搜索(BFS)? 广度优先搜索(BFS) 是一种在图或网格结构中逐层扩展节点的搜索算法,适合用于解决最短路径问题。 特点…

AIGC 012-Video LDM-更进一步,SD作者将LDM扩展到视频生成任务!

AIGC 012-Video LDM-Stable Video diffusion前身,将LDM扩展到视频生成任务! 文章目录 0 论文工作1论文方法实验结果 0 论文工作 Video LDM作者也是Stable diffusion的作者,作者在SD的架构上进行扩展,实现了视频的生成。后续在Vid…

openstack创建浮动IP全过程

1、创建外部网络,即是provider网络,有关provider网络的详细解释请参见我之前的文章openstack中的self-service和provider网络_openstack provider网络不能创建vlan吗-CSDN博客 network create --share --external --provider-physical-network physnet1…

ABAP DIALOG屏幕编程1

一、DIALOG屏幕编程 DIALOG屏幕编程是SAP ABAP中用于创建用户交互界面的一种技术,主要用于开发事务性应用程序。它允许用户通过屏幕输入或操作数据,程序根据用户的操作执行逻辑处理。 1、DIALOG编程的主要组件 a、屏幕 (Screen) DIALOG程序的核心部分…

Anaconda升级的解决方法

文章目录 关于conda升级问题1. 在原Anaconda版本上进行更新升级2. 就是重装Anaconda 镜像源配置的参数解释:1. conda-forge2. bioconda3. menpo 关于conda升级问题, Anaconda各种版本镜像下载地址: 关于conda升级问题 1. 在原Anaconda版本上…

服务路由和服务发现区别是什么?

要快速学习服务路由和服务发现的区别,以下是这个领域最重要的20%的知识: 服务路由(Service Routing) 定义:服务路由是微服务架构中的一个关键概念,涉及将客户端的请求路由到合适的服务实例上。在分布式系…

青训营-豆包MarsCode技术训练营试题解析二十七

介绍 ‌豆包青训营‌是由字节跳动和稀土掘金社区共同发起的技术培训和人才选拔项目。该项目的目标是培养具有职业竞争力的优秀开发工程师,并提供全程免费的课程,不收取任何费用‌。 课程内容和方向 豆包青训营的课程涵盖前端、后端和AI方向。在这个飞…

网络安全之信息收集

1、大纲 基本信息收集  网站后台查找 域名查找    整站分析 敏感目录    Googlehacker 端口扫描    URL采集 旁站C段    信息分析 CDN绕过方法 2、域名信息 对应IP收集 相关域名对应IP 站长之家-->站长工具 nslookup(在cmd里面使用&…

人工智能学习用的电脑安装cuda、torch、conda等软件,版本的选择以及多版本切换

接触人工智能的学习三个月了,每天与各种安装包作斗争,缺少依赖包、版本高了、版本低了、不兼容了、系统做一半从头再来了。。。这些都是常态。三个月把单位几台电脑折腾了不下几十次安装,是时候总结一下踩过的坑和积累的经验了。 以一个典型的…

乐橙云小程序插件接入HbuilderX

乐橙插件使用: 1.配置app.json文件,uniapp中在mainfest.json中配置 https://uniapp.dcloud.net.cn/collocation/manifest.html#mp-weixin ** 2、集成插件页面.json文件 ** uniapp在 pages.json 对应页面的 style -> usingComponents 引入组件&…

华为关键词覆盖应用市场ASO优化覆盖技巧

在我国的消费者群体当中,华为的品牌形象较高,且产品质量过硬,因此用户基数也大。与此同时,随着影响力的增大,华为不断向外扩张,也逐渐成为了海外市场的香饽饽。作为开发者和运营者,我们要认识到…

C#白盒测试(二)

在前两篇关于 C#白盒测试的学习博客中,我们已经对基础概念、常见结构测试以及一些工具的使用有了一定了解。今天,我们将聚焦于白盒测试中的数据驱动测试、测试替身以及如何优化测试套件,进一步提升我们的白盒测试能力。 一、数据驱动测试 在…

K8S疑难概念理解——容器运行时。CRI实现从Docker切为containerd历史

早期版本的k8s直接使用了docker部分功能,比如容器的创建、运行、监控、停止、销毁等,这一些与容器生命周期相关的逻辑实现就可称之为容器运行时。k8s意识到docker过于笨重,如docker-cli,docker swarm等组件k8s都用不上,那么能不能…

Vue+Vite 组件开发的环境配置(超级简单)

vite是什么 Vite 是一个现代化的前端构建工具和开发服务器,它特别适用于构建大型的单页面应用(SPA)。Vite 旨在提供极快的冷启动速度,并且能够即时地(几乎实时地)更新模块,这得益于其利用原生 …