Sadržaj:

Controle De Gás E Poeira Com O NodeMCU: 5 koraka
Controle De Gás E Poeira Com O NodeMCU: 5 koraka

Video: Controle De Gás E Poeira Com O NodeMCU: 5 koraka

Video: Controle De Gás E Poeira Com O NodeMCU: 5 koraka
Video: How to make a Nodemcu GAS LEVEL MONITORING system | Blynk with GAS LEVEL MONITORING [MQ2 sensor] 2024, Novembar
Anonim
Controle De Gás E Poeira Com O NodeMCU
Controle De Gás E Poeira Com O NodeMCU

Este foi um trabalho para medir níveis de poeira e gás num dado ambiente, and comparalhar estes dados nas nuvens e em seu celular, incluindo disparr um e-mail de alertta caso os valores lidos sejam obzir altos.

Korak 1: Komponente

Komponente
Komponente
Komponente
Komponente

Osam komponente koje se koriste:

  • NodeMCU
  • Senzor za plin MQ-2
  • Senzor za Poeira i Fumaça Dsm501a Arduino

Važno je obratiti pažnju na NodeMCU koji nije podložan GPIO -u.

Korak 2: Aplicativos

Primjenjuju se samo aplikacije koje se koriste:

ThingSpeak: besplatna IoT besplatna aplikacija s otvorenim kodom, koja dopušta postavljanje informacija i zadnje vizualizacije grafike u realnom tempu;

Blynk: uma platforma koja dozvoljava integraciju jednostavnijih entre pametnih telefona (iOS i Android) sa mikrokontrolerima (Arduino, Node MCU, Raspberry Pi, entre outros).

Korak 3: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Siga kao instrukcije na web stranici:

Em seguida, crie um novo channel, e defina os parâmetros que serão recebidos. Pronađite svoj identifikacijski broj (ID) za slanje e-pošte putem kanala. Este ID je neophodan za postavljanje ili postavljanje podataka o seu kanalu.

Agora, vamos konfigurator ili Blynk:

Baixe aplikacija za Blynk za Android, a nije dostupna ni usluga. Em seguida, crie um novo projeto, e escolha a plataforma, neste caso o NodeMCU. Após a criação do projeto, será enviado para seu e-mail um token de autenticação.

Korak 4: Programiranje

Za kodiranje za projektovanje bez NodeMCU-a, koristite IDE za Arduino (već prilagođeni kao konfigurator:

Primeiramente, vamos incluir as bibliotecas neophodárias para comunicação com o ThingSpeak e o Blynk:

#include

WiFiClient klijent; / * Blynk */ #define BLYNK_PRINT Serijski #include

Para capturar os dados dos sensores de gás e poeira, foram criadas duas funções:

/ * Senzor za rad */#definirajte mq2 A0 // MQ-2 analogno

int valor_mq2 = 0;

/ * Senzor de Poeira */

#define dsmpin 2 // DSM501A ulaz D4 bajt baf [2]; nepotpisano dugo trajanje; nepotpisano dugo vrijeme početka; nepotpisano dugo vrijeme završetka; nepotpisano dugo uzorkovanje_ms = 1000; nepotpisano dugo nisko pulsno zauzeće = 0; plovni odnos = 0; koncentracija plovka = 0;

/************************************************* ***Primite podatke o senzoru za gas ***************************************** *********/ void getGasData (void) {valor_mq2 = 0; kašnjenje (1000); int N = 9; for (int i = 0; i 130) {Blynk.email ("[email protected]", "Sensor de Gás", "ALERTA de Concentração de Gás !!!"); Serial.println ("email de alertta de gás enviado"); }} /*********************************************** *****Primite podatke o senzoru Poeire *************************************** ***********/ void getPoeiraData (void) {duration = pulseIn (dsmpin, LOW); niska pulsna zauzetost += trajanje; endtime = millis (); plovak aux1, aux2 = 0; if ((endtime-starttime)> sampletime_ms) {aux1 = (lowpulseoccupancy-endtime + starttime + sampletime_ms)/(sampletime_ms*10.0); // Cijeli postotak 0 => 100 aux2 = 0,1*pow (aux1, 2)+(619*aux1) +50; // pomoću krivulje specifikacija if (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("email de alertta de poeira enviado"); }}}

Promatrajte que, em ambasador funções acima, iskoristite uma função do Blynk za disparar um email, como um alertta caso os níveis de gás e poeira atinjam níveis elevados:

Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!");

Tendo os dados dos sensores salvos, agora vamos envia-los para o ThingSpeak. Para comunicação com ili ThingSpeak, upotreba protokola HTTP -a, efektivna potreba za POST -om.

/************************************************* ***Zahtjev za ThingSpeak *************************************** *********/ void sendDataTS (void) {if (client.connect (server, 80)) {String postStr = apiKey; postStr += "& polje1 ="; postStr += String (ratio); postStr += "& polje2 ="; postStr += String (koncentracija); postStr += "& polje3 ="; postStr += String (valor_mq2); postStr += "\ r / n / r / n"; client.print ("POST /ažuriraj HTTP /1.1 / n"); client.print ("Domaćin: api.thingspeak.com / n"); client.print ("Veza: zatvori / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Content-Type: application/x-www-form-urlencoded / n"); client.print ("Content-Length:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); kašnjenje (1000); } client.stop (); }

Neste codigo, é montado o cabeçalho da requizição HTTP, dodavanje ID -a kanala criado (apiKey), e uma string contendo cada um dos parâmetros identificados na criação do channel, com os valores lidos dos sensores de poeira (koncentração e proporção) e gás (koncentração de gás). No ThingSpeak, možete vizualizirati glas kao informacije u formatu za grafiku.

Konačno, potrebno je unijeti poruke o aplikacijama za Android sa Blynk -om:

/************************************************* ***Oglasi za Blynk **************************************** ********/ void sendDataBlynk () {Blynk.virtualWrite (10, omjer); // pin V10 Blynk.virtualWrite (11, koncentracija); // pin V11 Blynk.virtualWrite (12, valor_mq2); // virtualni pin V12}

Korak 5: Zaključite

Potpuno estetski guia com sucesso, možete podsetiti da vizualizujete celu mobilnu informaciju o koncentraciji sadržaja i poezije u ambijentu, zajedno sa evolucijom despota i pristupačnosti interneta.

Autores:

  • Egon Patrick Marques Silva
  • Frederico Clark
  • Paola Fróes

Preporučuje se: