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

ეს ნიშნავს, რომ თქვენ გექნებათ შესაძლებლობა შეაფასოთ თქვენი გარემო და შეაფასოთ ის თქვენს მობილურ ტელეფონზე, რომელიც შეიცავს ელექტრონულ ფოსტაზე, რომელიც შეიცავს ელ.ფოსტის სიგნალს, რომლითაც შეგიძლიათ შეაფასოთ თქვენი შესაძლებლობები.

ნაბიჯი 1: კომპონენტები

კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები

Os seguintes componentes são utilizados:

  • NodeMCU
  • სენსორი de Gas MQ-2
  • Sensor de Poeira e Fumaça Dsm501a Arduino

მნიშვნელოვანია დაიცვან პინეგიმი NodeMCU- ში და არ გამოიყენოთ GPIO.

ნაბიჯი 2: აპლიკაცია

Os seguintes aplicativos são utilizados:

ThingSpeak: ua plataforma IoT ღია კოდის უფასოა, რაც საშუალებას მოგცემთ ატვირთოთ ინფორმაცია და posterior visualização gráfica em tempo რეალური;

ბლინკი: ყველა პლატფორმა, რომელიც მოიცავს სრულყოფილ ინტეგრაციას, ასახავს სმარტფონებს (iOS და Android) და მიკროკონტროლერულ სისტემებს (Arduino, Node MCU, Raspberry Pi, entre outros).

ნაბიჯი 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. ეს არის ID, რომელიც აუცილებელია ფაზისათვის ან არხის ატვირთვაზე.

აგორა, vamos კონფიგურატორი ბლინკში:

გამოიყენეთ და გამოიყენეთ Blynk Android- ზე ან თქვენს Android- ზე, რაც არ ემსახურება. ჩვენ განვსაზღვრავთ, ვიმსჯელოთ ახალ პროექტზე, გამოვიყენო პლატფორმა, შევინახე NodeMCU. ეს არის კრიტერიუმები, რომლებიც მიმართულია ელექტრონული ფოსტის საშუალებით, რათა გამოვიყენოთ ავტონომიური ნიშნები.

ნაბიჯი 4: პროგრამა

Codificação do projeto no NodeMCU, გამოიყენე IDE და Arduino (გამოიყენე კონფიგურაცია:

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

#ჩართეთ

WiFiClient კლიენტი; / * ბლინკი */ #განსაზღვრეთ 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;

/ * სენსორი დე პოეირა */

#define dsmpin 2 // DSM501A input D4 byte buff [2]; ხელმოუწერელი ხანგრძლივობა; ხელმოუწერელი ხანგრძლივი დაწყების დრო; ხელმოუწერელი ხანგრძლივი ვადა; ხელმოუწერელი გრძელი sampletime_ms = 1000; ხელმოუწერელი დაბალი დაბალი პულსის ოკუპაცია = 0; float თანაფარდობა = 0; float კონცენტრაცია = 0;

/********************************************** ***Recebendo Dados do Sensor de Gás ************************************** *********/ void getGasData (void) {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) {ხანგრძლივობა = pulseIn (dsmpin, LOW); დაბალი პულსის შეკავება += ხანგრძლივობა; დასასრულის დრო = მილი (); float aux1, aux2 = 0; if ((ბოლო დრო-დაწყების დრო)> sampletime_ms) {aux1 = (lowpulseoccupancy-endtime + starttime + sampletime_ms)/(sampletime_ms*10.0); // მთელი პროცენტი 0 => 100 aux2 = 0.1*pow (aux1, 2)+(619*aux1) +50; // სპეციფიკური ფურცლის მრუდის გამოყენება (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("email de alerta de poeira enviado"); }}}

დააკვირდით რა, ჩვენ ვგულისხმობთ ჩვენს საქმიანობას, გამოვიყენებთ ჩვენს მომსახურებებს ბლინკში, რომ გავაგზავნოთ ელექტრონული ფოსტა, ვიღებთ გაფრთხილებებს და გვეუბნებიან, რომ ჩვენ გვექნება წვდომა შემდეგნაირად:

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 += "& field1 ="; postStr += სიმებიანი (თანაფარდობა); postStr += "& field2 ="; postStr += სიმებიანი (კონცენტრაცია); postStr += "& field3 ="; postStr += სიმებიანი (valor_mq2); postStr += "\ r / n / r / n"; client.print ("POST /განახლება HTTP /1.1 / n"); client.print ("მასპინძელი: api.thingspeak.com / n"); client.print ("კავშირი: დახურვა / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("შინაარსი-ტიპი: განცხადება/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, ვიზუალიზაციას მოგცემთ როგორც ინფორმაციის გაცნობის ფორმას.

საბოლოო ჯამში, enviamos os mesmos dados Android და Blynk პროგრამების გამოყენებით:

/********************************************** ***ენდიანდო დადოს პარა ო ბლინკი ************************************** ********/ void sendDataBlynk () {Blynk.virtualWrite (10, თანაფარდობა); // pin V10 Blynk.virtualWrite (11, კონცენტრაცია); // pin V11 Blynk.virtualWrite (12, valor_mq2); // ვირტუალური პინი V12}

ნაბიჯი 5: დასკვნა

დაასრულეთ ეს გონივრული ინფორმაცია, ვიზუალიზაციას ვუწევთ ჩვენს მობილურ ტელეფონზე ინფორმაციის კონცენტრაციას და ვცდილობ, რომ ჩვენ ვიმსჯელოთ და გავზარდოთ ინტერნეტი.

ავტოები:

  • ეგონ პატრიკ მარკეს სილვა
  • ფრედერიკო კლარკი
  • პაოლა ფროესი

გირჩევთ: