สารบัญ:

Controle De Gás E Poeira Com O NodeMCU: 5 ขั้นตอน
Controle De Gás E Poeira Com O NodeMCU: 5 ขั้นตอน

วีดีโอ: Controle De Gás E Poeira Com O NodeMCU: 5 ขั้นตอน

วีดีโอ: Controle De Gás E Poeira Com O NodeMCU: 5 ขั้นตอน
วีดีโอ: How to control Arduino using nodemcu esp8266 and Blynk application “Arduino nodemcu + Blynk” 2024, พฤศจิกายน
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, ไม่รวม disparar um e-mail de alerta caso os valores lidados sejatom.

ขั้นตอนที่ 1: ส่วนประกอบ

ส่วนประกอบ
ส่วนประกอบ
ส่วนประกอบ
ส่วนประกอบ

ระบบปฏิบัติการแยกส่วนประกอบ são utilizados:

  • NodeMCU
  • เซนเซอร์แก๊ส MQ-2
  • Sensor de Poeira e Fumaça Dsm501a Arduino

Éสำคัญ observar que a pinagem do NodeMCU não segue o padrão GPIO

ขั้นตอนที่ 2: แอปพลิเคชัน

ระบบปฏิบัติการ seguintes aplicativos são utilizados:

ThingSpeak: uma plataforma IoT open source gratuito, อนุญาตการอัปโหลดข้อมูลและภาพด้านหลัง visualização gráfica em tempo real;

กะพริบ: uma plataforma que permite integração mais simples entre smartphones (iOS e Android) com microcontroladores (Arduino, Node MCU, Raspberry Pi, entre outros)

ขั้นตอนที่ 3: Montagem Do Ambiente

Primeiramente, deve-se criar uma conta no ThingSpeak Siga เป็นคำแนะนำในการทำเว็บไซต์:

Em seguida, คลอง crie um novo, e defina os parâmetros que serão recebidos Você receberá um número de identificação (ID) do canal criado em seu อีเมล Este ID é necessário para fazer o อัปโหลด dados para o seu canal

Agora, vamos กำหนดค่าหรือ Blynk:

Baixe o aplicativo do Blynk para o seu Android, และ 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 อีเมล um token de autenticação.

ขั้นตอนที่ 4: Programação

Para a codificação do projeto no NodeMCU, utilizamos a IDE do Arduino (การกำหนดค่า veja aqui como:

Primeiramente, vamos incluir เป็น bibliotecas necessárias para comunicação com o ThingSpeak e o Blynk:

#รวม

ไคลเอนต์ WiFiClient; /* Blynk */ #define BLYNK_PRINT Serial #include

Para capturar os dados dos sensores de gás e poeira, ฟอรัม criadas duas funções:

/* เซ็นเซอร์แก๊ส */#define mq2 A0 //MQ-2 analog

int valor_mq2 = 0;

/* เซนเซอร์ เดอ โปเอร่า */

#define dsmpin 2 // DSM501A อินพุต D4 ไบต์ buff[2]; ระยะเวลานานที่ไม่ได้ลงนาม เวลาเริ่มต้นนานที่ไม่ได้ลงนาม เวลาสิ้นสุดแบบยาวที่ไม่ได้ลงนาม sampletime_ms แบบยาวที่ไม่ได้ลงนาม = 1,000; lowpulseoccupancy ยาวที่ไม่ได้ลงนาม = 0; อัตราส่วนลอย = 0; ความเข้มข้นลอย = 0;

/****************************************************** ** * Recebendo Dados do Sensor de Gás ***************************************** *********/ เป็นโมฆะ getGasData (เป็นโมฆะ) { valor_mq2 = 0; ล่าช้า (1,000); 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 *************************************** ***********/ เป็นโมฆะ getPoeiraData (เป็นโมฆะ) { ระยะเวลา = pulseIn (dsmpin, LOW); lowpulseoccupancy += ระยะเวลา; เวลาสิ้นสุด = มิลลิวินาที (); ทุ่น aux1, aux2 =0; if ((เวลาสิ้นสุด-เวลาเริ่มต้น) > sampletime_ms) { aux1 = (lowpulseoccupancy-endtime+starttime + sampletime_ms)/(sampletime_ms*10.0); // เปอร์เซ็นต์จำนวนเต็ม 0=>100 aux2 = 0.1*pow(aux1, 2)+(619*aux1)+50; // ใช้เส้นโค้งแผ่นข้อมูลจำเพาะ if (aux1 42){ Blynk.email("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira!!!"); Serial.println(" อีเมลล์ de alerta de poeira enviado"); } } }

สังเกต 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]", "เซ็นเซอร์ของ Poeira", "ALERTA de Concentração de Poeira!!!");

Tendo os dados dos sensores salvos, agora vamos envia-los para o ThingSpeak สำหรับการสื่อสารบน ThingSpeak, การใช้งานและโปรโตคอล HTTP, efetuando uma requisição POST

/****************************************************** ** * Enviando os Dados สำหรับ ThingSpeak ******************************************* *********/ เป็นโมฆะ sendDataTS (เป็นโมฆะ) { ถ้า (ไคลเอ็นต์. เชื่อมต่อ (เซิร์ฟเวอร์, 80)) { สตริง postStr = apiKey; postStr += "&field1="; postStr += สตริง (อัตราส่วน); postStr += "&field2="; postStr += สตริง (ความเข้มข้น); postStr += "&field3="; postStr += สตริง (valor_mq2); postStr += "\r\n\r\n"; client.print("POST /update HTTP/1.1\n"); client.print("โฮสต์: api.thingspeak.com\n"); client.print("การเชื่อมต่อ: ปิด\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Content-Type: application/x-www-form-urlencoded\n"); client.print("เนื้อหา-ความยาว: "); client.print(postStr.length()); client.print("\n\n"); client.print(postStr); ล่าช้า (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 canal, com os ão valores lidos doscone de procenteração อีกัส (concentração de gás). No ThingSpeak, você pode visualizar as Informações em forma de graficos. ไม่มี

Finalmente, enviamos ระบบปฏิบัติการ mesmos dados สำหรับ um aplicativo Android com o Blynk:

/****************************************************** ** * Enviando Dados สำหรับ o Blynk ****************************************** ********/ เป็นโมฆะ sendDataBlynk () { Blynk.virtualWrite (10, อัตราส่วน); // พิน V10 Blynk.virtualWrite (11, ความเข้มข้น); // พิน V11 Blynk.virtualWrite (12, valor_mq2); //พินเสมือน V12 }

ขั้นตอนที่ 5: Conclusão

Completando este guia com sucesso, 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 อินเทอร์เน็ต.

รถยนต์:

  • Egon Patrick Marques Silva
  • เฟรเดริโก คลาร์ก
  • เปาลา ฟรอเอส

แนะนำ: