Daftar Isi:
- Langkah 1: Komponen
- Langkah 2: Aplikasi
- Langkah 3: Montagem Do Ambiente
- Langkah 4: Program
- Langkah 5: Kesimpulan
Video: Kontrol De Gás E Poeira Com O NodeMCU: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
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 mempertimbangkan altos.
Langkah 1: Komponen
Semua komponen dan kegunaannya:
- NodeMCU
- Sensor Gas MQ-2
- Sensor de Poeira dan Fumaça Dsm501a Arduino
observasi penting dari pinagem lakukan NodeMCU tanpa segue atau padrão GPIO.
Langkah 2: Aplikasi
Semua aplikasi dapat digunakan untuk digunakan:
ThingSpeak: uma plataforma IoT open source gratis, izinkan untuk mengunggah informasi dan visualisasi posterior gráfica em tempo real;
Blynk: uma plataforma que permite integração mais simples entre smartphone (iOS dan Android) com mikrokontroler (Arduino, Node MCU, Raspberry Pi, entre outros).
Langkah 3: Montagem Do Ambiente
Primeiramente, deve-se criar uma conta no ThingSpeak. Siga sebagai instruções lakukan situs:
Em seguida, kanal crie um novo, e defina os parâmetros que serão recebidos. Você receberá um número de identificação (ID) lakukan kanal criado em seu e-mail. Este ID é necessário para fazer o upload de dados para o seu canal.
Agora, konfigurasi vamos o Blynk:
Perbaiki aplikasi untuk Blynk untuk Android, dan tidak ada layanan. 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.
Langkah 4: Program
Para a codificação melakukan projeto no NodeMCU, menggunakan IDE untuk Arduino (veja aqui como configurar:
Primeiramente, vamos incluir as bibliotecas needárias para comunicação com o ThingSpeak e o Blynk:
#termasuk
Klien WiFiClient; /* Blynk */ #define BLYNK_PRINT Serial #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 keberanian_mq2 = 0;
/* Sensor de Poeira */
#define dsmpin 2 //DSM501A masukan D4 byte buff[2]; durasi panjang yang tidak ditandatangani; waktu mulai lama yang tidak ditandatangani; akhir waktu panjang yang tidak ditandatangani; unsigned long sampletime_ms = 1000; unsigned long lowpulseoccupancy = 0; rasio mengambang = 0; konsentrasi mengambang = 0;
/************************************************* ** * Recebendo Dados do Sensor de Gás ***************************************** *********/ void getGasData(void) { valor_mq2 = 0; penundaan (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) { durasi = pulseIn(dsmpin, LOW); lowpulseoccupancy += durasi; waktu akhir = mili(); float aux1, aux2 =0; if ((waktu-akhir-waktu-mulai) > sampletime_ms) { aux1 = (lowpulseoccupancy-endtime+starttime + sampletime_ms)/(sampletime_ms*10.0); // Persentase bilangan bulat 0=>100 aux2 = 0,1*pow(aux1, 2)+(619*aux1)+50; // menggunakan kurva lembar spesifikasi if (aux1 42){ Blynk.email("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira!!!"); Serial.println("email de alerta de poeira enviado"); } } }
Amati 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 comunicao com o ThingSpeak, utilizaremos o protokol HTTP, efetuando uma requisição POST.
/************************************************* ** * Enviando os Dados para o ThingSpeak ***************************************** *********/ void sendDataTS(void) { if (client.connect(server, 80)) { String postStr = apiKey; postStr += "&field1="; postStr += String(rasio); postStr += "&field2="; postStr += String(konsentrasi); postStr += "&field3="; postStr += String(keberanian_mq2); postStr += "\r\n\r\n"; client.print("POST /update HTTP/1.1\n"); client.print("Host: api.thingspeak.com\n"); client.print("Koneksi: tutup\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Jenis Konten: application/x-www-form-urlencoded\n"); client.print("Panjang Konten: "); client.print(postStr.length()); klien.print("\n\n"); klien.print(postStr); penundaan (1000); } klien.stop(); }
Neste código, é montado o cabeçalho da requisição HTTP, adicionando o ID do canal criado (apiKey), e uma string challengeo cada um dos parâmetros identificados na criação do canal, com os valores dos sensores de poeira (concentra de poeira) e gás (konsentrasi de gás). No ThingSpeak, você pode visualizar as informações em forma de gráficos.
Terakhir, enviamos os mesmos dados untuk aplikasi Android com o Blynk:
/************************************************* ** * Enviando Dados para o Blynk ****************************************** ********/ void sendDataBlynk() { Blynk.virtualWrite(10, rasio); //pin V10 Blynk.virtualWrite(11, konsentrasi); // pin V11 Blynk.virtualWrite(12, valor_mq2); //pin virtual V12 }
Langkah 5: Kesimpulan
Lengkapi este guia com sucesso, você poderá tanto visualizar em seu celular informaes 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.
Autore:
- Egon Patrick Marques Silva
- Frederico Clark
- Paola Froes
Direkomendasikan:
Kontrol Gerakan Sederhana - Kontrol Mainan RC Anda Dengan Gerakan Lengan Anda: 4 Langkah (dengan Gambar)
Kontrol Gerakan Sederhana - Kontrol Mainan RC Anda Dengan Gerakan Lengan Anda: Selamat datang di 'ible' saya #45. Beberapa waktu yang lalu saya membuat BB8 versi RC yang berfungsi penuh menggunakan bagian Lego Star Wars … https://www.instructables.com/id/Whats-Inside-My-R…Ketika saya melihat betapa kerennya itu Force Band yang dibuat oleh Sphero, saya berpikir: "Ok, saya c
Kontrol Tirai Dengan ESP8266, Integrasi Google Home dan Openhab dan Kontrol Web: 5 Langkah (dengan Gambar)
Kontrol Tirai Dengan ESP8266, Integrasi Google Home dan Openhab dan Kontrol Web: Dalam Instruksi ini saya menunjukkan kepada Anda bagaimana saya menambahkan otomatisasi ke tirai saya. Saya ingin dapat menambah dan menghapus otomatisasi itu, jadi semua instalasi adalah clip on. Bagian utama adalah: Motor stepper Driver stepper dikendalikan bij ESP-01 Gear dan pemasangan
Kontrol Perangkat Anda Menggunakan Android WiFi Kontrol Esp8266: 6 Langkah
Kontrol Perangkat Anda Menggunakan Android WiFi Kontrol Esp8266: sekarang kita akan tahu cara mengontrol perangkat menggunakan modul WiFi esp8266 dan Arduino mengontrol perangkat Anda menggunakan kontrol WiFi Android untuk info lebih lanjut. klik link mohamed ashraf
Kontrol Kecerahan Kontrol LED Berbasis PWM Menggunakan Push Buttons, Raspberry Pi dan Scratch: 8 Langkah (dengan Gambar)
Kontrol Kecerahan Kontrol LED Berbasis PWM Menggunakan Push Buttons, Raspberry Pi dan Scratch: Saya mencoba mencari cara untuk menjelaskan cara kerja PWM kepada siswa saya, jadi saya menetapkan sendiri tugas untuk mencoba mengontrol kecerahan LED menggunakan 2 tombol tekan - satu tombol meningkatkan kecerahan LED dan yang lainnya meredupkannya. Untuk memprogram
ESP8266 RGB LED STRIP Kontrol WIFI - NODEMCU Sebagai Remote IR untuk Strip Led yang Dikendalikan Melalui Wifi - Kontrol Smartphone LED STRIP RGB: 4 Langkah
ESP8266 RGB LED STRIP Kontrol WIFI | NODEMCU Sebagai Remote IR untuk Strip Led yang Dikendalikan Melalui Wifi | RGB LED STRIP Smartphone Control: Hi guys dalam tutorial ini kita akan belajar bagaimana menggunakan nodemcu atau esp8266 sebagai remote IR untuk mengontrol strip LED RGB dan Nodemcu akan dikendalikan oleh smartphone melalui wifi. Jadi pada dasarnya Anda dapat mengontrol STRIP LED RGB dengan ponsel cerdas Anda