Turinys:

Kontrolė De Gás E Poeira Com O NodeMCU: 5 žingsniai
Kontrolė De Gás E Poeira Com O NodeMCU: 5 žingsniai

Video: Kontrolė De Gás E Poeira Com O NodeMCU: 5 žingsniai

Video: Kontrolė De Gás E Poeira Com O NodeMCU: 5 žingsniai
Video: Турбовал - КУСТАРНЫЙ ремонт газотурбинной лопатки 2024, Liepa
Anonim
Kontrolė De Gás ir Poeira Com O NodeMCU
Kontrolė De Gás ir 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 tekintes altos.

1 žingsnis: komponentai

Komponentai
Komponentai
Komponentai
Komponentai

Naudojami mišinio komponentai:

  • NodeMCU
  • Dujų jutiklis MQ-2
  • „Poeira“ir „Fumaça Dsm501a Arduino“jutiklis

Svarbus stebėjimas yra „NodeMCU“pagrindinė GPIO sąsaja.

2 žingsnis: Aplicativos

Os seguintes aplicativos são utilizados:

„ThingSpeak“: nemokama IoT atviro kodo interneto platforma, nemokamai įkelkite informaciją ir gaukite vizualinį vaizdą;

Blynk: uma plataforma que permite integração mais simples entre smartfon (iOS and Android) with microcontroladores (Arduino, Node MCU, Raspberry Pi, entre outros).

3 žingsnis: Montagem Do Ambiente

Pirminė, deve-se criar uma neturi ThingSpeak. Siga, kaip nurodyta svetainėje:

Em seguida, crie um novo canal, e defina os parâmetros que serão recebidos. Pašto adresas Você receberá um número de identifação (ID) do canal criado em seu. Este ID yra būtinas, jei norite įkelti ar įkelti kanalą.

Agora, vamos configurar arba Blynk:

„Baixe“arba „Blynk“programa, skirta „Android“ir kitoms paslaugoms. Em seguida, crie um novo projeto, e escolha a plataforma, nestate caso arba NodeMCU. Após a criação do projeto, será enviado para seu e-mail um token de autenticação.

4 žingsnis: Programação

Norėdami sukurti kodą be „NodeMCU“, naudokite „IDE do Arduino“(„Aqua Como“konfigūracija:

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

#įtraukti

„WiFiClient“klientas; / * 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 jutiklis */

#define dsmpin 2 // DSM501A įvestis D4 baitų bufetas [2]; ilgai nepasirašyta; nepasirašytas ilgas pradžios laikas; nepasirašytas ilgas galiojimo laikas; nepasirašytas ilgas sampletime_ms = 1000; nepasirašytas ilgas žemas užimtumas = 0; plūdės koeficientas = 0; plūdės koncentracija = 0;

/************************************************ ***„Gate“davikliai „Sensor de Gás“**************************************** *********/ void getGasData (negalioja) {valor_mq2 = 0; vėlavimas (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 (void) {duration = pulseIn (dsmpin, LOW); žemas pulso užimtumas += trukmė; pabaigos laikas = milis (); plūdė aux1, aux2 = 0; if ((pabaigos laikas-pradžios laikas)> sampletime_ms) {aux1 = (lowpulseoccupancy-endtime + starttime + sampletime_ms)/(sampletime_ms*10.0); // Sveikojo skaičiaus procentas 0 => 100 aux2 = 0,1*pow (aux1, 2)+(619*aux1) +50; // naudojant specifikacijų lapo kreivę, jei (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("email de alerta de poeira enviado"); }}}

Stebėkite, kas yra am 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 arba ThingSpeak. Naudojant „ThingSpeak“komunikaciją, naudojant HTTP protokolą ir naudojant POST.

/************************************************ ***Enviando os Dados para o ThingSpeak **************************************** *********/ void sendDataTS (void) {if (client.connect (server, 80)) {String postStr = apiKey; postStr += "& field1 ="; postStr += Styga (santykis); postStr += "& field2 ="; postStr += Styga (koncentracija); postStr += "& field3 ="; postStr += Styga (valor_mq2); postStr += "\ r / n / r / n"; client.print ("POST /atnaujinti HTTP /1.1 / n"); client.print ("Priegloba: api.thingspeak.com / n"); client.print ("Ryšys: uždaryti / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Turinio tipas: application/x-www-form-urlencoded / n"); client.print ("Turinio ilgis:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); vėlavimas (1000); } client.stop (); }

Neste código, e 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 (koncentração e proporção de poeira) e gás (koncentracija). „No ThingSpeak“, balso vizualizatorius kaip informacijos forma.

Finalmente, enviamos os mesmos dados para app Android “arba„ Blynk “:

/************************************************ ***Enviando Dados para o Blynk ***************************************** ********/ void sendDataBlynk () {Blynk.virtualWrite (10, santykis); // kaištis V10 Blynk.virtualWrite (11, koncentracija); // kaištis V11 Blynk.virtualWrite (12, valor_mq2); // virtualus kaištis V12}

5 žingsnis: „Conclusão“

Išsami informacija apie tai, kas yra sėkminga, vizualizuojanti ir vizualizuojanti kalbą, ir visa informacija apie koncentraciją ir poeziją, kuri yra ambiente, kartu su evolucija ir destruktyviu interneto ryšiu.

Autores:

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

Rekomenduojamas: