fbpx

Aprenda a receber em seu celular alertas de fumaça e vazamento de Gás via SMS usando MQ-2 e NodeMCU

Neste artigo você aprenderá a criar um sistema para de detecção de fumaça ou vazamento de gás, usando um sensor MQ-2 e um módulo NodeMCU.

O sensor de gás MQ-2 tem a capacidade de detectar a presença e concentração (de 300 a 10000 ppm ) de gases combustíveis e fumaça em um ambiente. O sensor tem uma porta digital e outra analógica, opera em temperaturas entre -20 a 50º C e necessita de 5V de alimentação. O nível de detecção do sensor pode ser ajustado por meio de um Trimpot, localizado na parte de trás do sensor. Para mais informações veja o datasheet.

Para este projeto você precisará de:

Siga o esquemático abaixo para conectar o MQ-2 ao NodeMCU usando a porta digital (D0) do sensor.

Na imagem abaixo você está Sensor de gás e fumaça NodeMCU

É importante conectar o pino de alimentação do MQ-2 ao pino Vin do NodeMCU, visto que o sensor necessita de 5V de alimentação. Neste artigo utilizaremos a porta D2, mas você pode utilizar a porta digital que preferir.

Passo 1 – Cadastro na Plataforma EasyIot

Entre no site da Plataforma EasyIot. Caso ainda não esteja cadastrado, faça o seu cadastro gratuitamente.

Usaremos a plataforma para visualizar os dados dos sensores que serão enviados para a Nuvem.

Passo 2 – Configuração da IDE

Se você já configurou a IDE do Arduino para que ela de suporte aos módulos baseados no ESP8266, pule para o Passo 3.

Abra a IDE do Arduino e entre em Arquivo >> Preferências:

Procure por URLs Adicionais para Gerenciadores de Placas e copie o link abaixo na caixa de diálogo:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Vá em Ferramentas >> Placa >> Gerenciador de Placas:

Procure por esp8266 by ESP8266 Community clique em instalar:

Verifique se a sua placa está listada Ferramentas >> Placa:

Passo 3  – Instalação da Biblioteca EasyIot

Acesse a Plataforma EasyIoT, clique em Dispositivos >> Download Bibliotecas e baixe a Biblioteca Easyiot-Esp8266.

Com a IDE do Arduino aberta, entre em Sketch >> Incluir Biblioteca >> Adicionar biblioteca .ZIP e selecione o arquivo Easyiot-Esp8266.zip.

Passo 4 – Programação no NodeMCU

Usando a IDE do Arduino, abra o código  mq2_esp8266, que pode ser encontrado em Bibliotecas >> Sensor MQ-2 na Plataforma EasyIot.

#include <Easyiot-Esp8266.h>

const char*  ssid = "MEU_SSID"; // <-- Digite aqui o nome da sua rede WiFi
const char* password = "MINHA_SENHA"; // <-- Digite aqui a senha da sua rede WiFi
String EasyToken = "MEU_TOKEN"; // <-- Cole aqui seu Easy Token, obtido na plataforma https://app.easyiot.com.br
int intervalo_de_transmissao = 10000; // <-- Intervalo em milissegundos(10.000 ms == 10s)

#define SENSOR 2 // Número da porta digital em que o sensor está ligado

void setup() {

  // Inicializando a Serial
  Serial.begin(9600);

  delay(2000);
  Serial.print("Conectando a ");
  Serial.println(ssid);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
  Serial.println("");
  Serial.println("WiFi conectado");
  Serial.print("Endereço IP: ");
  Serial.println(WiFi.localIP());
  Serial.println();

  SNTP();

  
}

void loop() {
  String Dados, resposta;
  int valorMedido;

  valorMedido = digitalRead(SENSOR);
  Dados = String(0);
  
  if (valorMedido == 0){
    Serial.print("Gás detectado");
    Dados = String(1);
  }
   
  resposta = send(Dados, EasyToken);

  delay(10000);
  
}
 
 
 
 
 
 

Passo 5 – Programando Sensor de gás e fumaça com NodeMCU (Parte 2)

No código substitua MEU_SSID e MINHA_SENHA, nas linhas 3 e 5 do código, pelo login e senha da sua rede WiFi.

Na Plataforma EasyIot vá em Dispositivos >> Dispositivos Cadastrados e adicione um novo dispositivo.

Selecione o Protocolo WiFi.

Crie uma aplicação e clique em Continuar.

Seleciono ESP8266 e clique em Continuar .

Copie o Easy Token da sua aplicação.

Substitua MEU_EASY_TOKEN, na linha 7 do código, pelo token do dispositivo criado na Plataforma EasyIot.

Execute o programa e abra o monitor serial.

O código conecta o NodeMCU a uma rede WiFi e em seguida a Plataforma EasyIot. Se a conexão for estabelecida o módulo começa a realizar a leitura do sensor de gás. Um status é atribuído ao sensor em função das suas medições (0 = presença de gás detectada, 1 = presença gás não detectada). Após cada medição o status do sensor é enviado para a Plataforma EasyIot.

Passo 6 – Configurando SMS de alerta

Agora criaremos uma aplicação que enviará um SMS de alerta quando o sensor detectar a presença de gás ou fumaça.

Na Plataforma EasyIot vá em Dispositivos Cadastrados e selecione o dispositivo desejado.

Clique em Editar configurações e visualizar API Token.

Selecione a opção Envio automático de SMS.

Adicione um número de celular para o qual os SMS de alerta serão enviados.

Indique a posição, na mensagem enviada pelo dispositivo, do byte em que está a informação que deve ser analisada. Como a mensagem com o status do sensor de gás tem apenas 1 Byte, a informação em que estamos interessados se encontra na posição 0.

Defina uma condição de comparação e o valor a ser comparado com a informação recebida do dispositivo. Aqui queremos verificar se o status do sensor é igual a 0, já que isso acusa a detecção de Gás/Fumaça.

Por fim, escreva uma mensagem de até 160 caracteres para ser transmitida no SMS de alerta e clique em Salvar.

Para entender melhor como configurar o envio de SMS na Plataforma EasyIot, veja o Post Aprenda a habilitar alertas automáticos na Plataforma EasyIoT.