0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

火災警報和有毒一氧化碳氣體警報的制作

454398 ? 來源:wv ? 2019-10-15 11:28 ? 次閱讀

步驟1:必需的硬件

1。粒子光子

光子是一種微型Wi-Fi IoT設(shè)備,用于為物聯(lián)網(wǎng)創(chuàng)建連接的項目和產(chǎn)品。它易于使用,功能強大且已連接到云。該開發(fā)板本身使用賽普拉斯Wi-Fi芯片(可在Nest Protect,LIFX和Amazon Dash中找到該芯片)以及功能強大的STM32 ARM Cortex M3微控制器

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

使用PEI2C擴展,使用粒子電子/光子為擴展控制器世界提供云連接。

PEI2C提供了一個5伏I2C擴展端口,允許您的粒子電子或光子連接到不同的I2C設(shè)備。連接用于光度監(jiān)視,氣體水平檢測,溫度和濕度監(jiān)視的傳感器,以及多種類型的運動,加速度和方向傳感器。

3。一路繼電器(5V)

4。 MQ9

使用我們的I2C迷你模塊形狀因子,MQ-9氣體傳感器可輕松監(jiān)控一氧化碳和可燃氣體濃度。 MQ9連接到ADC121C 12位模數(shù)轉(zhuǎn)換器,該轉(zhuǎn)換器只需使用兩個地址跳線即可充分擴展到每個I2C端口9個氣體傳感器(充分利用了浮動地址系統(tǒng))。

MQ-9能夠檢測介于10和1,000ppm之間的一氧化碳空氣濃度水平以及介于100和10,000ppm之間的可燃氣體濃度。 MQ9的理想感測條件是在65%±5%的濕度下20°C±2°C

5。 SHT30

SHT30是Sensirion的下一代溫度和濕度傳感器。

與之前的產(chǎn)品相比,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。要開始使用您的粒子光子設(shè)備,請單擊此處。

2。安裝完設(shè)備后,請執(zhí)行以下步驟:

登錄到您的粒子帳戶,轉(zhuǎn)到粒子控制臺,將鼠標指針移到集成。

單擊“新集成”

選擇“ Webhook”

將事件命名為Ubidots。

添加URL

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

選擇請求類型 POST,請求格式“自定義正文”, 設(shè)備任意。

轉(zhuǎn)到“高級設(shè)置”并插入文本“ {{{PARTICLE_EVENT_VALUE}}} ” ”。

現(xiàn)在移至 HTTP頭并插入:

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

單擊創(chuàng)建網(wǎng)絡(luò)并確認數(shù)據(jù)正在流式傳輸?shù)経bidots。

步驟4:對光子進行編程

使用Webhooks成功將您的Particle帳戶連接到Ubidots之后,就可以對Photon進行編程了。

1。創(chuàng)建新應(yīng)用,單擊 Particle IDE 。

2。為您的應(yīng)用命名。

3。將Ubidots庫添加到新項目中:

轉(zhuǎn)到“粒子IDE”右側(cè)面板上的“庫”選項,然后單擊它。

在社區(qū)圖書館中搜索Ubidot,單擊它。

單擊包含在項目中。

單擊您的應(yīng)用名稱,確認,然后將插入庫。

4。復制并粘貼以下“火災-一氧化碳(CO)警報系統(tǒng).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:創(chuàng)建Ubidots事件

一旦使用粒子IDE將代碼刷新到Photon,數(shù)據(jù)便開始出現(xiàn)在Ubidots。

Ubidots支持已經(jīng)集成的事件,使您可以將事件,警報和通知發(fā)送給需要知道的人。您可以在創(chuàng)建條件事件和警報中了解有關(guān)它們的更多信息。

創(chuàng)建事件的步驟:

1。登錄到您的Ubidots儀表板。

2。轉(zhuǎn)到 DATA ,然后選擇事件。

3。單擊Ubidots控制臺左側(cè)的 + 符號以創(chuàng)建事件。

4。選擇如果觸發(fā)器標簽,以組織事件邏輯或條件。

5。單擊選擇變量:溫度和濕度。

6。創(chuàng)建條件:如果“溫度”或“濕度”的值在0分鐘內(nèi)大于或等于60。

7。選擇然后采取行動標簽以執(zhí)行計劃的事件或警報,在本例中,我們將使用語音和短信警報。

8。確定要執(zhí)行的動作以及發(fā)送給接收者的消息。

9。確定時間。

10。確認事件

步驟6:輸出

步驟7:應(yīng)用

該系統(tǒng)允許您在Ubidots平臺中分析實時數(shù)據(jù)。

火災產(chǎn)生的熱量和煙霧會嚴重損壞或完全破壞無法維修的物品。這種帶有自動繼電器控制的緊急警報可以連接到灑水系統(tǒng),可以挽救許多生命和財產(chǎn)。

我們還可以連接GPS以獲取實時位置,該位置可以與附近的消防局和醫(yī)院共享,以便它們可以及時到達。

該系統(tǒng)可用于多種用途,例如火災警報和有毒一氧化碳氣體警報。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 警報器
    +關(guān)注

    關(guān)注

    2

    文章

    71

    瀏覽量

    19693
收藏 人收藏

    評論

    相關(guān)推薦

    儲能消防用一氧化碳和感溫復合火災探測裝置中傳感器選型

    優(yōu)勢以及在實際應(yīng)用中的重要作用。 一氧化碳,作為火災過程中的常見有毒氣體,其無色、無味、無刺激性的特性往往使得火災在初期難以被察覺。然而,一氧化碳
    的頭像 發(fā)表于 12-04 09:32 ?138次閱讀
    儲能消防用<b class='flag-5'>一氧化碳</b>和感溫復合<b class='flag-5'>火災</b>探測裝置中傳感器選型

    云南恩田智能隧道有毒有害氣體檢測系統(tǒng)具提高了隧道施工安全管理

    檢測功能方面 多種氣體檢測:能精準檢測多種有毒有害氣體,包括常見的一氧化碳、二氧化碳、硫化氫,以及較為罕見但極具危險性的
    的頭像 發(fā)表于 11-27 16:06 ?147次閱讀
    云南恩田智能隧道<b class='flag-5'>有毒</b>有害<b class='flag-5'>氣體</b>檢測系統(tǒng)具提高了隧道施工安全管理

    云南恩田智能隧道有毒有害氣體檢測系統(tǒng)的優(yōu)勢

    檢測精度高: ? 氣體識別準確:能夠精準檢測多種有毒有害氣體,無論是常見的一氧化碳、二氧化碳、硫化氫,還是其他較為罕見但極具危險性的
    的頭像 發(fā)表于 10-18 11:08 ?131次閱讀
    云南恩田智能隧道<b class='flag-5'>有毒</b>有害<b class='flag-5'>氣體</b>檢測系統(tǒng)的優(yōu)勢

    FLIR光學氣體成像熱像儀的高靈敏度模式

    FLIR光學氣體成像 (OGI) 熱像儀,專為發(fā)現(xiàn)VOC/碳氫化合物,氟化硫制冷劑,一氧化碳等有害氣體的泄漏而設(shè)計,其可檢測數(shù)百米外的氣體泄漏,當遇到特別小的或特別遠的
    的頭像 發(fā)表于 09-06 15:40 ?391次閱讀

    程斯-一氧化碳防護性能測試儀-視頻解說

    測試儀儀器儀表
    jf_62302303
    發(fā)布于 :2024年05月30日 15:38:16

    誠衛(wèi)-一氧化碳防護性能測試儀-視頻解說

    測試儀儀器儀表
    chenweizwg
    發(fā)布于 :2024年05月30日 09:24:32

    氣體濃度監(jiān)測系統(tǒng)能否利用485遠傳模塊與中控室進行無線監(jiān)測?

    工業(yè)之。鋼鐵冶煉般以工業(yè)煤氣作為燃料,因涉及一氧化碳含量很高的高爐煤氣、轉(zhuǎn)爐煤氣、焦爐煤氣。主要產(chǎn)生氣體一氧化碳,天然氣,氫氣,甲烷,
    的頭像 發(fā)表于 05-24 09:30 ?227次閱讀
    <b class='flag-5'>氣體</b>濃度監(jiān)測系統(tǒng)能否利用485遠傳模塊與中控室進行無線監(jiān)測?

    MQ-7之類的可燃氣體傳感器,防電火花怎么做到的?

    如題,我想給廚房加個智能系統(tǒng),想用一氧化碳檢測模塊,但是直有個問題不明白,這個東西是怎么防電火花的?因為是檢測可燃氣體,但是電路工作不會因為些信號產(chǎn)生火花嗎?實際應(yīng)用中是怎么解決的
    發(fā)表于 05-16 07:00

    氧化碳氣體5g網(wǎng)絡(luò)監(jiān)測面包棚

    是否有人在安裝二氧化碳氣體發(fā)生器后仍無法看到結(jié)果?在這篇文章中,我們將討論二氧化碳氣體的有效應(yīng)用方法和回顧要點。二氧化碳濃度不均勻的原因在于
    的頭像 發(fā)表于 05-11 11:18 ?342次閱讀

    工廠車間里可燃性氣體濃度監(jiān)測系統(tǒng)如何實現(xiàn)無線技改?

    行業(yè),是國家重要的原材料工業(yè)之。鋼鐵冶煉般以工業(yè)煤氣作為燃料,因涉及一氧化碳含量很高的高爐煤氣、轉(zhuǎn)爐煤氣、焦爐煤氣。主要產(chǎn)生氣體一氧化碳
    的頭像 發(fā)表于 05-09 15:51 ?275次閱讀
    工廠車間里可燃性<b class='flag-5'>氣體</b>濃度監(jiān)測系統(tǒng)如何實現(xiàn)無線技改?

    氧化碳儲能的原理 二氧化碳儲能的應(yīng)用

    氧化碳儲能(CDES)是種新興的儲能技術(shù),它基于壓縮氣體儲能的原理,使用二氧化碳(CO2)作為工作介質(zhì),通過壓縮和膨脹過程實現(xiàn)電能的存儲與釋放。
    的頭像 發(fā)表于 04-25 16:06 ?3543次閱讀

    可燃氣體檢測警報

    、產(chǎn)品簡介 款基于MQ-2傳感器及NE555設(shè)計的可燃氣體檢測警報儀。 二、應(yīng)用場景 DIY,適用于檢測封閉或者半封閉環(huán)境中可燃氣體的濃
    的頭像 發(fā)表于 04-18 14:22 ?396次閱讀
    可燃<b class='flag-5'>氣體</b>檢測<b class='flag-5'>警報</b>儀

    HarmonyOS開發(fā)案例:【智能煤氣檢測】

    智能煤氣檢測系統(tǒng)通過實時監(jiān)測環(huán)境中煙霧濃度,當一氧化碳濃度超標時,及時向用戶發(fā)出警報。
    的頭像 發(fā)表于 04-16 17:28 ?856次閱讀
    HarmonyOS開發(fā)案例:【智能煤氣檢測】

    以二氧化碳為原料的清洗方式在工業(yè)中的應(yīng)用(

    以二氧化碳為基礎(chǔ)原料的清洗正在經(jīng)歷前所未有的迅猛發(fā)展,基于二氧化碳的特性,目前在清洗領(lǐng)域中二氧化碳被用于以下4個方面:1、將二氧化碳預制成高密度干冰粒或干冰粉(以下統(tǒng)稱干冰粒)的干冰清
    的頭像 發(fā)表于 03-07 13:09 ?391次閱讀
    以二<b class='flag-5'>氧化碳</b>為原料的清洗方式在工業(yè)中的應(yīng)用(<b class='flag-5'>一</b>)

    如何預防配電柜電氣火災的發(fā)生?

    保證配電室環(huán)境的穩(wěn)定安全,奧松電子提供配電室安全監(jiān)測終端解決方案,旨在實時監(jiān)控和管理配電設(shè)備的運行狀態(tài),確保電力系統(tǒng)的穩(wěn)定運行。 多種氣體傳感器:監(jiān)測二氧化碳、一氧化碳、氧氣、六氟化硫等氣體
    的頭像 發(fā)表于 01-18 17:11 ?853次閱讀
    如何預防配電柜電氣<b class='flag-5'>火災</b>的發(fā)生?