Table des matières:
- Étape 1: Composants
- Étape 2: Applications
- Étape 3: Montagem Do Ambiente
- Étape 4: Programmation
- Étape 5: Conclusion
Vidéo: Controle De Gás E Poeira Com O NodeMCU : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
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
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é:
Domotique avec relais de contrôle de température LDR à capteur tactile NodeMCU : 16 étapes
Domotique avec le relais de contrôle de température LDR du capteur tactile NodeMCU : dans mes précédents projets NodeMCU, j'ai contrôlé deux appareils ménagers à partir de l'application Blynk. J'ai reçu de nombreux commentaires et messages pour mettre à niveau le projet avec le contrôle manuel et ajouter plus de fonctionnalités. J'ai donc conçu cette Smart Home Extension Box. Dans cet IoT
Comment créer une domotique basée sur l'IoT avec le relais de contrôle des capteurs NodeMCU : 14 étapes (avec photos)
Comment faire de la domotique basée sur l'IoT avec le relais de contrôle des capteurs NodeMCU : Dans ce projet basé sur l'IoT, j'ai réalisé la domotique avec le module de relais de contrôle Blynk et NodeMCU avec retour en temps réel. En mode manuel, ce module de relais peut être contrôlé à partir d'un mobile ou d'un smartphone et, commutateur manuel. En mode automatique, cette smar
Contrôle de la luminosité Contrôle LED basé sur PWM à l'aide de boutons-poussoirs, Raspberry Pi et Scratch : 8 étapes (avec photos)
Contrôle de la luminosité Contrôle des LED basé sur PWM à l'aide de boutons poussoirs, Raspberry Pi et Scratch : j'essayais de trouver un moyen d'expliquer le fonctionnement du PWM à mes étudiants, alors je me suis fixé pour tâche d'essayer de contrôler la luminosité d'une LED à l'aide de 2 boutons poussoirs - un bouton augmentant la luminosité d'une LED et l'autre la diminuant. Pour programmer
Contrôle WIFI BANDE LED RVB ESP8266 - NODEMCU en tant que télécommande IR pour bande LED contrôlée via Wifi - Contrôle de Smartphone RVB LED STRIP : 4 étapes
Contrôle WIFI BANDE LED RVB ESP8266 | NODEMCU en tant que télécommande IR pour bande LED contrôlée via Wifi | Contrôle par smartphone RVB LED STRIP : Salut les gars, dans ce tutoriel, nous allons apprendre à utiliser nodemcu ou esp8266 comme télécommande IR pour contrôler une bande LED RVB et Nodemcu sera contrôlé par smartphone via wifi. Donc, en gros, vous pouvez contrôler la BANDE LED RVB avec votre smartphone
Comment faire un robot mobile contrôlé - Basé sur DTMF - Sans Microcontrôleur & Programmation - Contrôle depuis n'importe où dans le monde - RoboGeeks : 15 étapes
Comment faire un robot mobile contrôlé | Basé sur DTMF | Sans Microcontrôleur & Programmation | Contrôle depuis n'importe où dans le monde | RoboGeeks : Vous voulez créer un robot qui peut être contrôlé de n'importe où dans le monde, allons-y