在我们平时的生活中,经常看到因气体泄漏发生爆炸事故的新闻。房屋起火、人体中毒等此类的新闻报道层出不穷。这种情况下,人民就发明了可燃气体报警器。当工业环境、日常生活环境(如使用天然气的厨房)中可燃性气体发生泄露,可燃气体报警器检测到可燃性气体浓度达到报警器设置的报警值时,可燃气体报警器就会发出声、光报警信号,以提醒采取人员疏散、强制排风、关停设备等安全措施,防止发生爆炸、火灾、中毒事故,从而保障人身安全和生产安全。

完整源代码获取可关注公众号“MicroPython玩家汇”公众号,回复“毕设二”即可

既然说到了可燃气体,那就科普一下常见的可燃气体。如氢气(H2)、甲烷(CH4)、乙烷(C2H6)、丙烷(C3H8)、丁烷(C4H10)、乙烯(C2H4)、丙烯(C3H6)、丁烯(C4H8)、乙炔(C2H2)、丙炔(C3H4)、丁炔(C4H6)、磷化氢(PH3)等。

因测试环境的要求,本次就以丁烷气体(打火机内的主要气体)的检测为目标。依然是使用TPYBoardv v102开发板为主控部分,然后增加上TPYBoard v202 WIFI开发板,作为网络通信单元,这样就可以通过调用网络接口,把报警信息传送给紧急联系人的微信中。

系统主要的技术特点:

监控报警系统:根据可燃气体检测模块(MQ-2)采集的气体浓度数据,判断出是否超出了安全范围内的阈值。当超出时,启动蜂鸣器报警,启动TPYBoard v202推送微信报警信息。

微信推送系统:TPYBoardv202开发板作为网络模块,负责整个系统的网络通信功能。当收到v102的报警提示后,调用【Server酱】的微信推送接口,将报警信息推送给指定人员的微信上。

所需器件

 

实物图:(部分主要器件)

 

程序设计

(1)TPYBoard v102开发板实时获取可燃气体检测模块的数据,判断该值是否大于设定的阈值。当大于时,启动蜂鸣器报警,同时传递给TPYBoard v202一个报警信号;
(2)当TPYBoard v202收到报警信号时,立即调用网络接口,将报警信息推送到联系人的微信上。

实物连接

先连接电源部分。电源部分主要涉及到降压模块和按键开关。先用万用表,找出按键开关中哪两个引脚是按下导通,弹起不导通的。这里,我们假设为引脚A和引脚B。

整体效果如下图:

 

程序调试

