جدول المحتويات:

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 خطوات
فيديو: Вебинар: "Минералы VS гибриды" 2024, شهر نوفمبر
Anonim
كونترول دي جاس إي بويرا كوم O NodeMCU
كونترول دي جاس إي بويرا كوم 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، incluindo disparar um mail de alerta caso os valores lidos sejam mindados altos.

الخطوة 1: المكونات

المكونات
المكونات
المكونات
المكونات

مكونات نظام التشغيل são utilizados:

  • NodeMCU
  • مستشعر الغاز MQ-2
  • Sensor de Poeira e Fumaça Dsm501a Arduino

المهم هو المراقب الذي يجب أن يقوم به NodeMCU não o padrão GPIO.

الخطوة 2: Aplicativos

Os seguintes aplicativos são utilizados:

ThingSpeak: uma plataforma IoT مفتوح المصدر مجانًا ، يسمح بتحميل المعلومات والمرئيات اللاحقة ، والإيقاع الحقيقي ؛

Blynk: 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 as instruções تفعل الموقع:

Em seguida، crie um novo canal، e defina os parâmetros que serão recebidos. Vocêeceberá um número de Identificação (ID) do canal criado em seu eu-mail. معرّف Este ضروريًا لتحميل الملفات عبر قناة SEU.

Agora ، vamos configurar o 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.

الخطوة 4: Programação

الفقرة a codificação do projeto no NodeMCU، useizamos a IDE do Arduino (veja aqui como configurar: https://www.instructables.com/id/Quick-Start-to-N …).

Primeiramente ، vamos incluir as bibliotecasecessá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 * / # حدد mq2 A0 // MQ-2 التناظرية

int valor_mq2 = 0 ؛

/ * سنسور دي بويرا * /

#define dsmpin 2 // DSM501A input D4 byte buff [2] ؛ مدة طويلة بدون توقيع ؛ وقت بدء طويل بدون توقيع ؛ نهاية طويلة بدون توقيع ؛ sampletime_ms الطويل بدون توقيع = 1000 ؛ شغل منخفض طويل بدون إشارة = 0 ؛ نسبة التعويم = 0 ؛ تركيز عائم = 0 ؛

/ *************************************************** ** * Recebendo Dados do Sensor de Gás ******************************************* ********* / void getGasData (باطل) {valor_mq2 = 0 ؛ تأخير (1000) ؛ كثافة العمليات 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) ؛ شغل منخفض + = المدة ؛ وقت النهاية = مللي () ؛ تعويم aux1 ، aux2 = 0 ؛ if ((endtime-starttime)> sampletime_ms) {aux1 = (lowpulseoccupancy-endtime + starttime + sampletime_ms) / (sampletime_ms * 10.0) ؛ // النسبة المئوية الصحيحة 0 => 100 aux2 = 0.1 * pow (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")؛ }}}

مراقبة 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. الفقرة comunicação com o ThingSpeak، useizaremos o Protocolo HTTP، efetuando uma Requisição POST.

/ *************************************************** ** * Enviando os Dados para o ThingSpeak ********************************************* ********* / void sendDataTS (باطل) {if (client.connect (server، 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 ("طول المحتوى:") ؛ 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 (concração de e proporoe) 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، ratio)؛ // pin V10 Blynk.virtualWrite (11 ، تركيز) ؛ // pin 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 dados através de gráficos pela internet.

أوتورز:

  • إيغون باتريك ماركيز سيلفا
  • فريدريكو كلارك
  • باولا فرويس

موصى به: