Mục lục:

Điều khiển De Gás E Poeira Com O NodeMCU: 5 bước
Điều khiển De Gás E Poeira Com O NodeMCU: 5 bước

Video: Điều khiển De Gás E Poeira Com O NodeMCU: 5 bước

Video: Điều khiển De Gás E Poeira Com O NodeMCU: 5 bước
Video: Bài 5: Giải Pháp Google Firebase và Esp8266 Điều Khiển Xe Ở Mọi Nơi Trên Thế Giới - Phần 1 2024, Tháng mười hai
Anonim
Điều khiển De Gás E Poeira Com O NodeMCU
Điều khiển 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 coirados altos.

Bước 1: Các thành phần

Các thành phần
Các thành phần
Các thành phần
Các thành phần

Os seguintes thành phần são useizados:

  • NodeMCU
  • Cảm biến de Gas MQ-2
  • Cảm biến de Poeira e Fumaça Dsm501a Arduino

É importante Observar que a pheringm do NodeMCU não segue o padrão GPIO.

Bước 2: Aplicativos

Os seguintes aplicativos são useizados:

ThingSpeak: uma plataforma IoT gratuito mã nguồn mở, tải lên que permite de Informações e posterior visualização gráfica em tempo real;

Blynk: uma plataforma que permite integrationção mais simples entre smartphone (iOS e Android) com vi điều khiển (Arduino, Node MCU, Raspberry Pi, entre outros).

Bước 3: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Đăng nhập với tư cách là công cụ thực hiện trang web:

Em seguida, crie um novo channel, e defina os parâmetros que serão Rebidos. Você Recberá um número de Idificação (ID) do kênh criado em seu e-mail. Este ID é needário para fazer o upload de dados para o seu channel.

Agora, vamos configurar o Blynk:

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

Bước 4: Lập trình

Para a codificação do projeto no NodeMCU, tận dụng IDE do Arduino (veja aqui como configurar:

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

#bao gồm

Máy khách WiFiClient; / * Blynk * / #define BLYNK_PRINT Sê-ri #include

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

/ * Cảm biến de gás * / # xác định mq2 A0 // MQ-2 analog

int valor_mq2 = 0;

/ * Cảm biến de Poeira * /

#define dsmpin 2 // Bộ đệm byte D4 đầu vào DSM501A [2]; thời hạn dài không ký; thời gian bắt đầu dài không đăng ký; thời gian kết thúc dài chưa ký; không dấu dài sampletime_ms = 1000; unsigned long lowpulseoccupancy = 0; tỷ lệ float = 0; nồng độ phao = 0;

/ ************************************************* ** * Recebendo Dados do Sensor de Gás ***************************************** ********* / void getGasData (void) {valor_mq2 = 0; chậm trễ (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) {length = xungIn (dsmpin, LOW); lowpulseoccupancy + = thời lượng; endtime = millis (); float aux1, aux2 = 0; if ((endtime-starttime)> sampletime_ms) {aux1 = (lowpulseoccupancy-endtime + starttime + sampletime_ms) / (sampletime_ms * 10.0); // Phần trăm số nguyên 0 => 100 aux2 = 0,1 * pow (aux1, 2) + (619 * aux1) +50; // sử dụng đường cong trang tính thông số if (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("email de alerta de poeira enviado"); }}}

Quan sát que, em ambas funções acima, useizamos 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 o ThingSpeak. Para comunicação com o ThingSpeak, useizaremos o protocolo HTTP, efetuando uma suggestição POST.

/ ************************************************* ** * Enviando os Dados para o ThingSpeak ***************************************** ********* / void sendDataTS (void) {if (client.connect (server, 80)) {String postStr = apiKey; postStr + = "& field1 ="; postStr + = String (tỷ lệ); postStr + = "& field2 ="; postStr + = String (nồng độ); postStr + = "& field3 ="; postStr + = String (valor_mq2); postStr + = "\ r / n / r / n"; client.print ("ĐĂNG / cập nhật HTTP / 1.1 / n"); client.print ("Máy chủ: api.thingspeak.com / n"); client.print ("Kết nối: close / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Loại-Nội dung: application / x-www-form-urlencoded / n"); client.print ("Nội dung-Độ dài:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); chậm trễ (1000); } client.stop (); }

Neste código, é montado o cabeçalho da recisição HTTP, adicionando o ID do channel criado (apiKey), e uma string Contendo cada um dos parâmetros Idificados na criação do channel, com os valores lidos dos sensores de poeira (Concentração e ratioção de poeira e gás (tập trung de gás). No ThingSpeak, você pode visualizar as Informações em forma de gráficos.

Finalmente, enviamos os mesmos dados para um aplicativo Android com o Blynk:

/ ************************************************* ** * Enviando Dados para o Blynk ****************************************** ******** / void sendDataBlynk () {Blynk.virtualWrite (10, ratio); // chân V10 Blynk.virtualWrite (11, nồng độ); // chân V11 Blynk.virtualWrite (12, valor_mq2); // chân ảo V12}

Bước 5: Kết luận

Completando este guia com sucesso, você poderá tanto visualizar em seu celular Informações de Concentraçã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

Đề xuất: