Table des matières:

Controle De Gás E Poeira Com O NodeMCU : 5 étapes
Controle De Gás E Poeira Com O NodeMCU : 5 étapes

Vidéo: Controle De Gás E Poeira Com O NodeMCU : 5 étapes

Vidéo: Controle De Gás E Poeira Com O NodeMCU : 5 étapes
Vidéo: WEATHER MONITORING SYSTEM Tutorial | Nodemcu ESP8266 with WEATHER MONITORING SYSTEM [Full Guide] 2024, Novembre
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 celular, incluindo disparar um e-mail de alerta caso os valores lidos sejam considerados altos.

Étape 1: Composants

Composants
Composants
Composants
Composants

Les éléments suivants sont utilisés:

  • NodeMCU
  • Capteur de Gaz MQ-2
  • Capteur de Poeira et Fumaça Dsm501a Arduino

Il est important d'observer qu'un pinagem do NodeMCU não segue o padrão GPIO.

Étape 2: Applications

Os seguintes aplicativos são utilizados:

ThingSpeak: une plate-forme IoT open source gratuite, qui permet de télécharger des informations et une visualisation postérieure graphique dans un tempo réel;

Blynk: une plate-forme qui permet l'intégration la plus simple entre les smartphones (iOS et Android) avec les microcontrôleurs (Arduino, Node MCU, Raspberry Pi, entre outros).

Étape 3: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak. Siga as instruções do site:

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 é necessário para fazer o upload de dados para o seu canal.

Agora, configuration vamos ou 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 plateforma, neste caso o NodeMCU. Após a criação do projeto, será enviado para seu e-mail um token de autenticação.

Étape 4: Programmation

Para une codificação do projeto no NodeMCU, utilizamos a IDE do Arduino (veja aqui como configurar:

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

#comprendre

Client WiFi; /* Blynk */ #define BLYNK_PRINT Serial #include

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

/* Capteur de gaz */#define mq2 A0 //MQ-2 analogique

int valor_mq2 = 0;

/* Capteur de Poeira */

#define dsmpin 2 //DSM501A input D4 byte buff[2]; longue durée non signée; temps de démarrage long non signé; temps de fin long non signé; sampletime_ms long non signé = 1000; occupation à faible impulsion longue non signée = 0; rapport flottant = 0; concentration flottante = 0;

/****************************************************** ** * Recebendo Dados do Sensor de Gás ******************************************* *********/ void getGasData(void) { valor_mq2 = 0; retard (1000); entier 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(" e-mail d'alerte de gaz envoyé"); } } /****************************************************** **** * Recebendo Dados do Sensor de Poeira *************************************** ***********/ void getPoeiraData(void) { duration = pulseIn(dsmpin, LOW); occupation à faible impulsion += durée; heure de fin = millis(); flotteur aux1, aux2 =0; if ((endtime-starttime) > sampletime_ms) { aux1 = (lowpulseoccupancy-endtime+starttime + sampletime_ms)/(sampletime_ms*10.0); // Pourcentage entier 0=>100 aux2 = 0.1*pow(aux1, 2)+(619*aux1)+50; // en utilisant la courbe de la feuille de spécifications if (aux1 42){ Blynk.email("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira!!!"); Serial.println(" e-mail d'alerte de poeira enviado"); } } }

Observez que, em 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 o ThingSpeak. Pour la communication avec ThingSpeak, utilizaremos ou protocole HTTP, efetuando uma requisição POST.

/****************************************************** ** * Envie de parler pour ThingSpeak ******************************************* *********/ void sendDataTS(void) { if (client.connect(server, 80)) { String postStr = apiKey; postStr += "&field1="; postStr += String(rapport); postStr += "&field2="; postStr += String(concentration); postStr += "&field3="; postStr += String(valor_mq2); postStr += "\r\n\r\n"; client.print("POST /mise à jour HTTP/1.1\n"); client.print("Hôte: api.thingspeak.com\n"); client.print("Connexion: fermer\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Type de contenu: application/x-www-form-urlencoded\n"); client.print("Contenu-Longueur: "); client.print(postStr.length()); client.print("\n\n"); client.print(postStr); retard(1000); } client.stop(); }

Neste código, é montado o cabeçalho da requisição HTTP, adicionando o ID do canal criado (apiKey), e uma string prétendo cada um dos parametros identificados na criação do canal, com os valores lidos dos sensores de poeira (concentração e proporção) e gás (concentração de gás). No ThingSpeak, você pode visualizar as informações em forma de gráficos.

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

/****************************************************** ** * Enviando Dados para o Blynk ****************************************** ********/ void sendDataBlynk() { Blynk.virtualWrite(10, ratio); //pin V10 Blynk.virtualWrite(11, concentration); // broche V11 Blynk.virtualWrite(12, valor_mq2); //broche virtuelle V12 }

Étape 5: Conclusion

Completando este guia com successo, 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.

Auteurs:

  • Egon Patrick Marques Silva
  • Frédéric Clark
  • Paola Fróes

Conseillé: