觉得有用的朋友们点个收藏,谢谢啦
最底下附有源码和哔哩哔哩视频,可以自行查看学习。
基于stm32的智能家居安防系统设计

系统方案设计

1.1 系统功能分析

在进行系统的方案设计之前,需要对系统所需要实现的功能进行分析,综合当前市场常见的智能家居安防系统的功能,同时为了降低系统成本,可以将系统需要实现的功能分为以下几点:

实现实时监控火警、煤气泄漏以及实时监控入室盗窃,在异常时报警并启动水泵、排气风扇,然后通过WIFI无线通信方式发送到云端服务器,要求系统对室内温湿度实时检测,并通过控制制冷设备和加热设备调节室内温湿度。

1.2 总体方案设计

完成系统总体功能分析后,对系统的整体功能实现方案进行设计,系统使用单片机作为主控芯片,温湿度传感器可以获取室内的温湿度,火焰传感器可以检测室内的火警值,煤气传感器可以检测煤气泄漏,红外传感器可以检测是否有人入侵。并将这些数据实时显示在显示屏上。同时,将这些数据通过无线传输发送到云端平台。据此分析系统的整体设计方案如图1所示。

图1 系统结构框图

单片机模块:控制整个下位机系统;

DHT11传感器:检测室内外的温湿度;

MQ-5传感器:检测煤气泄漏;

HY-A1火焰传感器:检测室内火警值;

AO-03氧气传感器:检测室内氧气值;

人体红外传感器:检测是否有人入侵;

OLED显示屏:循环显示室内温湿度和火警值,同时为功能选择提供显示窗口;

ESP8266+WIFI模块:连接单片机和云端平台,将采集到的数据发送到云平台,再通过网页查看。

按键:通过按键控制菜单和选择操作设置。同时也可以在调节阈值的界面进行温湿度阈值设置。

1.3 主控芯片的选型

STM32F103c8是一款集成Cortex-M3内核的微控制器单片机,由意法半导体(STMicroelectronics)公司研发,属于STM32F1系列。STM32F103c8内部集成CPU、存储器、时钟、高性能ADC、DAC等多种外设,最高主频可达72MHz,容量大小为32KB-64KB Flash和10KB SRAM。在通信方面,它支持多种标准接口,如USART、SPI、I2C和CAN,能够方便地与外部设备进行数据交换和通信;在安全方面, STM32F103c8具有硬件加密加速器、支持安全启动的Bootloader和按位可重写的FLASH等,有助于提高系统的安全性和稳定性。

综上所述,STM32F103c8是一款功能强大的微控制器单片机,性能优异,抗干扰性好,支持多种通信接口和安全特性,适用于各种应用场景和设计需求。

2系统硬件设计

2.1 传感器的选择

2.1.1 温湿度传感器方案的选择

DHT11是一种数字信号输出的温湿度传感器,采用了数字模块采集技术和温湿度感知技术,确保了可靠性和稳定性。传感器在湿度校验室中进行校准,并将校准系数储存在OTP内存中,以实现超快响应、高精度检测。DHT11为4针单排引脚封装,连接方便,适用于各种场合。鉴于以上考虑,本设计采用DHT11作为温湿度传感采集器件。

2.4.2 火焰传感器方案的选择

HY-A1火焰传感器是一款用于检测火焰的传感器,具有高灵敏度、快速响应和低功耗等特点。传感器包括一个光敏元件和一个信号处理电路,能够检测宽波段范围内的火焰辐射信号,并将其转换为模拟信号输出。HY-A1火焰传感器具有单线制串行接口,可以方便地集成到系统中。其小型化设计、低功耗和远传输距离的特点,使其适用于各种应用场合,如火灾报警、工业生产等领域。总之HY-A1火焰传感器是一款灵敏度高、响应快和功耗低的传感器,适用于各种检测火焰的应用场合。

综合考虑,本设计采用HY-A1火焰传感器。

2.4.3 红外线传感器方案的选择

HC-SR501传感器是一种被广泛应用于安防系统、智能家居和自动化控制等领域的传感器。该传感器内部采用了高灵敏度的热释电感应器件,能够对人体的红外辐射进行高效检测,当检测到人体移动时,传感器会输出一个高电平信号,以触发后续的动作或报警。

HC-SR501传感器还具有灵活的设置选项,可以通过调整感应距离、延时时间和触发方式等参数,实现对传感器的功能和响应速度的定制化设置。同时传感器采用三针式封装,安装和使用也非常方便。

综合考虑,本设计采用HC-SR501人体红外传感器。

2.4.4 气体传感器方案的选择

