0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

火灾警报和有毒一氧化碳气体警报的制作

454398 来源:wv 2019-10-15 11:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:必需的硬件

1。粒子光子

光子是一种微型Wi-Fi IoT设备,用于为物联网创建连接的项目和产品。它易于使用,功能强大且已连接到云。该开发板本身使用赛普拉斯Wi-Fi芯片(可在Nest Protect,LIFX和Amazon Dash中找到该芯片)以及功能强大的STM32 ARM Cortex M3微控制器

2。 I2C端口朝外的粒子电子或光子I2C屏蔽

使用PEI2C扩展,使用粒子电子/光子为扩展控制器世界提供云连接。

PEI2C提供了一个5伏I2C扩展端口,允许您的粒子电子或光子连接到不同的I2C设备。连接用于光度监视,气体水平检测,温度和湿度监视的传感器,以及多种类型的运动,加速度和方向传感器。

3。一路继电器(5V)

4。 MQ9

使用我们的I2C迷你模块形状因子,MQ-9气体传感器可轻松监控一氧化碳和可燃气体浓度。 MQ9连接到ADC121C 12位模数转换器,该转换器只需使用两个地址跳线即可充分扩展到每个I2C端口9个气体传感器(充分利用了浮动地址系统)。

MQ-9能够检测介于10和1,000ppm之间的一氧化碳空气浓度水平以及介于100和10,000ppm之间的可燃气体浓度。 MQ9的理想感测条件是在65%±5%的湿度下20°C±2°C

5。 SHT30

SHT30是Sensirion的下一代温度和湿度传感器

与之前的产品相比,SHT30具有更高的智能性,可靠性和改进的精度指标。其功能包括增强的信号处理,以便可以使用I2C通信读取温度和湿度。

步骤2:与粒子光子的连接

必要的连接(参见图片)如下:

1。这将在I2C上工作。取一个用于粒子光子的I2C屏蔽,然后将其轻轻地连接到粒子光子的引脚上。

2。将I2C电缆的一端连接到SHT30的端口,另一端连接到I2C屏蔽。

3。使用I2C电缆将MQ9传感器入口连接到SHT30上。

4。要打开继电器电源,请使用光子的3V和GND引脚。将光子的D7引脚连接到继电器的IN引脚。

5。最后,使用USB电缆为粒子光子供电。您还可以使用光子的力量之盾来提供外部电源。

步骤3:使用粒子Webhooks将粒子光子连接到Ubidots

了解您可以访问以下链接的Particle Webhook功能。

1。要开始使用您的粒子光子设备,请单击此处。

2。安装完设备后,请执行以下步骤:

登录到您的粒子帐户,转到粒子控制台,将鼠标指针移到集成。

单击“新集成”

选择“ Webhook”

将事件命名为Ubidots。

添加URL

https://industrial.api.ubidots.com/api/v1.6/devices/{{{PARTICLE_DEVICE_ID}}}

选择请求类型 POST,请求格式“自定义正文”, 设备任意。

转到“高级设置”并插入文本“ {{{PARTICLE_EVENT_VALUE}}} ” ”。

现在移至 HTTP头并插入:

Host | industrial.api.ubidots.com X-Auth-Token | YOUR_UBIDOTS_TOKEN_HERE Content-Type | application/json

单击创建网络并确认数据正在流式传输到Ubidots。

步骤4:对光子进行编程

使用Webhooks成功将您的Particle帐户连接到Ubidots之后,就可以对Photon进行编程了。

1。创建新应用,单击 Particle IDE 。

2。为您的应用命名。

3。将Ubidots库添加到新项目中:

转到“粒子IDE”右侧面板上的“库”选项,然后单击它。

在社区图书馆中搜索Ubidot,单击它。

单击包含在项目中。

单击您的应用名称,确认,然后将插入库。

4。复制并粘贴以下“火灾-一氧化碳(CO)警报系统.ino”代码。

// This #include statement was automatically added by the Particle IDE.

// This code is designed for Particle Photon to work with the SHT30 and MQ9 I2C Mini Module available from dcubestore.com

// This code is written for Fire and Carbon Monoxide Alert System

// Ubidots using Particle Webhooks.

/****************************************

Include Libraries

****************************************/

#include

#include

#include

/****************************************

Define Instances and Constants

****************************************/

#define interval 1000

#define Addr 0x44

#define Addr2 0x50

double cTemp = 0.0, fTemp = 0.0, humidity = 0.0;

int raw_adc_MQ9 = 0;

double ppm_MQ9 = 0.0;

int relay = D7;

int i = 0;

const char* WEBHOOK_NAME = “Ubidots”;

Ubidots ubidots(“webhook”, UBI_PARTICLE);

/****************************************

Main Functions

****************************************/

void setup() {

Serial.begin(115200);

ubidots.setDebug(true); // Uncomment this line for printing debug messages

// Set variable for SHT30

Particle.variable(“i2cdevice”, “SHT30”);

Particle.variable(“cTemp”, cTemp);

Particle.variable(“humidity”, humidity);

// Initialise I2C communication as MASTER

Wire.begin();

// Initialise serial communication, set baud rate = 9600

Serial.begin(9600);

delay(300);

// Set variable for MQ9

Particle.variable(“i2cdevice”, “ADC121C_MQ9”);

Particle.variable(“PPM”, ppm_MQ9);

// Initialise I2C communication as MASTER

Wire.begin();

// Initialise serial communication, set baud rate = 9600

Serial.begin(9600);

delay(300);

pinMode(relay, OUTPUT);

}

void loop() {

// SHT30

unsigned int data[6];

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Send 16-bit command byte

Wire.write(0x2C);

Wire.write(0x06);

// Stop I2C transmission

Wire.endTransmission();

delay(300);

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Stop I2C Transmission

Wire.endTransmission();

// Request 6 bytes of data

Wire.requestFrom(Addr, 6);

// Read 6 bytes of data

// temp msb, temp lsb, crc, hum msb, hum lsb, crc

if (Wire.available() == 6)

{

data[0] = Wire.read();

data[1] = Wire.read();

data[2] = Wire.read();

data[3] = Wire.read();

data[4] = Wire.read();

data[5] = Wire.read();

}

delay(500);

// Convert the data

cTemp = ((((data[0] * 256.0) + data[1]) * 175) / 65535.0) - 45;

fTemp = (cTemp * 1.8) + 32;

humidity = ((((data[3] * 256.0) + data[4]) * 100) / 65535.0);

// Output data to dashboard

Particle.publish(“Temperature in Celsius: ”, String(cTemp));

Particle.publish(“Temperature in Fahrenheit: ”, String(fTemp));

Particle.publish(“Relative Humidity: ”, String(humidity));

float value2 = humidity ;

float value1 = cTemp ;

if (cTemp 》= 60)

{

digitalWrite(relay, HIGH);

delay(interval);

digitalWrite(relay, HIGH);

delay(interval);

} else {

digitalWrite(relay, LOW);

delay(interval);

digitalWrite(relay, LOW);

delay(interval);

}

delay(1000);

// MQ9

unsigned int data2[2];

// Start I2C transmission

Wire.beginTransmission(Addr2);

// Select data register

Wire.write(0x00);

// Stop I2C transmission

Wire.endTransmission();

// Request 2 bytes of data

Wire.requestFrom(Addr2, 2);

// Read 2 bytes of data

// raw_adc msb, raw_adc lsb

if (Wire.available() == 2)

{

data2[0] = Wire.read();

data2[1] = Wire.read();

}

delay(300);

// Convert the data to 12-bits

raw_adc_MQ9 = ((data2[0] & 0x0F) * 256) + data2[1];

float sensor_voltage = raw_adc_MQ9 / 1024.0 * 5.0;

float RS_gas = (5.0 - sensor_voltage) / sensor_voltage;

float ratio = RS_gas / 3.78;

// Output data to dashboard

Particle.publish(“Carbon Monoxide Concentration : ”, String(ratio));

float value3 = ratio;

delay(1000);

ubidots.add(“Variable_Name_One”, value1); // Change for your variable name

ubidots.add(“Variable_Name_Two”, value2);

ubidots.add(“Variable_Name_Three”, value3);

bool bufferSent = false;

bufferSent = ubidots.send(WEBHOOK_NAME, PUBLIC); // Will use particle webhooks to send data

if (bufferSent) {

// Do something if values were sent properly

Serial.println(“Values sent by the device”);

}

delay(5000);

}

5。验证代码并刷新它。

步骤5:创建Ubidots事件

一旦使用粒子IDE将代码刷新到Photon,数据便开始出现在Ubidots。

Ubidots支持已经集成的事件,使您可以将事件,警报和通知发送给需要知道的人。您可以在创建条件事件和警报中了解有关它们的更多信息。

创建事件的步骤:

1。登录到您的Ubidots仪表板。

2。转到 DATA ,然后选择事件。

3。单击Ubidots控制台左侧的 + 符号以创建事件。

4。选择如果触发器标签,以组织事件逻辑或条件。

5。单击选择变量:温度和湿度。

6。创建条件:如果“温度”或“湿度”的值在0分钟内大于或等于60。

7。选择然后采取行动标签以执行计划的事件或警报,在本例中,我们将使用语音和短信警报。

8。确定要执行的动作以及发送给接收者的消息。

9。确定时间。

10。确认事件

步骤6:输出

步骤7:应用

该系统允许您在Ubidots平台中分析实时数据。

火灾产生的热量和烟雾会严重损坏或完全破坏无法维修的物品。这种带有自动继电器控制的紧急警报可以连接到洒水系统,可以挽救许多生命和财产。

我们还可以连接GPS以获取实时位置,该位置可以与附近的消防局和医院共享,以便它们可以及时到达。

该系统可用于多种用途,例如火灾警报和有毒一氧化碳气体警报。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 警报器
    +关注

    关注

    2

    文章

    72

    浏览量

    20316
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    钢铁工业尾气回收利用系统数据采集解决方案

    某钢铁工厂以工业转炉煤气(主要成分为一氧化碳)为原料,通过微生物发酵,将一氧化碳转化为乙醇、乙酸等代谢产物,后续通过系列反应产生副产物蒸汽,具备工艺流程短、节能效益高等优势,成为企业建设绿色节能工厂的重要环节。
    的头像 发表于 03-31 17:51 1089次阅读
    钢铁工业尾气回收利用系统数据采集解决方案

    固定式气体探测器在新能源动力电池储存仓的布控

    随着新能源产业的飞速发展,动力电池储存仓作为能源供应链中的关键环,其安全性已成为行业关注的焦点。锂离子电池在过度充电、内部短路或遭受物理损伤时,极易引发“热失控”反应,释放出氢气、一氧化碳及烷烃
    的头像 发表于 03-04 16:15 328次阅读
    固定式<b class='flag-5'>气体</b>探测器在新能源动力电池储存仓的布控

    选择二氧化碳气体泄漏检测仪应注意什么?

    在工业生产和日常生活中,二氧化碳的无形泄漏往往潜藏着重大的安全风险。无论是酿酒厂的发酵罐区、温室的通风管控,还是密闭空间的人员安全防护,选择台合适的二氧化碳气体泄漏检测仪都是保障安全
    的头像 发表于 02-25 15:32 306次阅读
    选择二<b class='flag-5'>氧化碳</b><b class='flag-5'>气体</b>泄漏检测仪应注意什么?

    LFG101壁挂式一氧化碳变送器

    变送器
    jf_45130365
    发布于 :2026年01月20日 15:37:43

    为什么便携式发电机要内置一氧化碳传感器?

    在美国,每年超过400人因一氧化碳(CO)中毒丧生,另有10万人以上因相同原因被送往急诊室。面对这些悲剧,检测和预防措施显得尤为重要。一氧化碳作为种无色无味的气体,其隐蔽性使得受害者
    的头像 发表于 01-06 10:07 351次阅读
    为什么便携式发电机要内置<b class='flag-5'>一氧化碳</b>传感器?

    气体检测仪的应用:地下管廊有毒气体检测解决方案

    地下管廊是保障城市运转的重要生命线,但其内部空间密闭、通风受限,容易积聚甲烷、硫化氢、一氧化碳有毒有害气体,同时可能存在氧气不足的风险。这些隐患严重威胁巡检维护人员的生命安全,也可能引发火灾
    的头像 发表于 01-05 15:29 342次阅读
    <b class='flag-5'>气体</b>检测仪的应用:地下管廊<b class='flag-5'>有毒气体</b>检测解决方案

    奥松电子推出全新气体检测传感器解决方案

    在工业安全、环境监测与健康防护领域,精准、快速、可靠的气体检测是保障人员健康与生产安全的关键。奥松在广受好评的AOX3000无铅氧传感器、ACM3000一氧化碳传感器及AHS3000硫化氢传感器
    的头像 发表于 10-23 11:23 1116次阅读

    一氧化碳(CO)监控控制系统,空气质量监控系统,沃思智能

    车库一氧化碳(CO)监控控制系统的控制策略,核心是围绕 **“实时监测数据→与预设阈值对比→触发分级响应动作”** 形成闭环逻辑,兼顾 安全性、节能性与可操作性 。其本质是通过精细化的规则设计,在
    的头像 发表于 09-22 17:05 1240次阅读
    <b class='flag-5'>一氧化碳</b>(CO)监控控制系统,空气质量监控系统,沃思智能

    空气质量控制器,一氧化碳监控系统,车库CO监控,沃思智能

    随着城市化进程加快和私家车保有量持续攀升,地下车库已成为现代建筑的标配设施。然而,这个相对封闭的空间却潜藏着致命的健康威胁——一氧化碳(CO)中毒风险。据中国疾病预防控制中心统计,我国每年因
    的头像 发表于 09-22 15:40 698次阅读
    空气质量控制器,<b class='flag-5'>一氧化碳</b>监控系统,车库CO监控,沃思智能

    有害气体监测IOT平台方案

    在石油化工、冶金冶炼、矿山开采等高危行业生产场景中,有害气体(如硫化氢、一氧化碳、氨气、氯气等)的泄漏与超标会直接威胁作业人员生命安全、损坏生产设备,甚至引发爆炸、环境污染等重大事故。 目前,多数
    的头像 发表于 09-02 10:34 695次阅读
    有害<b class='flag-5'>气体</b>监测IOT平台方案

    船舶气体安全监测:EtherCAT转DeviceNET网关的实战应用

    在船舶密闭空间中,货舱挥发性气体、机舱燃油蒸汽、一氧化碳以及泵房易燃易爆气体时刻威胁人员与航行安全。传统气体监测系统常面临协议多样、数据割裂的困境——PLC(如倍福)普遍采用实时以太网
    的头像 发表于 08-14 10:48 808次阅读
    船舶<b class='flag-5'>气体</b>安全监测:EtherCAT转DeviceNET网关的实战应用

    STM32项目分享:智能家居(机智云)升级版

    01—项目简介1.功能详解STM32智能家居(机智云)升级版功能如下:检测功能:监测环境温湿度、烟雾浓度、一氧化碳、空气质量、光照强
    的头像 发表于 07-02 18:04 1136次阅读
    STM32项目分享:智能家居(机智云)升级版

    烟气检测仪是如何工作的?工作原理大揭秘

    含有特定气体的烟气通过透气膜进入传感器内部时,气体在电极表面发生化学反应,产生与气体浓度成正比的电流或电压信号。通过测量这个电信号的大小,就可以确定烟气中目标气体的浓度。例如,对于常见
    发表于 06-16 16:10

    华盛昌GD-3806便携式四合一气体检测仪的应用案例

    GD-3806便携式四合一气体检测仪可快速检测多种气体浓度,进行温湿度测量,并具有超标报警功能。其配置的2.8寸LCD彩屏可实时显示检测项目浓度,如硫化、一氧化碳、氧气、甲烷/可燃气体
    的头像 发表于 05-28 11:03 1706次阅读

    烟气检测仪是什么?这里为你精准揭秘!

    检测仪是种用于检测烟气中各种成分和参数的设备。它就像是环境和工业生产的“健康卫士”,能够实时、准确地测量烟气中的多种物质,如一氧化碳、二氧化碳、二氧化硫、氮
    发表于 05-26 13:59