Sadržaj:
- Korak 1: Komponente
- Korak 2: Aplicativos
- Korak 3: Montagem Do Ambiente
- Korak 4: Programação
- Korak 5: Zaključak
Video: Kontrola De Gás E Poeira Com O NodeMCU: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Este foi um trabalho para medir níveis de poeira e gás num dado ambiente, e compatilhar estes dados nas nuvens e em seu celular, incluindo disparar um e-mail de alertta caso os valores lidos sejam obzirrados altos.
Korak 1: Komponente
Os seguintes komponente são utiadados:
- NodeMCU
- Senzor plina MQ-2
- Senzor de Poeira e Fumaça Dsm501a Arduino
Važno je obratiti pozornost na NodeMCU koji se ne nalazi na GPIO -u.
Korak 2: Aplicativos
Os seguintes aplicativos são utilizados:
ThingSpeak: besplatna IoT besplatna aplikacija s otvorenim kodom, koja dopušta prijenos informacija i posteriornu vizualizaciju grima u realnom tempu;
Blynk: uma plataforma que permite integração mais simples entre smartphones (iOS e Android) com microcontroladores (Arduino, Node MCU, Raspberry Pi, entre outros).
Korak 3: Montagem Do Ambiente
Primeiramente, deve-se criar uma conta no ThingSpeak. Siga kao instrukcije na web stranici:
Em seguida, crie um novo channel, e defina os parâmetros que serão recebidos. Você receberá um número de identificação (ID) do kanala criado em seu e-mail. Este ID é needário para fazer o upload de dados para o seu channel.
Agora, vamos konfigurator ili 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.
Korak 4: Programação
Za codificação do projeto bez NodeMCU-a, koristite IDE do Arduino (veja aqui como konfigurator:
Primeiramente, vamos incluir as bibliotecas neophodárias para comunicação com o ThingSpeak e o Blynk:
#uključi
WiFiClient klijent; / * Blynk */ #define BLYNK_PRINT Serijski #include
Para capturar os dados dos sensores de gás e poeira, foram criadas duas funções:
/ * Sensor de gás */#define mq2 A0 // MQ-2 analog
int valor_mq2 = 0;
/ * Senzor de Poeira */
#define dsmpin 2 // DSM501A ulaz D4 byte buff [2]; nepotpisano dugo trajanje; nepotpisano dugo vrijeme početka; bez potpisa dugo vrijeme završetka; nepotpisano dugo vrijeme uzorkovanja_ms = 1000; bez potpisa duga niska pulsna zauzetost = 0; omjer plovka = 0; koncentracija plovka = 0;
/************************************************* ***Primite Dados do Sensor de Gás ***************************************** *********/ void getGasData (void) {valor_mq2 = 0; kašnjenje (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 alertta de gás enviado"); }} /*********************************************** *****Recebendo Dados do Sensor de Poeira ************************************* ***********/ void getPoeiraData (void) {duration = pulseIn (dsmpin, LOW); niska pulsna zauzetost += trajanje; endtime = millis (); plovak aux1, aux2 = 0; if ((endtime-starttime)> sampletime_ms) {aux1 = (lowpulseoccupancy-endtime + starttime + sampletime_ms)/(sampletime_ms*10.0); // Cijeli postotak 0 => 100 aux2 = 0,1*pow (aux1, 2)+(619*aux1) +50; // pomoću krivulje specifikacija ako (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("email de alertta de poeira enviado"); }}}
Promatrajte 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. Para comunicação com o ThingSpeak, korištenje protokola HTTP, efektuando uma requisição POST.
/*********************************************** ***Enviando os Dados para ThingSpeak ***************************************** *********/ void sendDataTS (void) {if (client.connect (server, 80)) {String postStr = apiKey; postStr += "& polje1 ="; postStr += String (omjer); postStr += "& polje2 ="; postStr += String (koncentracija); postStr += "& polje3 ="; postStr += String (valor_mq2); postStr += "\ r / n / r / n"; client.print ("POST /ažuriraj HTTP /1.1 / n"); client.print ("Domaćin: api.thingspeak.com / n"); client.print ("Veza: zatvori / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Content-Type: application/x-www-form-urlencoded / n"); client.print ("Content-Length:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); kašnjenje (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 channel, com os valores lidos dos sensores de poeira (koncentração e proporço) e gás (koncentração de gás). No ThingSpeak, možete vidjeti vizualizirane informacije kao informacije o grici.
Konačno, zamišljajte poruke o aplikacijama za Android com ili Blynk:
/*********************************************** ***Enviando Dados para o Blynk **************************************** ********/ void sendDataBlynk () {Blynk.virtualWrite (10, omjer); // pin V10 Blynk.virtualWrite (11, koncentracija); // pin V11 Blynk.virtualWrite (12, valor_mq2); // virtualni pin V12}
Korak 5: Zaključak
Completando este guia com sucesso, você poderá tanto vizualizuje em seu celularne informacije de koncentraçã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
Preporučeni:
NodeMCU Alexa TV kontrola: 6 koraka
NodeMCU Alexa TV kontrola: Naučite kako natjerati Alexa da upravlja vašim televizorom, pomoću NodeMCU -a. Ako vam se sviđa ovaj projekt, slobodno glasajte za njega na natjecanju senzora
Kontrola svjetline PWM LED kontrola pomoću tipki, Raspberry Pi i ogrebotina: 8 koraka (sa slikama)
Kontrola svjetline PWM LED kontrola temeljena na tipkama, Raspberry Pi i Scratch: Pokušavao sam pronaći način da svojim učenicima objasnim kako PWM radi, pa sam si postavio zadatak pokušati kontrolirati svjetlinu LED diode pomoću 2 tipke - jedan gumb povećava svjetlinu LED -a, a drugi ga prigušuje. Za program
ESP8266 RGB LED STRIP WIFI kontrola - NODEMCU Kao IR daljinski upravljač za LED traku kontroliran putem Wi -Fi - RGB LED STRIP Upravljanje pametnim telefonom: 4 koraka
ESP8266 RGB LED STRIP WIFI kontrola | NODEMCU Kao IR daljinski upravljač za LED traku kontroliran putem Wi -Fi | Upravljanje pametnim telefonom putem RGB LED STRIP -a: Zdravo dečki, u ovom ćemo vodiču naučiti kako koristiti nodemcu ili esp8266 kao IC daljinski upravljač za upravljanje RGB LED trakom, a Nodemcu će pametni telefon kontrolirati putem WiFi -ja. Dakle, u osnovi možete kontrolirati RGB LED TRAKU pomoću svog pametnog telefona
Neopixel Wifi kontrola putem NodeMCU: 3 koraka
Neopixel Wifi kontrola putem NodeMCU -a: Prošla su vremena kada ste htjeli kontrolirati RGB LED diode morali ste se nositi s mnoštvom žica, njihovo raspetljavanje uvijek iznova može biti iritantno. S Neopixelom imate mogućnost napajanja LED -a s dvije žice i samo jednom žicom, što je Dat
IOT: ESP 8266 Nodemcu kontrola LED trake Neopixel Ws2812 preko interneta putem aplikacije BLYNK: 5 koraka
IOT: ESP 8266 Nodemcu kontrola LED trake Neopixel Ws2812 preko interneta putem aplikacije BLYNK: Zdravo dečki, u ovim uputama napravio sam svjetlo pomoću neopikselne LED trake koja se može kontrolirati putem interneta iz cijelog svijeta pomoću aplikacije BLYNK, a nodemcu je koji djeluje kao mozak ovog projekta, stoga učinite svoje ambijentalno svjetlo za vas