MQ-5传感器是一种气敏传感器,用于检测空气中的天然气、液化石油气(LPG)和可燃气体等。传感器采用半导体敏感元件,能够对空气中的可燃气体进行快速检测,并将检测结果转换为模拟信号输出。

MQ-5传感器的工作电压为5V,功耗仅为0.75W。该传感器还具有高精度的温度补偿功能,可以在不同的环境温度下保持稳定的检测性能。

MQ-5传感器还可以与微控制器等数字电路直接连接,具有方便快捷的集成性。由于其小型化设计、功耗低和灵敏度高的特点,使其适用于各种气体检测应用,如燃气检测、工业生产、安防等领域。

综上考虑,本设计采用MQ-5传感器来检测室内煤气泄漏。

2.2 WiFi无线通讯模块的选择

ESP8266是安信可公司生产的Wi-Fi芯片,属于ESP系列。该芯片是一种高集成度、低功耗的无线网络芯片,常被应用于物联网设备的连接和控制。

ESP8266小巧可靠的特点使其在智能家居、智能电子芯片、传感器等各种物联网产品中得以广泛应用。

综合考虑,本设计采用ESP8266+WIFI作为系统的无线通信模块。

2.3 液晶显示方案的选择

OLED显示屏是一种具有自发光的显示技术,可以用于制作高对比度、高亮度和高清晰度的显示屏。它与传统的LCD显示屏相比,具有更广的可视角度、更快的响应速度、更低的能耗和更轻薄的体积。当前市面上的OLED模块均采用IIC或SPI总线方式驱动,能够很方便的与单片机直接相连进行驱动。本品采用OLED显示屏来实现显示。

3系统软件设计

3.1 编程软件介绍

本设计采用keil uVision5软件进行编程设计,Keil uVision5是一个集成开发环境(IDE),用于对嵌入式系统中的微控制器进行编程。它是一个软件套件,包括源代码编辑器、调试器以及微控制器开发、调试和编程所需的其他工具。Keil uVision5 IDE主要用于对基于ARM架构的微控制器进行编程。

Keil uVision5是一款面向ARM处理器编程的集成开发环境(IDE),以下是其主要特点:

1.易于使用:Keil uVision5提供了用户友好的图形用户界面(GUI),可帮助用户快速建立和组织项目、编写和调试代码。

2.支持多种编程语言:Keil uVision5支持多种编程语言,包括C、C++、汇编语言等,可为不同类型的应用程序提供编程支持。

3.强大的代码编辑和调试功能:Keil uVision5提供了强大的代码编辑和调试功能,包括语法高亮、智能代码提示、集成调试器、覆盖率分析等,为开发者提供全面的开发环境。

4.支持多种目标设备:Keil uVision5支持多种目标设备,包括ARM Cortex-A、Cortex-M和Cortex-R系列处理器,可满足不同设备的开发需求。

3.2 系统主程序流程框图

系统在上电后首先初始化各个模块,然后读取室内温湿度,并通过ESP8266将数据传输到服务器上,同时判断温度并作出相应的处理;检测红外线入侵,判断是否有人入侵并作出相应处理;读取气体传感器,判断煤气是否泄漏;检测火警值,判断是否起火,并进行相应处理,最后在显示屏上显示温湿度,火警值。系统主程序流程图如图2所示。

图2 主程序流程图

3.3 PROTUES软件的介绍

Protues是一款广泛应用的电子设计仿真软件,由英国公司开发和发布。它不仅可以进行协同仿真,还能用于设计和仿真各种单片机及外围电路器件。Protues软件具有以下主要特点:

强大的原理图绘制功能。

融合了单片机仿真和电路仿真。

支持主流单片机系统的仿真。

提供软件调试功能。

3.4 仿真结果

系统仿真采用仿真软件Proteus8.13。进入Proteus的主界面后,绘制好系统硬件原理图后双击单片机,加载成功.hex文件。如图3所示。

图3 系统仿真电路图

其中显示屏显示室内温度、湿度、室外温度、湿度、火警值、煤气值、氧气值。

煤气检测报警

ADC采集使用PCF8591芯片,PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。PCF8591的最大转化速率由I2C总线的最大速率决定。

首先通过菜单设置火警和煤气的阈值,如图4所示

图4煤气、火警阈值设置仿真图

在仿真中使用一个滑动变阻器来代替煤气检测,当检测煤气值50超过设定的阈值39%时,排气扇FAN工作、煤气警报灯LED-PINK亮起,蜂鸣器BUZ1发出报警声,屏幕实时显示煤气值。煤气检测报警仿真图如图5、6、7、8所示。

图5 煤气值检测仿真图

图6 煤气值50超过阈值39显示仿真图

图7 煤气报警灯和排风扇仿真图

图8 蜂鸣器提示仿真图

(2)火警检测

首先通过菜单设置火警和防盗的使能,如图9所示。

当调节滑动变阻器使检测火警值54%超过设定的阈值39%时,蜂鸣器BUZ1报警,火警指示灯LED-YELLOW亮起并且开启水泵灭火,三极管导通,继电器线圈吸引衔铁使水泵电路导通,水泵工作。同时屏幕实时显示火警值。如图10、11、12所示。

图9火警、防盗使能仿真图

图10 火警值54超过阈值39显示仿真图

图11 火警提示和水泵工作仿真图

图12 火警报警声音提示仿真图

(3)防盗检测

当检测到有人进入房间时,指示灯LED-BLUE亮起,蜂鸣器发出声音,如图13、14所示。

图13入侵指示灯仿真图

图14 防盗报警声音提示仿真图

(4)手动通风开窗控制

可以通过菜单选择手动通风功能来操控步进电机来带动窗户开启和关闭,也可自动调节。如图15、16所示。

图15 开窗控制界面仿真图

图16、17、18 开窗、关窗动作仿真图

室内湿度控制

正常工作状态,屏幕会循环显示室内的温度湿度、室外的温度湿度、火警值、煤气值、氧气值。如图19所示。

图19 待机轮播循环显示仿真图

可以通过菜单选择最高温度阈值和最低温度阈值和室内湿度阈值,如图20所示。

图20 室内温度、湿度阈值调节菜单仿真图

当室内温度为40(大于阈值35)时,制冷设备运转,排出热空气如图21、22所示。

图21、22 温度高时制冷设备运转仿真图

当室内温度小于22度时,加热设备运转,实现恒温效果,如图23、24所示。

图23、24 温度低时加热设备运转仿真图

当室内湿度为84(大于阈值78%并且高于阈值5%)时,除湿设备运转,室内空气湿度降低如图25、26所示。

图25、26 湿度高时除湿设备运转仿真图

当室内湿度小于阈值78%并且低于阈值5%时,加湿设备运转,提高空气湿度,如图27、28所示。

图27、28湿度低时加湿设备运转仿真图

南方经常有回南天现象,导致室内湿度大,墙皮等物品返潮。可以通过菜单选择工作模式。当处于回南天模式下时,室内湿度小于室外10%时,自动关闭窗户,防止湿气进入室内。当室内湿度小大于室外10%时自动开窗通风。如图29,30,31

图29,回南天模式启动仿真图

图30,室内湿度高于室外10,窗户开启。

图31,室内湿度低于室外10,窗户关闭。

空气中氧气含量一般在21%左右,当密闭空间氧气值<15%,人就会有头晕、乏力等症状,系统可以实时检测室内氧气含量,当氧气浓度低于17%,强制开启窗户通风,当氧气恢复到正常值时自动关窗,如图32、33、34、35所示。

图32、33氧气浓度低时强制开窗仿真图

图34、35氧气浓度恢复正常时自动关窗仿真图

室内的温度湿度、室外的温湿度、煤气值、火警值和室内氧气值也会随时同步到服务器上,由于阿里云和点灯科技云端平台宣告全面收费,所以使用自己搭建的服务器来接收数据,用户可以通过访问互联网来实时查看室内外温湿度,监测火警和煤气值,同时,esp8266还会实时从国家授时服务器获取标准的时间。 如图36、37所示

图36 云端显示室内温湿度、火警、煤气、氧气数据

图37 串口发送的数据串和接收的网络授时时钟

结  论

本设计为基于单片机智能家居安防系统设计,该系统是基于stm32和各种传感器来完成总体整体设计的,该系统具有火焰检测、煤气检测、室内温湿度检测、室内防盗的功能,同时具备将传感器采集到的数据发送到自己搭建的服务器,并通过网络向用户展示室内情况的功能。

该系统通过火焰传感器检测室内是否有火焰产生来判断是否发送火灾,同时具备发生火灾时的水泵灭火功能。煤气检测是通过气体传感器检测室内气体浓度是否超标,

同时具备排风扇等安全防护功能。室内温湿度检测是通过DHT11传感器检测室内的温湿度,并根据室内的温湿度启动相应的措施来进行调节,保证室内保持一个适宜的环境。而室内防盗是通过红外线传感器来实现的,通过红外线,保证能够准确的判断是否有人入侵,然后在进行报警处理。最后通过ESP8266将主控系统收集到的各个传感器的数据发送到云端,然后再通过云端将信息实时传送给用户。

视频:

Proteus-基于STM32的联网智能家用安防系统

链接:哔哩哔哩工房见

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