İçindekiler:

Controle De Gás E Poeira Com O NodeMCU: 5 Adım
Controle De Gás E Poeira Com O NodeMCU: 5 Adım

Video: Controle De Gás E Poeira Com O NodeMCU: 5 Adım

Video: Controle De Gás E Poeira Com O NodeMCU: 5 Adım
Video: How to make a Nodemcu GAS LEVEL MONITORING system | Blynk with GAS LEVEL MONITORING [MQ2 sensor] 2024, Kasım
Anonim
Controle De Gás E Poeira Com O NodeMCU
Controle De Gás E Poeira Com O NodeMCU

En büyük para trabalho para níveis de poeira ve gás num dado ambiyans, e karşılaştırmalı değerler, temel değerler ve temeller, e-posta uyarıları dahil olmak üzere, her şey dahil.

Adım 1: Bileşenler

Bileşenler
Bileşenler
Bileşenler
Bileşenler

Os seguintes bileşenleri são utilizados:

  • DüğümMCU
  • Gaz Sensörü MQ-2
  • Sensör de Poeira ve Fumaça Dsm501a Arduino

GPIO'nun NodeMCU'su için önemli bir gözlemdir.

2. Adım: Uygulamalar

Os seguintes aplikativos são utilizados:

ThingSpeak: uma plataforma IoT açık kaynak gratuito, que izni yükleme de bilgi ve arka görselleştirme gerçek tempo;

Blynk: akıllı telefonlar (iOS ve Android) ile mikrokontrolörler (Arduino, Node MCU, Raspberry Pi, giriş çıkışları) entegrasyonunu basitleştirmeye izin verir.

3. Adım: Montagem Do Ambiente

Primeiramente, hiçbir ThingSpeak içermez. Siga, sitenin yaptığı gibi:

Em seguida, cue um novo kanal, e defina os parametros que serão recebidos. Você receberá um número de identificação (ID) canal criado em seu e-posta gönder. Este ID é necessário para fazer o yükleme de dados para o seu canal.

Agora, vamos yapılandırıcı o Blynk:

Blynk para o seu Android, e cria uma hiçbir hizmet içermez. Em seguida, cue um novo projeto, e escolha ve plataforma, NodeMCU'nun iç kasası. Bir projeyi onaylayın, enviado para seu e-posta ve autenticação e-posta gönderin.

Adım 4: Programação

NodeMCU projesini kodlamak yerine, Arduino için bir IDE kullanır (veja aqui como configurar:

Primeiramente, vamos incluir bibliotecas para comunicação com o ThingSpeak ve Blynk gerekliliği olarak:

#Dahil etmek

WiFiClient istemcisi; /* Blynk */ #define BLYNK_PRINT Seri #include

En iyi ve en önemli algılayıcılar:

/* Gaz sensörü */#tanımla mq2 A0 //MQ-2 analog

int valor_mq2 = 0;

/* Poeira Sensörü */

#define dsmpin 2 //DSM501A giriş D4 bayt buff[2]; imzasız uzun süre; imzasız uzun başlangıç zamanı; imzasız uzun bitiş zamanı; imzasız uzun sampletime_ms = 1000; işaretsiz uzun düşük nabız doluluk = 0; kayan nokta oranı = 0; yüzer konsantrasyon = 0;

/******************************************************** ** * Recebendo Dados Sensor de Gás yapar ********************************************** *********/ geçersiz getGasData(void) { valor_mq2 = 0; gecikme (1000); int N=9; for(int i = 0; i 130){ Blynk.email("[email protected]", "Gaz Sensörü", "ALERTA de Concentração de Gás!!!"); Serial.println(" enviado de uyarı e-postası"); } } /************************************************************ **** * Recebendo Dados Sensör de Poeira ******************************************** ***********/ void getPoeiraData(void) { süre = pulseIn(dsmpin, LOW); düşük nabız doluluğu += süre; bitiş zamanı = millis(); yüzer yardımcı1, yardımcı2 = 0; if ((bitiş zamanı-başlangıç zamanı) > örnekzaman_ms) { aux1 = (düşük darbeli doluluk-bitiş zamanı+başlangıç zamanı + örnekzaman_ms)/(örnekzamanı_ms*10.0); // Tamsayı yüzdesi 0=>100 aux2 = 0.1*pow(aux1, 2)+(619*aux1)+50; // teknik özellik sayfası eğrisi kullanılarak if (aux1 42){ Blynk.email("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira!!!"); Serial.println(" enviado e-posta uyarısı"); } } }

Şunu gözlemleyin:

Blynk.email("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira!!!");

ThingSpeak ile ilgili tüm duyular salvolar, agora vamos envia-los para o ThingSpeak. ThingSpeak ile iletişim, HTTP protokolü, efetuando uma requisição POST kullanımı.

/******************************************************** ** * Enviando os Dados para o ThingSpeak ********************************************** *********/ void sendDataTS(void) { if (client.connect(sunucu, 80)) { String postStr = apiKey; postStr += "&field1="; postStr += Dize(oran); postStr += "&field2="; postStr += String(konsantrasyon); postStr += "&field3="; postStr += Dize(valor_mq2); postStr += "\r\n\r\n"; client.print("POST /HTTP/1.1 güncelleme\n"); client.print("Ana Bilgisayar: api.thingspeak.com\n"); client.print("Bağlantı: kapat\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Content-Type: application/x-www-form-urlencoded\n"); client.print("İçerik-Uzunluk: "); client.print(postStr.length()); client.print("\n\n"); client.print(postStr); gecikme(1000); } müşteri.durdur(); }

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 (canal, com os valores, com os valores) e gaz (konsantre gaz). No ThingSpeak, você pode visualizar as informações em forma de gráficos.

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

/******************************************************** ** * Enviando Dados para o Blynk ********************************************* ********/ geçersiz sendDataBlynk() { Blynk.virtualWrite(10, oran); //pin V10 Blynk.virtualWrite(11, konsantrasyon); // pin V11 Blynk.virtualWrite(12, valor_mq2); //sanal pin V12 }

Adım 5: Sonuç

Tamamlandı, en iyi şekilde, çevrimiçi görselleştirme ve görselleştirme ile ilgili tüm temel bilgiler ve çevrimiçi ortamlar, çevrimiçi ortamlar ve gelişmeler.

Arabalar:

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

Önerilen: