Daftar Isi:

Kontrol De Gás E Poeira Com O NodeMCU: 5 Langkah
Kontrol De Gás E Poeira Com O NodeMCU: 5 Langkah

Video: Kontrol De Gás E Poeira Com O NodeMCU: 5 Langkah

Video: Kontrol De Gás E Poeira Com O NodeMCU: 5 Langkah
Video: 40 полезных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #5 2024, Desember
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, incluindo disparar um e-mail de alerta caso os valores lidos sejam mempertimbangkan altos.

Langkah 1: Komponen

Komponen
Komponen
Komponen
Komponen

Semua komponen dan kegunaannya:

  • NodeMCU
  • Sensor Gas MQ-2
  • Sensor de Poeira dan Fumaça Dsm501a Arduino

observasi penting dari pinagem lakukan NodeMCU tanpa segue atau padrão GPIO.

Langkah 2: Aplikasi

Semua aplikasi dapat digunakan untuk digunakan:

ThingSpeak: uma plataforma IoT open source gratis, izinkan untuk mengunggah informasi dan visualisasi posterior gráfica em tempo real;

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

Langkah 3: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Siga sebagai instruções lakukan situs:

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

Agora, konfigurasi vamos o Blynk:

Perbaiki aplikasi untuk Blynk untuk Android, dan tidak ada layanan. 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.

Langkah 4: Program

Para a codificação melakukan projeto no NodeMCU, menggunakan IDE untuk Arduino (veja aqui como configurar:

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

#termasuk

Klien WiFiClient; /* Blynk */ #define BLYNK_PRINT Serial #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 keberanian_mq2 = 0;

/* Sensor de Poeira */

#define dsmpin 2 //DSM501A masukan D4 byte buff[2]; durasi panjang yang tidak ditandatangani; waktu mulai lama yang tidak ditandatangani; akhir waktu panjang yang tidak ditandatangani; unsigned long sampletime_ms = 1000; unsigned long lowpulseoccupancy = 0; rasio mengambang = 0; konsentrasi mengambang = 0;

/************************************************* ** * Recebendo Dados do Sensor de Gás ***************************************** *********/ void getGasData(void) { valor_mq2 = 0; penundaan (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) { durasi = pulseIn(dsmpin, LOW); lowpulseoccupancy += durasi; waktu akhir = mili(); float aux1, aux2 =0; if ((waktu-akhir-waktu-mulai) > sampletime_ms) { aux1 = (lowpulseoccupancy-endtime+starttime + sampletime_ms)/(sampletime_ms*10.0); // Persentase bilangan bulat 0=>100 aux2 = 0,1*pow(aux1, 2)+(619*aux1)+50; // menggunakan kurva lembar spesifikasi if (aux1 42){ Blynk.email("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira!!!"); Serial.println("email de alerta de poeira enviado"); } } }

Amati 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 comunicao com o ThingSpeak, utilizaremos o protokol HTTP, efetuando uma requisição POST.

/************************************************* ** * Enviando os Dados para o ThingSpeak ***************************************** *********/ void sendDataTS(void) { if (client.connect(server, 80)) { String postStr = apiKey; postStr += "&field1="; postStr += String(rasio); postStr += "&field2="; postStr += String(konsentrasi); postStr += "&field3="; postStr += String(keberanian_mq2); postStr += "\r\n\r\n"; client.print("POST /update HTTP/1.1\n"); client.print("Host: api.thingspeak.com\n"); client.print("Koneksi: tutup\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Jenis Konten: application/x-www-form-urlencoded\n"); client.print("Panjang Konten: "); client.print(postStr.length()); klien.print("\n\n"); klien.print(postStr); penundaan (1000); } klien.stop(); }

Neste código, é montado o cabeçalho da requisição HTTP, adicionando o ID do canal criado (apiKey), e uma string challengeo cada um dos parâmetros identificados na criação do canal, com os valores dos sensores de poeira (concentra de poeira) e gás (konsentrasi de gás). No ThingSpeak, você pode visualizar as informações em forma de gráficos.

Terakhir, enviamos os mesmos dados untuk aplikasi Android com o Blynk:

/************************************************* ** * Enviando Dados para o Blynk ****************************************** ********/ void sendDataBlynk() { Blynk.virtualWrite(10, rasio); //pin V10 Blynk.virtualWrite(11, konsentrasi); // pin V11 Blynk.virtualWrite(12, valor_mq2); //pin virtual V12 }

Langkah 5: Kesimpulan

Lengkapi este guia com sucesso, você poderá tanto visualizar em seu celular informaes de concentração de gás e poeira em um dado ambiente, como acompanhar a evolução destes dados através de gráficos pela internet.

Autore:

  • Egon Patrick Marques Silva
  • Frederico Clark
  • Paola Froes

Direkomendasikan: