概论
最近闲来没事,总结一下自己的一个物联网综合课程设计的内容,将它上传到往上,一方面可以供自己日后的学习和回顾,另一方面希望帮助到其他有需要的人。
工具介绍
基于MicroPython的智能火灾报警器系统的设计与实现
硬件方面:主控板使用的是 ESP-WROOM-32 开发板,另外,传感器使用了 DHT11 温湿度传感器、MQ-2 烟雾传感器、LED 全彩RGB灯、面包板以及杜邦线;
软件方面:使用的语言是 MicroPython 语言、Thonny 开发软件、App Inventor开发软件;
问题描述
利用 ESP-WROOM-32 和 PC 机,设计并实现智能火灾报警器系统。
1.利用 ESP-WROOM-32 开发板以及扩展板采集环境中的烟雾浓度值和温湿度值等;
2.通过扩展 ESP32 模块实现 WiFi 功能;
3.编写 MicroPython 程序,将各种监测数据传输到 PC 机;
4.开发上位机应用程序,实现对监测数据的存储、统计和分析;
5.独立设计、调试和下载并通过指导教师现场验收;
设计原理
智能火灾报警器系统的设计与实现,具体而言,利用多种传感器监测室内温度、湿度、烟雾浓度。利用人机交互设计软件 Thonny,通过编写 MicroPython 代码,写入到 ESP-WROOM-32 开发板,实现对监测环境中温湿度和烟雾浓度数值的检测、上传。利用手机终端、电脑终端等方式实现对数据的折线图显示和数据统计分析。用户可随时随地了解监测环境中的具体情况,当环境中的烟雾浓度或者温湿度到达设定的阈值时,系统将会发光闪烁警告附件的人远离危险。智能火灾报警系统的设计与实现有利于提高生活的便利性、安全性。
与传统的火灾报警器不同的是,智能火灾报警器系统能通过 MQTT 协议,实现对数据的实时上传和分析,并且搭配线下的灯光闪烁警告,真正实现实地和网络监测的双重安全。通过 MQTT 物联网传输协议,轻量级的发布/订阅式消息传输,实现为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。
设计思路
智能火灾报警器系统的设计与实现是基于 ESP-WROOM-32 的新型集成开发环境 MicroPython ,通过感温湿和感烟传感器实时监测温湿度和烟雾浓度的变化,发生火灾时,火灾报警器会发出光报警信号,同时将监测到的火灾信号和数据上传给管理系统。智能火灾报警器系统的设计与实现主要包含如下 3 个部分:
1.温湿度监测模块的设计,温湿度数据采用 DHT11 温湿度传感器传感器收集。DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
2.烟雾监测模块的设计,MQ-2 气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。
3.自动报警灯光模块的设计,LED 灯采用的是 5mm 红色 LED 发光模块。此模块在是温度数值过高自动报警闪烁亮灯。
环境搭建
ESP32 环境的的搭建,主要参考了这边文章:Thonny+MicroPython+ESP32开发环境搭建
App Inventor 开发的网站链接:MIT App Inventor
总体设计
硬件包括 DHT11 温湿度传感器和 MQ-2 烟雾传感器还有自动报警模块,传感器监测模块包括对环境的温湿度和烟雾浓度监测,用户可以在安卓 app 上查看到实时传感数据,自动报警模块是当传感数据超过设置的阈值时会进行报警,LED 将会持续闪烁。直到温度降低到正常数值的时候,自动报警模块的 LED 灯才会停止闪烁。通过各个传感器的数据将采集,在 ESP32-WROOM-32 主控的驱动下,传输数据到服务器。硬件设计的总体流程图如下图所示。
硬件总体设计方案
整体设计方案
基于物联网的智能火灾报警器系统的设计与实现需要实现实时数据采集、数据可视化展示、自动预警等功能。系统首先以 ESP-WROOM-32 为系统数据采集终端来连接 DHT11 温湿度传感器、MQ-2 烟雾传感器等传感器来实现对监测环境参数进行实时数据采集,然后将采集的数据通过 MQTT 协议上传至巴法云物联网平台,通过巴法云可视化数据模块和安卓 app 实现对数据的可视化展示和自动预警处理。可视化展示就是将被监测区域的环境参数以及预警事件信息以折线图的形式展现在用户面前,让用户可以更加快速、直观的获取数据信息。用户可以根据安卓 app 实时传输的数据,远程观察被监测环境参数。整个系统结构图如下图所示。
本系统主要分为三大模块,分别为传感器监测模块,自动报警模块和可视化显示模块。传感器监测模块包括对环境的温湿度和烟雾浓度监测,用户可以在安卓 app 上查看到实时传感数据;自动报警模块是当传感数据超过设置的阈值时会进行报警,提醒用户注意火灾的发生。可视化展示模块是基于巴法云物联网智能平台。实现 MQTT 通信,首先需要开发板需要连接上 wifi,然后还需要连接上 MQTT,开发板、巴法云物联网平台和安卓 app 端三者之间都是通过 MQTT 通信的,MQTT 协议是此次设计最重要的一部分。
硬件功能模块设计与实现
基于物联网的智能火灾报警器系统的设计与实现,选择 ESP32-WROOM-32 为主控板,ESP32 性能稳定,工作温度范围达到 –40°C 到 +125°C。集成的自校准电路实现了动态电压调整,可以消除外部电路的缺陷并适应外部条件的变化。ESP32 将天线开关、RF balun、功率放大器、接收低噪声放大器、滤波器、电源管理模块等功能集于一体。ESP32 只需极少的外围器件,即可实现强大的处理性能、可靠的安全性能,和 Wi-Fi &蓝牙功能。ESP32 专为移动设备、可穿戴电子产品和物联网应用而设计,具有业内高水平的低功耗性能,包括精细分辨时钟门控、省电模式和动态电压调整等。ESP32 可作为独立系统运行应用程序或是主机 MCU 的从设备,通过 SPI/SDIO 或 I2C/UART 接口提供 Wi-Fi 和蓝牙功能。ESP32 开发板如下图所示。
硬件设计包含 2 大模块,分别是 DHT11 温湿度传感器和 MQ-2 烟雾传感器还有自动报警模块,传感器监测模块包括对环境的温湿度和烟雾浓度监测,用户可以在安卓 app 上查看到实时传感数据,自动报警模块是当传感数据超过设置的阈值时会进行报警,LED 将会持续闪烁。直到温度降低到正常数值的时候,自动报警模块的 LED 灯才会停止闪烁。硬件设计的总体结构图如下图所示。
软件功能模块设计与实现
访问在线编程网站,通过谷歌授权的中文镜像网站广州教科网,安装 App Inventor 模拟器,运行 App Inventor 模拟器程序 aiStarter,在线编程网站进入 AI2 开发环境,可以初步感受图形化拖放式模块编程,编写一个智能火灾报警器系统 APP。智能火灾报警器系统 app 的设计使用了垂直布局和水平布局的界面布局,从界面设计器的用户界面组件下分别选择标签、按钮、微数据库。实现对数据的显示,使用 App Inventor 自带的微数据库对数据的保存,保存三组数据,分别是温度、湿度、烟雾安全指示。在使用 App Inventor 开发的过程中,调用连接云平台接口 ClientSocketAI2Ext1,连接巴法云物联网云平台,实现对数据的实时接收。智能火灾报警器系统 app 组件设计图如下所示。
实现对监测数据的存储、统计和分析,数据的显示,利用发布订阅模式。第一步,先获取各种传感器数值,第二步,新建主题,然后往这个主题发送消息,第三步。App Inventor 订阅这个主题,因为 App Inventor 制作的 app 订阅了这个主题,就可以收到来自这个主题的消息,也就是可以收到各种传感器数值。在巴法创客云控制台新建一个主题,主题名字随意,例如 Test,使用示例代码时应修改为自己的主题名字,字母或数字或字母加数字组合。UID 为用户私钥,在巴法创客云控制台注册登陆后可获得。登陆完成后,可在控制台看到自己的私钥 UID。巴法云物联网智能平台如图所示。
测试及结果分析
系统线路连接
基于 ESP-WROOM-32 的智能火灾报警器系统,通过对 DHT11 温湿度模块 MQ-2 烟雾检测模块、LED 全彩 RGB 模块的连接,实现了对监测环境温湿度以及烟雾的监测。DHT11 温湿度模块连接 ESP-WROOM-32 开发板的 Pin13 引脚,MQ-2 烟雾检测模块连接 ESP-WROOM-32 开发板的 Pin25 引脚,LED 全彩 RGB 模块连接 ESP-WROOM-32 开发板的 Pin12、14、27 引脚,实现对灯光的控制。系统线路连接图如下所示。
DHT11 温湿度传感器模块测试
实时的采集本地湿度和温度。DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一个 I/O 口。传感器内部湿度和温度数据 40Bit 的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。DHT11 功耗很低,5V 电源电压下,工作平均最大电流 0.5mA。DHT11 温湿度传感器模块正常测试图如下所示。
设定温度的阈值为20摄氏度,当环境温度高于设置的阈值的时候,将会输出温度过高的提示,此时随着温度的变化,当温度低于所设定的温度阈值的时候,将会显示正常,提示环境温度正常。DHT11 温湿度传感器模块高温测试图如下所示。
MQ-2 烟雾传感器模块测试
MQ-2 烟雾传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SNo2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2 烟雾传感器使用 value() 方法,可以直接检测是否有烟雾,当系统检测到烟雾的时候输出 0 ,没有检测到烟雾的时候输出 1。MQ-2 烟雾传感器模块正常测试图如下所示。
当 MQ-2 烟雾传感器检测到烟雾的时候,将会输出警告信息,此时输出的 value() 方法的数值是 0 代表有烟雾,提示用户注意环境安全,MQ-2 烟雾传感器模块报警测试图如下所示。
LED 自动报警模块测试
当系统检测的温度高于设定的阈值的时候,系统发出火灾预警信息,LED 模块闪烁,提示用户发生火灾,当温度低于正常值的时候,LED 模块自动关闭。设定高温报警的温度阈值是 20 摄氏度,当环境的温度高于设定的阈值的时候,LED 灯将会闪烁,LED 模块自动报警测试图如下所示。
软件测试及结果分析
巴法云物联网平台可视化显示测试
登录巴法云物联网平台,注册新建主题 Test,通过 MQTT 协议实现 ESP-WROOM-32 和巴法云服务器的连接,当开发板检测到数据更新的时候,实时上传数据到云服务器,通过巴法云物联网平台实时可视化显示温湿度的数据,并用折线图显示。根据折线图可以客观的观察温湿度的实时变化,有效的防止火灾的发生。巴法云物联网平台可视化折线图显示图如下所示。
安卓 app 测试
安卓 app 通过 App Inventor 设计实现,通过订阅巴法云物联网平台主题 Test 实现数据的实时接收和保存,对 DHT11 温湿度传感器接收的数据以及 MQ-2 烟雾传感器的数据进行显示,并通过 App Inventor 的微数据库,实现数据的保存显示。按下数据存储的按钮就可以看到数据。安卓 app 测试显示图如下所示。
文章来源:https://www.toymoban.com/news/detail-499917.html
代码下载
基于MicroPython的智能火灾报警器系统的设计与实现文章来源地址https://www.toymoban.com/news/detail-499917.html
到了这里,关于基于MicroPython的智能火灾报警器系统的设计与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!