接线完毕后,就要将最重要的程序放到开发板上。首先,通过USB数据线将开发板接入电脑,电脑上会出现一个类似U盘的可移动设备,名称为【TPYBFLASH】,把`程序拷贝到里面即可。
注意:操作开发板磁盘时,板载的红色LED会亮,说明开发板正在保存操作,需等待红灯熄灭再进行其他操作。

TPYBoard v202的程序中涉及到微信推送接口的调用,需要先注册申请该接口,同时绑定联系人的微信。具体操作步骤,详见:docs.tpyboard.com/zh/latest/tpyboard/tutorial/v202/202WEIXIN/

演示效果

程序调试完,拔掉USB数据线。放入18650电池,按下按键开关即可。

到此,我们的可燃气体报警器就完成了。相比,我们在市场上常见的报警器,我们有独特的微信报警功能,也算是比较“优秀”了(哈哈哈,同九年,汝何秀)。

这个是比较简单的雏形,大家可以再追加上更多的可燃气体检测模块,应用到更多的场合中。当然,我们也可以增加联动功能。比如:与燃气热水器、灶具、排油烟机等连接起来使用,当有燃气泄漏时,不仅可以发出报警信号,同时也可以控制煤气表的电磁阀切断气源,起到更直接的安全保护。

毕业设计(2):基于MicroPython的家庭可燃气体泄露微信报警器的更多相关文章

  1. 毕业设计(4):基于MicroPython的超声波倒车雷达系统

    前言 倒车雷达是汽车驻车或者倒车时的安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员驻车.倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊 ...

  2. 毕业设计(3)基于MicroPython的篮球计时计分器模型的设计与实现

    前言 我们身边有不少人都喜欢看篮球比赛或者经常打篮球.说起篮球,肯定要提到NBA(美国职业篮球联赛),现在也正是NBA 18-19赛季常规赛的时候.最近3月5日,韦少22分帮助雷霆终结了四连败,哈登4 ...

  3. 毕业设计(1)基于MicroPython的大棚监测控制系统的程序设计与模型设计

    智慧农业就是将物联网技术运用到传统农业中去,运用传感器和软件通过移动平台或者电脑平台对农业生产进行控制,使传统农业更具有“智慧”.除了精准感知.控制与决策管理外,从广泛意义上讲,智慧农业还包括农业电子 ...

  4. 毕业设计5:基于MicroPython的智能火灾报警器系统的设计与实现

    随着现代家庭用火.用电量的增加,家庭火灾发生的频率越来越高.家里一旦发生火灾,如果出现扑救不及时.灭火器材缺乏.以及在场人惊慌失措.逃生迟缓等不利情况下,最终就会导致产生重大的生命财产的损失. 消防部 ...

  5. 【毕业设计】基于Android的家校互动平台开发(内含完整代码和所有文档)——爱吖校推(你关注的,我们才推)

    ☆ 写在前面 之前答应大家的毕业答辩之后把所有文档贡献出来,现在答辩已过,LZ信守承诺,把所有文档开源到了GitHub(这个地址包含所有的代码和文档以及PPT,外层为简单的代码).还望喜欢的朋友们,不 ...

  6. 基于MicroPython:TPYBoard心率监测器

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 一.前言 这几年智能穿戴设备大火,尤其是手环类,从A ...

  7. 基于MicroPython结合ESP8266模块实现TCP通信(AT指令版)

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 实验目的 - 学习ESP8266模块(ESP-01) ...

  8. 树莓派 PICO基础教程(基于MicroPython)

    目录 1 树莓派 PICO 简介 1.1 简介 1.2 配置 [^2] 1.3 引脚图 1.4 尺寸 2 安装 2.1 烧录固件 2.2 安装IDE(Thonny IDE) 2.3 离线运行程序 3 ...

  9. 基于HTML5的WebGL应用内存泄露分析

    上篇(http://www.hightopo.com/blog/194.html)我们通过定制了CPU和内存展示界面,体验了HT for Web通过定义矢量实现图形绘制与业务数据的代码解耦及绑定联动, ...

随机推荐

  1. softmax函数详解

    答案来自专栏:机器学习算法与自然语言处理 详解softmax函数以及相关求导过程 这几天学习了一下softmax激活函数,以及它的梯度求导过程,整理一下便于分享和交流. softmax函数 softm ...

  2. Linux 使用 free 命令查看内存使用情况

    1.free 命令的选项 使用 free 命令查看服务器内存使用情况. free [-b|-k|-m|-g|-h] [-l] [-o] [-t] [-s delay] [-c count] [-V] ...

  3. Python消息队列(RabbitMQ)

    RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用.可维护多个队列,可实现消息的一对一和广播等方式发送 RabbitMQ是一个开源的AMQP实现 ...

  4. Appium在Android7.0及以上系统运行时报错的解决方案

    背景:在使用Samsung S系列手机进行自动化测试时,发现同样脚本的情况下华为荣耀系列可以正常运行,最终发现差异在于Android7.0及以上系统和appium版本不匹配,需要升级appium.但需 ...

  5. 数据库连接(1)-从JDBC到MyBatis

    摘要 因为有持久层框架,和Spring的存在,越来越多的人对数据库连接这块不甚了解,只知使用方便,不知其原理.所以写一个数据库连接的系列文章,总结下本人在数据库连接方面遇到的问题,和对数据库连接的理解 ...

  6. ASP.NET Core 使用 SignalR 遇到的 CORS 问题

    问题 将 SignalR 集成到 ASP.NET Core MVC 程序的时候,按照官方 DEMO 配置完成,但使用 DEMO 页面建立连接一直提示如下信息. Access to XMLHttpReq ...

  7. 知识小罐头08(tomcat8启动源码分析 上)

    前面好几篇都说的是一个请求是怎么到servlet中的service方法的,这一篇我们来看看Tomcat8是怎么启动并且初始化其中的组件的? 相信看了前面几篇的小伙伴应该对Tomcat中的各个组件不陌生 ...

  8. Redis学习笔记~Twenproxy所起到的作用

    回到目录 Twenproxy除了可以作为redis的代理,它同样支持memerycached.我这里主要了解Twemproxy在redis集群上的解决方案.Twemproxy除了完美的解决了分片,路由 ...

  9. JavaScript一看就懂(2)闭包

    认识闭包之前需要先了解作用域,如果你对作用域还没有足够了解,请移步JavaScript一看就懂(1)作用域 什么是闭包? 我们可以先简单认为:一个函数a定义在另一个函数b里面,这个函数a就是闭包: f ...

  10. 100 - k8s源码分析-准备工作

    今天我们开始讲kubernetes的源码! 之前的其他开源项目还没有说完,后续会陆陆续续更新,我们把主线先放到k8s的源码上. 之前我想详细讲解每一行k8s源码,但是越看越发现一个大型开源项目如果拘泥 ...