Satura rādītājs:

Kontrole De Gás E Poeira Com O NodeMCU: 5 soļi
Kontrole De Gás E Poeira Com O NodeMCU: 5 soļi

Video: Kontrole De Gás E Poeira Com O NodeMCU: 5 soļi

Video: Kontrole De Gás E Poeira Com O NodeMCU: 5 soļi
Video: Arduino - Usando o módulo sensor de gás 2024, Novembris
Anonim
Kontrole De Gás E Poeira Com O NodeMCU
Kontrole 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 Regardrados altos.

1. darbība: sastāvdaļas

Sastāvdaļas
Sastāvdaļas
Sastāvdaļas
Sastāvdaļas

Os seguintes komponentes são utilizados:

  • NodeMCU
  • Gāzes sensors MQ-2
  • Poeira un Fumaça Dsm501a Arduino sensors

Svarīgi ir novērot NodeMCU piogem GPIO.

2. darbība. Aplicativos

Os seguintes aplicativos são utilizados:

ThingSpeak: uma plataforma IoT atvērtā koda bezmaksas, que permite upload de infoções e posterior visualização gráfica em tempo real;

Blynk: uma plataforma que permite integração mais simples Entre smartphones (iOS e Android) com microcontroladores (Arduino, Node MCU, Raspberry Pi, entre outros).

3. darbība: montāža Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Siga, kā norādīts vietnē:

Em seguida, crie um novo canal, e defina os parâmetros que serão recebidos. Você receberá um número de identifação (ID) do canal criado em seu e-mail. Este ID ir nepieciešams, lai to varētu augšupielādēt vai augšupielādēt.

Agora, vamos configurar vai Blynk:

Baixe vai aplicativo do Blynk par Android, e cria uma conta no service. Em seguida, crie um novo projeto, e escolha a plataforma, nest caso vai NodeMCU. Após a criação do projeto, será enviado para seu e-mail um token de autenticação.

4. solis: Programação

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

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

#iekļaut

WiFiClient klients; / * 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 valor_mq2 = 0;

/ * Poeira sensors */

#define dsmpin 2 // DSM501A ievade D4 baitu bufete [2]; neparakstīts ilgs laiks; neparakstīts ilgs sākuma laiks; neparakstīts ilgs beigu laiks; neparakstīts ilgs sampletime_ms = 1000; neparakstīts garais zemais cilvēku skaits = 0; pludiņa attiecība = 0; pludiņa koncentrācija = 0;

/************************************************ ***Recebendo Dados do Sensor de Gás **************************************** *********/ void getGasData (anulēts) {valor_mq2 = 0; kavēšanās (1000); int N = 9; par (int i = 0; i 130) {Blynk.email ("[email protected]", "Sensor de Gás", "ALERTA de Concentração de Gás !!!"); Serial.println ("e -pasts de alerta de gás enviado"); }} /********************************************** *****Recebendo Dados do Sensor de Poeira ************************************** ***********/ void getPoeiraData (void) {duration = pulseIn (dsmpin, LOW); zema pulsācija += ilgums; beigu laiks = milis (); pludiņš aux1, aux2 = 0; ja ((beigu laiks-sākuma laiks)> parauga laiks_ms) {aux1 = (zema pulsa slodze-beigu laiks + sākuma laiks + parauga laika_ms)/(parauga laika_ms*10,0); // Vesela skaitļa procentuālā daļa 0 => 100 aux2 = 0,1*pow (aux1, 2)+(619*aux1) +50; // izmantojot specifikācijas lapas līkni, ja (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("e -pasts de alerta de poeira enviado"); }}}

Ievērojiet 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 vai ThingSpeak. Sazinieties ar ThingSpeak, izmantojot HTTP vai protokolu, izmantojot POST.

/************************************************ ***Enviando os Dados para vai ThingSpeak **************************************** *********/ void sendDataTS (void) {if (client.connect (server, 80)) {String postStr = apiKey; postStr += "& lauks1 ="; postStr += String (attiecība); postStr += "& lauks2 ="; postStr += String (koncentrācija); postStr += "& lauks3 ="; postStr += String (valor_mq2); postStr += "\ r / n / r / n"; client.print ("POST /atjaunināt HTTP /1.1 / n"); client.print ("Saimnieks: api.thingspeak.com / n"); client.print ("Savienojums: aizvērt / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Content-Type: application/x-www-form-urlencoded / n"); client.print ("Content-Length:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); kavēšanās (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 sensores de poeira (koncentração e proporção de poeira) e gás (koncentrācija). No ThingSpeak, vokālā režīma vizualizācija kā informācijas forma.

Finalmente, enviamos os mesmos dados para um applicativo Android com or Blynk:

/************************************************ ***Enviando Dados para o Blynk ***************************************** ********/ void sendDataBlynk () {Blynk.virtualWrite (10, attiecība); // pin V10 Blynk.virtualWrite (11, koncentrācija); // pin V11 Blynk.virtualWrite (12, valor_mq2); // virtuālā tapa V12}

5. solis: Conclusão

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

Autores:

  • Egons Patriks Marks Silva
  • Frederiko Klārks
  • Paola Frūsa

Ieteicams: