فهرست مطالب:

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 make a Nodemcu GAS LEVEL MONITORING system | Blynk with GAS LEVEL MONITORING [MQ2 sensor] 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 ، و compartilhar estes dados nas nuvens e em seu celular ، شامل ارسال ایمیل از طریق هشدارهای مربوط به سیستم های ارزشمند می باشد.

مرحله 1: اجزاء

کامپوننت ها
کامپوننت ها
کامپوننت ها
کامپوننت ها

Os seguintes componentes são utilizados:

  • NodeMCU
  • سنسور گاز MQ-2
  • Sensor de Poeira e Fumaça Dsm501a Arduino

e e que a N NodeMCU se o o GPIO.

مرحله 2: Aplicativos

Os seguintes aplicativos são utilizados:

ThingSpeak: uma plataforma IoT منبع آزاد به صورت رایگان ، برای بارگذاری اطلاعات و اطلاعات پسین بصری در سرعت واقعی ما ؛

Blynk: برای اولین بار می توانید از تلفن های هوشمند هوشمند (iOS و Android) و microcontroladores (Arduino ، Node MCU ، Raspberry Pi ، outre outros) استفاده کنید.

مرحله 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 é needário para fazer o upload de dados para o seu canal.

Agora، vamos configurar o 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 ، به منظور پیشگیری از ارسال ایمیل از طریق نشانه های autenticação اقدام کنید.

مرحله 4: برنامه سازی

برای استفاده از NodeMCU ، از IDE در Arduino استفاده کنید (veja aqui como configurar:

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

#عبارتند از

مشتری WiFiClient ؛ / * Blynk */ #تعریف BLYNK_PRINT سریال #شامل

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 آنالوگ

int valor_mq2 = 0 ؛

/ * Sensor de Poeira */

#تعریف dsmpin 2 // ورودی DSM501A D4 byte buff [2]؛ مدت طولانی بدون امضا ؛ زمان شروع طولانی بدون امضا ؛ مدت زمان طولانی بدون امضا ؛ بدون امضا sampletime_ms = 1000؛ عدم امضای طولانی lowpulseoccupancy = 0؛ نسبت شناور = 0 ؛ غلظت شناور = 0 ؛

/********************************************** ***Recebendo Dados do Sensor de Gás ************************************** *********/ void getGasData (void) {valor_mq2 = 0؛ تاخیر (1000) ؛ int N = 9 ؛ برای (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) {duration = pulseIn (dsmpin، LOW)؛ lowpulseoccupancy += مدت زمان؛ endtime = millis ()؛ float aux1، aux2 = 0؛ if ((endtime-starttime)> sampletime_ms) {aux1 = (lowpulseoccupancy-endtime + starttime + sampletime_ms)/(sampletime_ms*10.0) ؛ // درصد صحیح 0 => 100 aux2 = 0.1*توان (aux1 ، 2)+(619*aux1) +50 ؛ // استفاده از منحنی برگه مشخصات اگر (aux1 42) {Blynk.email ("[email protected]" ، "Sensor de Poeira" ، "ALERTA de Concentração de Poeira !!!") ؛ Serial.println ("email de alerta de poeira enviado")؛ }}}

توجه داشته باشید که ، ما ambas funções acima ، utilizamos uma função do Blynk را برای ارسال ایمیل از طریق ایمیل ، ارسال اطلاعات بیشتر در مورد موارد زیر استفاده می کنیم:

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. برای ارتباط با ThingSpeak ، استفاده از پروتکل HTTP ، و همچنین نیاز به درخواست POST استفاده کنید.

/********************************************** ***Enviando os Dados para o ThingSpeak ************************************** *********/ void sendDataTS (void) {if (client.connect (سرور ، 80)) {String 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 ("نوع محتوا: application/x-www-form-urlencoded / n")؛ client.print ("Content-Length:")؛ 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 valores lidos dos sensores de poeira (კონცენტری) e gás (متمرکز کن). No ThingSpeak ، você pode visualizar as informações em forma de gráficos.

Finalmente، enviamos os mesmos dados para um aplicativo Android com o Blynk:

/********************************************** ***Enviando Dados para o Blynk ************************************* ********/ void sendDataBlynk () {Blynk.virtualWrite (نسبت 10 ،) ؛ // پین V10 Blynk.virtualWrite (11 ، غلظت) ؛ // پین V11 Blynk.virtualWrite (12 ، valor_mq2) ؛ // پین مجازی V12}

مرحله 5: نتیجه گیری

به طور کامل می توانید از طریق اینترنت ، از طریق تلفن همراه خود اطلاعاتی را از طریق تلفن همراه خود دریافت کنید و از اینترنت استفاده کنید ، از این طریق می توانید از اینترنت استفاده کنید.

خودکارها:

  • اگون پاتریک مارکز سیلوا
  • فردریکو کلارک
  • پائولا فروس

توصیه شده: