Բովանդակություն:

Controle De Gás E Poeira Com O NodeMCU ՝ 5 քայլ
Controle De Gás E Poeira Com O NodeMCU ՝ 5 քայլ
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 բջջային, ներառյալ անհամապատասխանությունը e-mail de alerta caso os valores lidos sejam konsiderrados altos.

Քայլ 1: Բաղադրիչներ

Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ

Os seguintes componentes são utilizados:

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

É Կարևոր է դիտարկել կապը NodeMCU- ի հետ կամ GPIO- ի միջոցով:

Քայլ 2: Կիրառումը

Os seguintes aplicativos são utilizados:

ThingSpeak: Io plataforma IoT բաց կոդն անվճար է, որը թույլ է տալիս ներբեռնել տեղեկատվությունը և հետագայում visualização gráfica em tempo իրական;

Blynk. Սա թույլ է տալիս պարզեցնել ինտերֆերենցիալ սմարթֆոնները (iOS և Android) և միկրոկառավարման համակարգերը (Arduino, Node MCU, Raspberry Pi, մուտքի ելքեր):

Քայլ 3: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Կայքը տեղադրեք որպես հրահանգ ՝

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

Agora, vamos configurar o Blynk:

Կիրառել կամ կիրառել Blynk- ը Android- ի միջոցով, ինչպես նաև չօգտագործել այն: Em seguida, crie um novo projeto, e escolha a plataforma, neste caso o NodeMCU. Após a criação do projeto, servi enviado para seu e-mail um token de autenticação.

Քայլ 4: ãրագրավորում

Կոդավորման միջոցով կարող եք օգտագործել NodeMCU- ն, օգտագործել IDE- ն և Arduino- ն (այնուհետև կազմաձևեք ՝

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

#ներառում

WiFiClient հաճախորդ; / * Blynk */ #սահմանել BLYNK_PRINT Սերիան #ներառել

Para capturar os dados dos sensores de gás e poeira, foram criadas duas funções:

/ * Sensor de gás */#սահմանել mq2 A0 // MQ-2 անալոգ

int valor_mq2 = 0;

/ * Սենսոր դե Պոյիրա */

#սահմանել dsmpin 2 // DSM501A մուտքագրում D4 բայթ buff [2]; երկարաժամկետ անստորագիր; երկարաժամկետ անստորագիր սկիզբ; երկարաժամկետ անստորագիր; անստորագիր երկար sampletime_ms = 1000; անստորագիր երկար ցածր զարկերակային զբաղվածություն = 0; բոց հարաբերակցությունը = 0; բոցի կոնցենտրացիան = 0;

/********************************************* ***Recebendo Dados do Sensor de Gás ************************************** *********/ void getGasData (անվավեր) {valor_mq2 = 0; ուշացում (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) {duration = pulseIn (dsmpin, LOW); lowpulseoccupancy += տևողություն; ավարտի ժամանակը = millis (); float aux1, aux2 = 0; if ((endtime-starttime)> sampletime_ms) {aux1 = (lowpulseoccupancy-endtime + starttime + sampletime_ms)/(sampletime_ms*10.0); // Ամբողջ տոկոս 0 => 100 aux2 = 0.1*pow (aux1, 2)+(619*aux1) +50; // spec spec sheet կորի օգտագործումը եթե (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("email de alerta de poeira enviado"); }}}

Դիտարկենք, թե ինչպիսի՞ն է մեր գործառույթները, որոնք կօգնեն ձեզ օգտագործել Blynk- ը ՝ ուղարկելով էլ.

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. Օգտագործեք ThingSpeak, օգտագործեք կամ օգտագործեք HTTP արձանագրություն, անհրաժեշտ է օգտագործել POST- ը:

/********************************************** ***Enviando os Dados para o ThingSpeak ************************************** *********/ void sendDataTS (void) {if (client.connect (server, 80)) {String postStr = apiKey; postStr += "& դաշտ 1 ="; postStr += Լար (հարաբերակցություն); postStr += "& դաշտ 2 ="; postStr += լարային (համակենտրոնացում); postStr += "& field3 ="; postStr += Լար (valor_mq2); postStr += "\ r / n / r / n"; client.print ("POST /update HTTP /1.1 / n"); client.print ("Հաղորդավար` api.thingspeak.com / n "); client.print ("Միացում. փակել / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Content-Type: application/x-www-form-urlencoded / n"); client.print ("Բովանդակություն-երկարություն."); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); ուշացում (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 (կենտրոնացում) e gás (կենտրոնացում de gás): No ThingSpeak, ձայնային կոդերը պատկերազարդում են որպես տեղեկատվական ձևերի gráficos:

Վերջապես, enviamos os mesmos dados para um aplicativo Android com o Blynk:

/********************************************* ***Enviando Dados para o Blynk ************************************** ********/ void sendDataBlynk () {Blynk.virtualWrite (10, հարաբերակցություն); // կապ V10 Blynk.virtualWrite (11, համակենտրոնացում); // կապ V11 Blynk.virtualWrite (12, valor_mq2); // վիրտուալ կապում V12}

Քայլ 5: Եզրակացություն

Ամբողջությամբ կարելի է պարզել, թե ինչպես կարելի է արտացոլել մեր բջջային տեղեկատվության կենտրոնացումը, որը վերաբերում է մեր ուշադրությանը, ինչպես նաև զարգացնում է ինտերնետը ՝ օգտագործելով արագ զարգացում:

Ավտոմեքենաներ:

  • Էգոն Պատրիկ Մարկես Սիլվա
  • Ֆրեդերիկո Կլարկ
  • Պաոլա Ֆրեզ

Խորհուրդ ենք տալիս: