Sisukord:

Kontroll De Gás E Poeira Com O NodeMCU: 5 sammu
Kontroll De Gás E Poeira Com O NodeMCU: 5 sammu

Video: Kontroll De Gás E Poeira Com O NodeMCU: 5 sammu

Video: Kontroll De Gás E Poeira Com O NodeMCU: 5 sammu
Video: EPS 7 DC Motor Series - Turbo Intercooler Fan Speed Management (Subtittled) 2024, November
Anonim
Kontroll De Gás E Poeira Com O NodeMCU
Kontroll 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.

Samm: komponendid

Komponendid
Komponendid
Komponendid
Komponendid

Os seguintes komponendid são utilizados:

  • NodeMCU
  • Gaasi MQ-2 andur
  • Poeira and Fumaça Dsm501a Arduino andur

Oluline on jälgida NodeMCU pinagem GPIO -d.

2. samm: rakendused

Os seguintes aplicativos são utilizados:

ThingSpeak: uma plataforma IoT avatud lähtekoodiga tasuta, 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 to smartphones (iOS and Android) com microconroladores (Arduino, Node MCU, Raspberry Pi, entre outros).

Samm 3: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Vaadake saidi juhiseid:

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 on hädavajalik ja fazer või üleslaaditud de dados para o seu kanal.

Agora, vamos configurar või Blynk:

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

Samm 4: Programação

NodeMCU-d ei tohi kasutada, IDD do Arduino (veja aqui como konfiguraator:

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

#kaasake

WiFiClient klient; / * 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 analoog

int valor_mq2 = 0;

/ * Poeira andur */

#define dsmpin 2 // DSM501A sisend D4 baitpuhver [2]; allkirjastamata pikk kestus; allkirjastamata pikk algusaeg; allkirjastamata pikk lõpuaeg; allkirjastamata pikk sampletime_ms = 1000; allkirjastamata pikk madalimpulss = 0; ujuki suhe = 0; ujuki kontsentratsioon = 0;

/************************************************ ***Recebendo Dados do Sensor de Gás **************************************** *********/ void getGasData (tühine) {valor_mq2 = 0; viivitus (1000); int N = 9; (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 (tühine) {duration = pulseIn (dsmpin, LOW); madal impulsside täituvus += kestus; lõppaeg = millis (); ujuk aux1, aux2 = 0; if ((lõpuaeg-algusaeg)> prooviaja_ms) {aux1 = (madalpulseoccupancy-endtime + starttime + sampletime_ms)/(sampletime_ms*10,0); // täisarvu protsent 0 => 100 aux2 = 0,1*pow (aux1, 2)+(619*aux1) +50; // kasutades spetsifikatsioonilehe kõverat, kui (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("email de alerta de poeira enviado"); }}}

Jälgige 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 või ThingSpeak. Kasutage ThingSpeak'i, HTTP -protokolli kasutamist või protokolli, mis on vajalik POST -i kasutamiseks.

/************************************************ ***Enviando os Dados para või ThingSpeak **************************************** *********/ void sendDataTS (void) {if (client.connect (server, 80)) {String postStr = apiKey; postStr += "& väli1 ="; postStr += String (suhe); postStr += "& väli2 ="; postStr += String (kontsentratsioon); postStr += "& väli3 ="; postStr += String (valor_mq2); postStr += "\ r / n / r / n"; client.print ("POST /uuenda HTTP /1.1 / n"); client.print ("Host: api.thingspeak.com / n"); client.print ("Ühendus: sulge / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Content-Type: application/x-www-form-urlencoded / n"); client.print ("Sisu-pikkus:"); klient.print (postStr.length ()); klient.print ("\ n / n"); klient.print (postStr); viivitus (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 identificos na criação do canal, com os valores lidos dos sensores de poeira (kontsentração e proportsion) e gás (kontsentraatõde). No ThingSpeak, visuaalne visualiseerija kui teave teabe vormis.

Lõplik, enviamos os mesmos dados Android -rakenduses või Blynk:

/************************************************ ***Enviando Dados para o Blynk ***************************************** ********/ void sendDataBlynk () {Blynk.virtualWrite (10, suhe); // tihvt V10 Blynk.virtualWrite (11, kontsentratsioon); // pin V11 Blynk.virtualWrite (12, valor_mq2); // virtuaalne tihvt V12}

Samm: 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:

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

Soovitan: