Inhoudsopgave:

Controle De Gás E Poeira Com O NodeMCU - Ajarnpa
Controle De Gás E Poeira Com O NodeMCU - Ajarnpa

Video: Controle De Gás E Poeira Com O NodeMCU - Ajarnpa

Video: Controle De Gás E Poeira Com O NodeMCU - Ajarnpa
Video: Arduino Tutorial for Beginners 10 - Read from Photosensitive Sensor,Gas Sensor,Microphone 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 en gás num dado ambiente, en compartilharestes dados nas nuvens e em seu celular, include dispararum e-mail de alerta caso os valores sejam considerados altos.

Stap 1: Componenten

componenten
componenten
componenten
componenten

Andere onderdelen van het gebruik:

  • KnooppuntMCU
  • Sensor de Gas MQ-2
  • Sensor de Poeira en Fumaça Dsm501a Arduino

Een belangrijk observar que a pinagem do NodeMCU geen vervolg op padrão GPIO.

Stap 2: Toepassingen

Andere nuttige toepassingen:

ThingSpeak: een plataforma IoT open source gratuito, die uploadt van informações en posterior visualizáção grafisch em tempo real;

Blynk: u kunt een eenvoudige integratie van smartphones (iOS en Android) en microcontrollers (Arduino, Node MCU, Raspberry Pi, entre outros) maken.

Stap 3: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Siga zoals beschreven site:

Em seguida, roep het nieuwe kanaal, en definieer het parâmetros que serão recebidos. Você receberá um número de identificação (ID) do canal criado em seu e-mail. Este ID is nodig voor het uploaden van de dados voor een ander kanaal.

Agora, vamos configurar o Blynk:

Baixe o aplicativo do Blynk voor seu Android, e cria uma conta no serviço. Em seguida, crie um novo projeto, escolha a plataforma, neste caso of NodeMCU. U kunt een verzoek indienen om een e-mail te sturen naar een autenticação.

Stap 4: Programmeren

Voor een code van een projeto geen NodeMCU, gebruik een IDE voor Arduino (veja aqui como configurar:

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

#erbij betrekken

WiFiClient-client; /* Blynk */ #define BLYNK_PRINT Serienummer #include

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

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

int valor_mq2 = 0;

/* Sensor de Poeira */

#define dsmpin 2 //DSM501A invoer D4 byte buff [2]; ongetekende lange duur; ongetekende lange starttijd; ongetekende lange eindtijd; niet-ondertekende lange sampletime_ms = 1000; niet-ondertekende lange lage pulsbezetting = 0; vlotterverhouding = 0; vlotterconcentratie = 0;

/************************************************** ** * Recebendo Dados do Sensor de Gás **************************************** **********/ ongeldig getGasData(void) {valor_mq2 = 0; vertraging (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 voor het ontvangen van berichten"); } } /************************************************** **** * Recebendo Dados do Sensor de Poeira **************************************** ***********/ void getPoeiraData(void) {duur = pulseIn(dsmpin, LOW); lage pulsbezetting += duur; eindtijd = millis(); zweven aux1, aux2 =0; if ((eindtijd-starttijd) > sampletime_ms) { aux1 = (lowpulseoccupancy-eindtijd+starttime + sampletime_ms)/(sampletime_ms*10.0); // Integer percentage 0=>100 aux2 = 0.1*pow(aux1, 2)+(619*aux1)+50; // gebruik specificatiebladcurve if (aux1 42){ Blynk.email("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira!!!"); Serial.println(" e-mail de waarschuwing van de poeira enviado"); } } }

Let op que, em ambas funções acima, utilizamos uma função do Blynk para disparar um e-mail, como um alerta caso os níveis de gás e poeira atinjam eis 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. Voor communicatie met ThingSpeak, gebruik van HTTP-protocollen, voor gebruik van POST.

/************************************************** ** * Enviando os Dados para o ThingSpeak ***************************************** *********/ void sendDataTS(void) {if (client.connect(server, 80)) { String postStr = apiKey; postStr += "&field1="; postStr += String (verhouding); postStr += "&field2="; postStr += String (concentratie); postStr += "&field3="; postStr += String (valor_mq2); postStr += "\r\n\r\n"; client.print("POST /update HTTP/1.1\n"); client.print("Host: api.thingspeak.com\n"); client.print("Verbinding: sluiten\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Inhoudstype: applicatie/x-www-form-urlencoded\n"); client.print ("Inhoudslengte: "); client.print(postStr.length()); cliënt.print("\n\n"); cliënt.print(postStr); vertraging (1000); } klant.stop(); }

Neste codigo, e montado of cabeçalho da requisição HTTP, adicionando o ID do canal criado (apiKey), en uma string strijdo cada um dos parâmetros identificados on criação do canal, com os valores lidos dos sensores de poeira e gás (concentração de gás). 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 voor Blynk ***************************************** ********/ void sendDataBlynk() { Blynk.virtualWrite(10, verhouding); //pin V10 Blynk.virtualWrite (11, concentratie); // pin V11 Blynk.virtualWrite (12, valor_mq2); //virtuele pin V12}

Stap 5: Conclusie

Het is volledig mogelijk om een visuele achtergrond te hebben voor het zien van mobiele informatie over de concentratie van het gas en de omgeving, om samen te werken met de ontwikkeling van het internet.

Auto's:

  • Egon Patrick Marques Silva
  • Frederico Clark
  • Paola Froes

Aanbevolen: