Spisu treści:

Controle De Gás E Poeira Com O NodeMCU: 5 kroków
Controle De Gás E Poeira Com O NodeMCU: 5 kroków

Wideo: Controle De Gás E Poeira Com O NodeMCU: 5 kroków

Wideo: Controle De Gás E Poeira Com O NodeMCU: 5 kroków
Wideo: How to make a Nodemcu GAS LEVEL MONITORING system | Blynk with GAS LEVEL MONITORING [MQ2 sensor] 2024, Listopad
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 compartilhar estes dados nas nuvens e em seu celular, w tym disparar um e-mail de alerta caso os valores lidos sejam attentionados altos

Krok 1: Komponenty

Komponenty
Komponenty
Komponenty
Komponenty

Os seguintes componentes são utilizados:

  • WęzełMCU
  • Czujnik gazu MQ-2
  • Czujnik Poeira e Fumaça Dsm501a Arduino

Ważny obserwator que a pinagem do NodeMCU não segue o padrão GPIO.

Krok 2: Aplikacje

Os seguintes aplicativos são utilizados:

ThingSpeak: uma plataforma IoT open source za darmo, que allowe upload de informações e a posteriori visualização grafica em tempo real;

Blynk: uma platforma pozwalająca na integrację większości prostych smartfonów (iOS i Android) z mikrokontrolerami (Arduino, Node MCU, Raspberry Pi, wszystkie zewnętrzne).

Krok 3: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Siga as instruções do site:

Em seguida, crie um novo canal, e defina os parametros que serão recebidos. Você receberá um número de identificação (ID) do canal criado em seu e-mail. Este ID é necessário para fazer o upload de dados para o seu canal.

Agora, konfiguracja vamos o Blynk:

Baixe lub aplikacja do Blynk dla Androida, i ciesz się bez usługi. 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.

Krok 4: Programowanie

Dla codificação do projektu no NodeMCU, użyj IDE do Arduino (konfiguracja konfiguracji:

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

#włączać

Klient WiFiClient; /* Blynk */ #define BLYNK_PRINT Serial #include

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

/* Czujnik gazu */#define mq2 A0 //MQ-2 analog

int wartość_mq2 = 0;

/* Czujnik Poeira */

#define dsmpin 2 //DSM501A wejście D4 byte buff[2]; niepodpisany długi czas trwania; niepodpisany długi czas rozpoczęcia; niepodpisany długi czas zakończenia; unsigned long sampletime_ms = 1000; unsigned long lowpulseoccupancy = 0; współczynnik pływalności = 0; stężenie pływaka = 0;

/************************************************** ** * Recebendo Dados do Sensor de Gás ***************************************** *********/ void getGasData(void) { valor_mq2 = 0; opóźnienie (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("e-mail de alerta de gas enviado"); } } /************************************************** **** * Recebendo Dados do Sensor de Poeira *************************************** ***********/ void getPoeiraData(void) { czas trwania = pulseIn(dsmpin, LOW); niska zajętość pulsu += czas trwania; czas zakończenia = mili(); pływak aux1, aux2 =0; if ((czas zakończenia-początku) > czas_próbkowania_ms) { aux1 = (czas zakończenia-zakończenia małego pulsu + czas startu + czas przykładki_ms)/(czas_próbki_ms*10.0); // Procent całkowity 0=>100 aux2 = 0.1*pow(aux1, 2)+(619*aux1)+50; // użycie krzywej arkusza specyfikacji if (aux1 42){ Blynk.email("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira!!!"); Serial.println("e-mail de alerta de poeira enviado"); } } }

Obserwuj 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 o ThingSpeak, utilizaremos o protocolo HTTP, efetuando uma requisição POST.

/************************************************** ** * Enviando o Dados dla ThingSpeak ***************************************** *********/ void sendDataTS(void) { if (client.connect(server, 80)) { String postStr = apiKey; postStr += "&field1="; postStr += String(stosunek); postStr += "&field2="; postStr += String(stężenie); postStr += "&field3="; postStr += String(valor_mq2); postStr += "\r\n\r\n"; client.print("POST /aktualizacja HTTP/1.1\n"); client.print("Host: api.thingspeak.com\n"); client.print("Połączenie: zamknij\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Typ treści: application/x-www-form-urlencoded\n"); client.print("Długość-treści: "); klient.print(postStr.length()); klient.print("\n\n"); klient.print(postStr); opóźnienie (1000); } klient.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 parametros identificados na criação do canal, com os valores lidos dos sensores de poeira (apiKey) e gas (concentração de gas). No ThingSpeak, você pode visualizar as informações em forma de graficos.

Finalmente, enviamos os mesmos dados para um aplicativo Android com o Blynk:

/************************************************** ** * Enviando Dados dla Blynk ****************************************** ********/ void sendDataBlynk() { Blynk.virtualWrite(10, ratio); //przypnij V10 Blynk.virtualWrite(11, koncentracja); // pin V11 Blynk.virtualWrite(12, valor_mq2); //wirtualny pin V12 }

Krok 5: Podsumowanie

Completando este guia com sucesso, você poderá tanto visualizar em seu celular informações de concentração de gaz e poeira em um dado ambiente, como acompanhar a evolução destes dados através de graficos pela internet.

Autorzy:

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

Zalecana: