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

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

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

怎么制作物聯(lián)網(wǎng)煙霧報(bào)警器

454398 ? 來(lái)源:工程師吳畏 ? 2019-08-02 11:03 ? 次閱讀

煙霧報(bào)警器如何工作?

MQ-2煙霧傳感器將以模擬電壓的形式提供輸出。我們?cè)诖a中設(shè)置了一個(gè)條件,即如果傳感器的輸出值大于400,則蜂鳴器將開(kāi)始發(fā)出蜂鳴聲,紅色LED將亮起;如果傳感器的輸出值小于400,則蜂鳴器將保持靜音,綠色LED將亮起。

這里使用的ESP將創(chuàng)建一個(gè)網(wǎng)頁(yè)一個(gè)IP地址,將數(shù)據(jù)發(fā)送到該IP地址,并在那里打印數(shù)據(jù)。上傳代碼后,可在串口監(jiān)視器中看到此IP地址,如下所示。

當(dāng)您輸入此IP時(shí)在瀏覽器中顯示地址,然后將顯示項(xiàng)目的輸出,如下圖所示。

電路圖

首先,將ESP8266模塊與Arduino連接。為了將ESP8266與Arduino正確連接,我們使用了ESP-01適配器模塊,這將使連接變得非常容易。該適配器模塊內(nèi)置5V至3.3V穩(wěn)壓器,這意味著您不必使用任何電阻

將ESP-01適配器的VCC引腳連接到Arduino上的5V引腳和Arduino上的ESP-01適配器的GND到GND。接下來(lái),將TX引腳從適配器連接到Arduino上的引腳2,將RX引腳從適配器連接到Arduino上的引腳3.

然后,連接MQ -2帶Arduino的氣體傳感器。將氣體傳感器上的VCC和GND連接到Arduino上的5V和GND引腳。然后將MQ-2氣體傳感器上的A0引腳連接到Arduino上的A0。

之后,將蜂鳴器和LED連接到Arduino。將蜂鳴器上的正極連接到Arduino上的引腳10,將蜂鳴器上的負(fù)極連接到Arduino上的GND。然后通過(guò)220歐姆電阻將LED的負(fù)極連接到GND,將正極連接到Arduino的引腳8和9上。

代碼說(shuō)明

首先,添加軟件序列庫(kù)。軟件串行庫(kù)允許我們?cè)贏rduino的其他引腳上使用TX和RX通信,而不是僅使用默認(rèn)的TX和RX引腳。然后我們定義了我們?cè)贏rduino上連接這些TX和RX引腳的位置。

#include #define DEBUG true SoftwareSerial wifi_module(2,3);//將esp的TX引腳連接到Arduino的引腳2和esp的RX引腳連接到Arduino的引腳3

在下面的行中,我們已經(jīng)聲明了LED,蜂鳴器和煙霧傳感器的引腳。

int red_led_pin = 9; int green_led_pin = 8; int buzzer_pin = 10; int smoke_sensor_pin = A0;

在設(shè)置功能中,首先,我們?cè)O(shè)置串行通信的波特率和9400的wifi模塊。然后我們聲明了引腳并且蜂鳴器引腳作為輸出引腳,因?yàn)槲覀儗⑦@些引腳的輸出提供給LED和蜂鳴器。最后,我們將煙霧傳感器引腳聲明為輸入,因?yàn)闊熿F傳感器引腳將從傳感器接收輸入并將其傳送給Arduino。

Serial.begin(9600) ); wifi_module.begin(9600);//根據(jù)您的esp8266 pinMode(red_led_pin,OUTPUT)設(shè)置波特率; pinMode(green_led_pin,OUTPUT); pinMode(buzzer_pin,OUTPUT) ; pinMode(smoke_sensor_pin,INPUT);

這些線路將調(diào)用該功能,并將在ESP提供的IP地址處設(shè)置服務(wù)器。然后ESP將在此IP地址發(fā)送數(shù)據(jù)。

esp8266_command(“AT + RST r n”,2000,DEBUG);//reset module esp8266_command(“AT + CWMODE = 2 r n”,1000,DEBUG);//配置為接入點(diǎn) esp8266_command(“AT + CIFSR r n”,1000,DEBUG);//獲取IP地址 esp8266_command(“AT + CIPMUX = 1 r n”,1000,DEBUG);//為多個(gè)連接配置 esp8266_command(“AT + CIPSERVER = 1,80 r n”,1000,DEBUG);//打開(kāi)端口80上的服務(wù)器

在循環(huán)函數(shù)中,我們讀取來(lái)自煙霧傳感器的值然后應(yīng)用一個(gè)條件,如果輸出值大于400,則紅色LED將亮起,蜂鳴器將開(kāi)始發(fā)出蜂鳴聲。如果輸出值小于400,則綠色LED指示燈將亮起,蜂鳴器將保持靜音。

int analogSensor = analogRead(smoke_sensor_pin); if(analogSensor》 400) { digitalWrite(red_led_pin,HIGH); digitalWrite(green_led_pin,LOW); 音(buzzer_pin,1000,200); }

以下行將打印網(wǎng)頁(yè)上的數(shù)據(jù)。首先,我們將在頂部打印“物聯(lián)網(wǎng)煙霧探測(cè)系統(tǒng)”。然后在第二行,我們將打印煙霧值,在第三行,我們將打印“Everything Normal”或“DANGER!移動(dòng)到其他地方“取決于條件。

字符串網(wǎng)頁(yè)=”

物聯(lián)網(wǎng)煙霧探測(cè)系統(tǒng)

“; 網(wǎng)頁(yè)+ = “

煙霧值是”; 網(wǎng)頁(yè)+ = analogSensor; 網(wǎng)頁(yè)+ =“

”; if(analogSensor》 400) ) { 網(wǎng)頁(yè)+ =“

危險(xiǎn)!移動(dòng)其他地方

”; } 其他 { 網(wǎng)頁(yè)+ =“

一切正常

”; }

下面的代碼會(huì)將命令發(fā)送到ESP,并在串口監(jiān)視器上打印ESP的輸出。

String esp8266_command(String command,const int timeout,boolean debug) { String response =“”; wifi_module.print(command); long int time = millis(); while((time + timeout)》 millis()) { while (wifi_module.available()) { char c = wifi_module.read(); 響應(yīng)+ = c; } } 就是這樣,希望你能讓它運(yùn)轉(zhuǎn)起來(lái)!此外,您還可以查看我的博客,查看ElectronicsHobbyist.com上的其他一些項(xiàng)目。

代碼

#include #define DEBUG true SoftwareSerial wifi_module (2,3);//將esp的TX引腳連接到Arduino的引腳2和esp的RX引腳連接到Arduino的引腳3 int red_led_pin = 9; int green_led_pin = 8; int buzzer_pin = 10; int smoke_sensor_pin = A0; void setup() { Serial。開(kāi)始(9600);wifi_module.begin(9600);//根據(jù)您的esp8266 pinMode(red_led_pin,OUTPUT)設(shè)置波特率; pinMode(green_led_pin,OUTPUT); pinMode(buzzer_pin,OUTPUT) ; pinMode(smoke_sensor_pin,INPUT); esp8266_command(“AT + RST r n”,2000,DEBUG);//reset moduleesp8266_command(“AT + CWMODE = 2 r n”,1000,DEBUG);//配置為接入點(diǎn) esp8266_command(“AT + CIFSR r n”,1000,DEBUG);//獲取IP地址 esp8266_command(“AT + CIPMUX = 1 r n”,1000,DEBUG);//為多個(gè)連接配置 esp8266_command(“AT + CIPSERVER = 1,80 r n”,1000,DEBUG);//在端口80上打開(kāi)服務(wù)器 } void loop() { int analogSensor = analogRead(smoke_sensor_pin); if(analogSensor》 400) { digitalWrite(red_led_pin,HIGH); digitalWrite(green_led_pin,LOW); 音(buzzer_pin,1000,200); } 其他 { digitalWrite(red_led_pin, LOW); digitalWrite(green_led_pin,HIGH); noTone(buzzer_pin); } if(wifi_module.available( )) { if(wifi_module.find(“+ IPD,”)) { delay(1000); int connectionId = wifi_module.read() - 48; String webpage =“

物聯(lián)網(wǎng)煙霧探測(cè)系統(tǒng)

”; 網(wǎng)頁(yè)+ =“

煙霧值是”; 網(wǎng)頁(yè)+ = analogSensor; 網(wǎng)頁(yè)+ =“

“; if(analogSensor》 400) { 網(wǎng)頁(yè)+ =”

危險(xiǎn)!移動(dòng)到其他地方

“; } 其他 { 網(wǎng)頁(yè)+ =”

一切正常

“; } 字符串cipSend =”AT + CIPSEND =“; cipSend + = connectionId; cipSend + =“,”; cipSend + = webpage.length(); cipSend + =“ r n”; esp8266_command(cipSend,1000,DEBUG); esp8266_command(網(wǎng)頁(yè),1000,DEBUG); 字符串closeCommand =“AT + CIPCLOSE = “;closeCommand + = connectionId;//追加連接ID closeCommand + =” r n“; esp8266_command( closeCommand,3000,DEBUG); } } } 字符串esp8266_command(字符串命令,const int timeout,布爾調(diào)試) { 字符串響應(yīng)=“”; wifi_module.print(命令); long int time = millis() ; while((時(shí)間+超時(shí))》 millis()) { while(wifi_module.available()) { char c = wifi_module.read(); 響應(yīng)+ = c; } } if(debug) { Serial.print(響應(yīng)); } 返回響應(yīng); }

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

    關(guān)注

    12

    文章

    916

    瀏覽量

    108576
  • 氣體傳感器
    +關(guān)注

    關(guān)注

    14

    文章

    529

    瀏覽量

    37580
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6454

    瀏覽量

    185999
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    960

    瀏覽量

    44563
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    用TPS8802設(shè)計(jì)10年電池壽命的煙霧報(bào)警器

    電子發(fā)燒友網(wǎng)站提供《用TPS8802設(shè)計(jì)10年電池壽命的煙霧報(bào)警器.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 11:00 ?0次下載
    用TPS8802設(shè)計(jì)10年電池壽命的<b class='flag-5'>煙霧</b><b class='flag-5'>報(bào)警器</b>

    煙感芯片-光電式感煙火災(zāi)探測(cè)IC-煙霧報(bào)警器單片機(jī)

    英銳恩科技在消防安防領(lǐng)域,專注于行業(yè)主控芯片定制開(kāi)發(fā)應(yīng)用十六年,特別在煙霧探測(cè)報(bào)警器行業(yè)芯片的定制開(kāi)發(fā)應(yīng)用方面,可以跟隨工藝進(jìn)步和市場(chǎng)變化持續(xù)更新和升能產(chǎn)品,提供高性價(jià)比的”芯“解決方案。為客戶提供
    發(fā)表于 09-24 15:43

    TPS8802煙霧報(bào)警器AFE數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TPS8802煙霧報(bào)警器AFE數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-09 09:23 ?0次下載
    TPS8802<b class='flag-5'>煙霧</b><b class='flag-5'>報(bào)警器</b>AFE數(shù)據(jù)表

    基于51單片機(jī)煙霧檢測(cè)報(bào)警器設(shè)計(jì)

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)煙霧檢測(cè)報(bào)警器設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開(kāi))、C語(yǔ)言程序源代碼(keil軟件打開(kāi))、元件清單(excel表格打開(kāi))。本
    發(fā)表于 06-26 10:51 ?0次下載

    基于RJM8L151S的煙霧報(bào)警器解決方案

    煙霧報(bào)警器是一種重要的安全設(shè)備,它可以在火災(zāi)發(fā)生時(shí)及時(shí)發(fā)出報(bào)警,提醒人們采取相應(yīng)的措施,避免火災(zāi)蔓延造成更大的損失。
    發(fā)表于 04-08 10:31 ?381次閱讀
    基于RJM8L151S的<b class='flag-5'>煙霧</b><b class='flag-5'>報(bào)警器</b>解決方案

    合泰單片機(jī)推出一款低功耗協(xié)同感煙報(bào)警器方案

    協(xié)同感煙報(bào)警器,即同時(shí)具備煙霧探測(cè)功能和協(xié)同報(bào)警功能。煙霧探測(cè)功能是指通過(guò)檢測(cè)煙霧濃度來(lái)實(shí)現(xiàn)火災(zāi)防范的功能。
    的頭像 發(fā)表于 03-29 17:31 ?491次閱讀
    合泰單片機(jī)推出一款低功耗協(xié)同感煙<b class='flag-5'>報(bào)警器</b>方案

    煙霧報(bào)警器WTN6語(yǔ)音芯片方案

    隨著科技的進(jìn)步和人們生活水平的提高,對(duì)于家庭安全的關(guān)注度也日益增強(qiáng)。煙霧報(bào)警器作為預(yù)防火災(zāi)的重要設(shè)備,其功能和性能也在不斷更新升級(jí)。傳統(tǒng)的煙霧報(bào)警器通常只有蜂鳴聲作為
    的頭像 發(fā)表于 03-29 14:52 ?370次閱讀

    九聯(lián)科技物聯(lián)網(wǎng)模組技術(shù)革新煙感報(bào)警器,提升火災(zāi)預(yù)警智能化水平

    傳統(tǒng)的煙感報(bào)警器長(zhǎng)期以來(lái)依賴煙霧傳感進(jìn)行火災(zāi)檢測(cè),雖然在一定程度上起到了預(yù)警作用,但在響應(yīng)速度和智能化程度上仍有諸多不足。然而,隨著物聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,九聯(lián)科技憑借其先進(jìn)的物
    的頭像 發(fā)表于 03-13 10:06 ?639次閱讀

    門把手觸摸報(bào)警器分享

    報(bào)警器是一種用于防止或預(yù)防某事件發(fā)生所造成的后果的電子產(chǎn)品。它通過(guò)聲音、光、氣壓等形式來(lái)提醒或警示人們采取某種行動(dòng)。報(bào)警器可以分為機(jī)械式報(bào)警器和電子報(bào)警器,其中電子
    的頭像 發(fā)表于 02-07 15:33 ?682次閱讀
    門把手觸摸<b class='flag-5'>報(bào)警器</b>分享

    基于51單片機(jī)的紅外報(bào)警器的設(shè)計(jì)與制作

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的紅外報(bào)警器的設(shè)計(jì)與制作.rar》資料免費(fèi)下載
    發(fā)表于 01-12 09:18 ?23次下載

    基于51單片機(jī)的紅外報(bào)警器的設(shè)計(jì)與制作

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的紅外報(bào)警器的設(shè)計(jì)與制作.rar》資料免費(fèi)下載
    發(fā)表于 01-03 11:32 ?11次下載

    報(bào)警器電路圖大全

    報(bào)警器是一種為防止或預(yù)防某事件發(fā)生所造成的后果,以聲音、光、氣壓等形式來(lái)提醒或警示我們應(yīng)當(dāng)采取某種行動(dòng)的電子產(chǎn)品。報(bào)警器(alarm),分為機(jī)械式報(bào)警器和電子報(bào)警器。隨著科技的進(jìn)步,機(jī)
    的頭像 發(fā)表于 12-27 17:15 ?2572次閱讀
    <b class='flag-5'>報(bào)警器</b>電路圖大全

    汽車蓄電池報(bào)警器制作與調(diào)試

    汽車蓄電池報(bào)警器制作與調(diào)試 ?
    發(fā)表于 12-07 10:32 ?1次下載

    煙霧報(bào)警器無(wú)線收發(fā)方案

    本產(chǎn)品為智能光電煙霧報(bào)警器,采用超低功耗無(wú)線組網(wǎng)技術(shù)FSK SUB-1G無(wú)線收發(fā)芯片模塊設(shè)計(jì),能夠?qū)崟r(shí)監(jiān)視探測(cè)煙霧的存在, 一旦檢測(cè)到煙霧火農(nóng)危險(xiǎn),
    的頭像 發(fā)表于 10-23 19:22 ?985次閱讀
    <b class='flag-5'>煙霧</b><b class='flag-5'>報(bào)警器</b>無(wú)線收發(fā)方案

    基于單片機(jī)的汽車防盜報(bào)警器的設(shè)計(jì)與制作

    電子發(fā)燒友網(wǎng)站提供《基于單片機(jī)的汽車防盜報(bào)警器的設(shè)計(jì)與制作.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 10:35 ?3次下載
    基于單片機(jī)的汽車防盜<b class='flag-5'>報(bào)警器</b>的設(shè)計(jì)與<b class='flag-5'>制作</b>