Inhaltsverzeichnis:

Controle De Gas E Poeira Com O NodeMCU - Gunook
Controle De Gas E Poeira Com O NodeMCU - Gunook

Video: Controle De Gas E Poeira Com O NodeMCU - Gunook

Video: Controle De Gas E Poeira Com O NodeMCU - Gunook
Video: IoT Based Food Spoilage Detection System with Arduino ESP8266 WiFi | MQ4 Methane | DHT11 | Moisture 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 mediar níveis de poeira und gás num dado ambiente, und compartilharestes dados nas nuvens em seu celular, einschließlich unterschiedlicher E-Mail-Benachrichtigungen über caso os valores lidos sejam als altos.

Schritt 1: Komponenten

Komponenten
Komponenten
Komponenten
Komponenten

Os seguintes Componentes são utilizados:

  • KnotenMCU
  • Gassensor MQ-2
  • Sensor für Poeira und Fumaça Dsm501a Arduino

É Wichtiger Observar que a pinagem do NodeMCU não segue oder padrão GPIO.

Schritt 2: Aplicativos

Os seguintes aplicativos são utilizados:

ThingSpeak: kostenlose IoT-Plattform als Open-Source-Plattform, erlaubt Upload von Informationen und nachträglicher Visualisierung in Echtzeit;

Blynk: um eine Plattform zuzulassen, die die Integration von einfachen Smartphones (iOS und Android) mit Microcontroladores (Arduino, Node MCU, Raspberry Pi, Entre Outros) erlaubt.

Schritt 3: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Siga als Instruções do Site:

Em seguida, crie um novo canal, e defina os parâmetros que serão recebidos. Você receberá um número de identificação (ID) do canal criado em seu E-Mail. Este ID é notário for fazer oder upload de dados para o seu canal.

Agora, vamos configurar o Blynk:

Baixe o aplicativo do Blynk für seu Android, ist ohne Service. Em seguida, crie um novo projeto, e escolha a plataforma, neste caso oder NodeMCU. Após a criação do projeto, será enviado para seu e-mail um token de autenticação.

Schritt 4: Programmieren

Para a codificação do no NodeMCU, utilizamos a IDE do Arduino (veja aqui como configurar:

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

#enthalten

WiFiClient-Client; /* Blynk */ #define BLYNK_PRINT Seriennummer #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 analog

int valor_mq2 = 0;

/* Sensor de Poeira */

#define dsmpin 2 // DSM501A Eingabe D4 Byte Buff [2]; lange Dauer ohne Vorzeichen; lange Startzeit ohne Vorzeichen; lange Endzeit ohne Vorzeichen; unsigned long sampletime_ms = 1000; vorzeichenlose lange niedrige Pulsbelegung = 0; Schwimmerverhältnis = 0; Schwimmerkonzentration = 0;

/************************************************ ** * Recebendo Dados do Sensor de Gás **************************************** *********/void getGasData (void) {valor_mq2 = 0; Verzögerung (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 alerta de gás enviado"); } } /************************************************ **** * Recebendo Dados do Sensor de Poeira **************************************** **********/void getPoeiraData (void) { Dauer = pulseIn (dsmpin, LOW); niedrige Pulsbelegung += Dauer; Endzeit = Millis(); Schwimmer aux1, aux2 = 0; if ((Endzeit-Startzeit) > Sampletime_ms) { Aux1 = (Lowpulseoccupancy-Endzeit + Startzeit + Sampletime_ms)/(sampletime_ms*10.0); // Integer-Prozentsatz 0=>100 aux2 = 0.1*pow(aux1, 2)+(619*aux1)+50; // Verwendung der Datenblattkurve if (aux1 42){ Blynk.email("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira!!!"); Serial.println(" email de alerta de poeira enviado"); } } }

Beachten Sie 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 elevdos:

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. Für die Kommunikation mit ThingSpeak, die Nutzung des HTTP-Protokolls, die Voraussetzung für POST.

/************************************************ ** * Enviando os Dados para o ThingSpeak ********************************************* *********/void sendDataTS (void) { if (client.connect (server, 80)) { String postStr = apiKey; postStr += "&field1="; postStr += String(Verhältnis); postStr += "&field2="; postStr += String(Konzentration); 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("Verbindung: schließen\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Content-Type: application/x-www-form-urlencoded\n"); client.print("Inhaltslänge: "); client.print (postStr.length()); client.print("\n\n"); client.print(postStr); Verzögerung (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 dos propoeçe de poeira e gás (concentração de gás). No ThingSpeak, você pode visualizar als informações em forma de gráficos.

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

/************************************************ ** * Enviando Dados für Blynk ****************************************** ********/void sendDataBlynk () { Blynk.virtualWrite (10, Verhältnis); // Pin V10 Blynk.virtualWrite (11, Konzentration); // Pin V11 Blynk.virtualWrite (12, valor_mq2); // virtueller Pin V12}

Schritt 5: Fazit

Completando este guia com sucesso, você poderá tanto visualizar em seu cellular informações de gás and poeira em um dado ambiente, como acompanhar a evolução destes dados através de gráficos pela internet.

Autor:

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

Empfohlen: