Kazalo:

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

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

Video: Controle De Gás E Poeira Com O NodeMCU: 5 korakov
Video: How to make a Nodemcu GAS LEVEL MONITORING system | Blynk with GAS LEVEL MONITORING [MQ2 sensor] 2024, November
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, e compatilhar estes dados nas nuvens e em seu celular, incluindo disparar um e-mail de alertta caso os valores lidos sejam obzirrado altos.

1. korak: Komponente

Sestavni deli
Sestavni deli
Sestavni deli
Sestavni deli

Os seguintes komponente, ki se uporabljajo:

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

Pomembno je opazovati, da se NodeMCU ne odkloni od GPIO.

2. korak: Aplicativos

Os seguintes aplicativos são utilizados:

ThingSpeak: brezplačna odprtokodna brezplačna IoT aplikacija, ki dovoljuje nalaganje informacij in zadnje vizualizacije grma v realnem tempu;

Blynk: uma plataforma que permite integração mais simples entre smartphones (iOS e Android) com microcontroladores (Arduino, Node MCU, Raspberry Pi, entre outros).

3. korak: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Siga kot navodila na spletnem mestu:

Em seguida, crie um novo channel, e defina os parâmetros que serão recebidos. Poiščite identifikacijsko številko (ID) za e-pošto kanala criado em seu. Este ID je potreben za nalaganje ali nalaganje podatkov o kanalu seu.

Agora, vamos konfigurator ali Blynk:

Baixe ali aplicativo do Blynk za Android, e cria uma conta no serviço. 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.

4. korak: Programação

Če želite kodificirati do NodeMCU, uporabite IDE do Arduino (več kot konfigurator konfiguracije:

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

#vključi

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

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

/ * Sensor de gás */#define mq2 A0 // analog MQ-2

int valor_mq2 = 0;

/ * Senzor de Poeira */

#define dsmpin 2 // DSM501A vhod D4 bajt baff [2]; dolgo podpisano brez podpisa; nepodpisan dolg čas začetka; dolgo podpisano brez podpisa; nepodpisani dolgi čas vzorčenja_ms = 1000; nepodpisana dolga nizka pulzna zasedenost = 0; plavajoče razmerje = 0; plavajoča koncentracija = 0;

/*********************************************** ***Sprejemite podatke o senzorju de Gás ***************************************** *********/ void getGasData (void) {valor_mq2 = 0; zamuda (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"); }} /*********************************************** *****Recebendo Dados do Sensor de Poeira ************************************* ***********/ void getPoeiraData (void) {duration = pulseIn (dsmpin, LOW); nizka pulzna zasedenost += trajanje; endtime = millis (); plovec aux1, aux2 = 0; if ((endtime-starttime)> sampletime_ms) {aux1 = (lowpulseoccupancy-endtime + starttime + sampletime_ms)/(sampletime_ms*10.0); // Celo število odstotkov 0 => 100 aux2 = 0,1*pow (aux1, 2)+(619*aux1) +50; // z uporabo krivulje lista specifikacij if (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("email de alertta de poeira enviado"); }}}

Opazujte que, em ambas funções acima, utilizamos uma função do Blynk para disparar um email, como um alerta 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 ali ThingSpeak, uporaba protokola HTTP, učinkovita zahteva zahteva POST.

/*********************************************** ***Enviando os Dados za ThingSpeak ***************************************** *********/ void sendDataTS (void) {if (client.connect (server, 80)) {String postStr = apiKey; postStr += "& polje1 ="; postStr += niz (razmerje); postStr += "& polje2 ="; postStr += niz (koncentracija); postStr += "& field3 ="; postStr += niz (valor_mq2); postStr += "\ r / n / r / n"; client.print ("POST /posodobi HTTP /1.1 / n"); client.print ("Gostitelj: api.thingspeak.com / n"); client.print ("Povezava: zaprta / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Vrsta vsebine: aplikacija/x-www-form-urlencoded / n"); client.print ("Content-Length:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); zamuda (1000); } client.stop (); }

Neste código, é montado o cabeçalho da requisição HTTP, adicionando o ID do canal criado (apiKey), e uma string contendo cada um dos parâmetros identificados na criação do canal, com os valores lidos dos sensores de poeira (koncentração e proporço) e gás (koncentração de gás). No ThingSpeak, vizualiziran kot prikaz informacij v obliki zapisa gráficos.

Končno, v sporočilih, ki so na voljo za Android com ali Blynk:

/*********************************************** ***Enviando Dados za Blynk **************************************** ********/ void sendDataBlynk () {Blynk.virtualWrite (10, razmerje); // pin V10 Blynk.virtualWrite (11, koncentracija); // pin V11 Blynk.virtualWrite (12, valor_mq2); // navidezni pin V12}

5. korak: Zaključite

Completando este guia com sucesso, você poderá tanto visualizar em seu mobilnih informacij o koncentraciji de gás e poeira em um dado ambiente, como acompanhar in evolução destes dados através de gráficos pela internet.

Autores:

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

Priporočena: