Sisukord:
- Samm: komponendid
- 2. samm: rakendused
- Samm 3: Montagem Do Ambiente
- Samm 4: Programação
- Samm: Conclusão
Video: Kontroll De Gás E Poeira Com O NodeMCU: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
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 Regardrados altos.
Samm: komponendid
Os seguintes komponendid são utilizados:
- NodeMCU
- Gaasi MQ-2 andur
- Poeira and Fumaça Dsm501a Arduino andur
Oluline on jälgida NodeMCU pinagem GPIO -d.
2. samm: rakendused
Os seguintes aplicativos são utilizados:
ThingSpeak: uma plataforma IoT avatud lähtekoodiga tasuta, que permite upload de infoções e posterior visualização gráfica em tempo real;
Blynk: uma plataforma que permite integração mais simples entre to smartphones (iOS and Android) com microconroladores (Arduino, Node MCU, Raspberry Pi, entre outros).
Samm 3: Montagem Do Ambiente
Primeiramente, deve-se criar uma conta no ThingSpeak. Vaadake saidi juhiseid:
Em seguida, crie um novo canal, e defina os parâmetros que serão recebidos. Você receberá um número de identifação (ID) do canal criado em seu e-mail. Este ID on hädavajalik ja fazer või üleslaaditud de dados para o seu kanal.
Agora, vamos configurar või Blynk:
Baixe või aplicativo do Blynk on Android, e cria uma conta no service. Em seguida, crie um novo projeto, e escolha a plataforma, nestes caso või NodeMCU. Após a criação do projeto, será enviado para seu e-mail um token de autenticação.
Samm 4: Programação
NodeMCU-d ei tohi kasutada, IDD do Arduino (veja aqui como konfiguraator:
Primeiramente, vamos incluir as bibliotecas requiredárias para comunicação com o ThingSpeak e Blynk:
#kaasake
WiFiClient klient; / * 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 analoog
int valor_mq2 = 0;
/ * Poeira andur */
#define dsmpin 2 // DSM501A sisend D4 baitpuhver [2]; allkirjastamata pikk kestus; allkirjastamata pikk algusaeg; allkirjastamata pikk lõpuaeg; allkirjastamata pikk sampletime_ms = 1000; allkirjastamata pikk madalimpulss = 0; ujuki suhe = 0; ujuki kontsentratsioon = 0;
/************************************************ ***Recebendo Dados do Sensor de Gás **************************************** *********/ void getGasData (tühine) {valor_mq2 = 0; viivitus (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 (tühine) {duration = pulseIn (dsmpin, LOW); madal impulsside täituvus += kestus; lõppaeg = millis (); ujuk aux1, aux2 = 0; if ((lõpuaeg-algusaeg)> prooviaja_ms) {aux1 = (madalpulseoccupancy-endtime + starttime + sampletime_ms)/(sampletime_ms*10,0); // täisarvu protsent 0 => 100 aux2 = 0,1*pow (aux1, 2)+(619*aux1) +50; // kasutades spetsifikatsioonilehe kõverat, kui (aux1 42) {Blynk.email ("[email protected]", "Sensor de Poeira", "ALERTA de Concentração de Poeira !!!"); Serial.println ("email de alerta de poeira enviado"); }}}
Jälgige 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 või ThingSpeak. Kasutage ThingSpeak'i, HTTP -protokolli kasutamist või protokolli, mis on vajalik POST -i kasutamiseks.
/************************************************ ***Enviando os Dados para või ThingSpeak **************************************** *********/ void sendDataTS (void) {if (client.connect (server, 80)) {String postStr = apiKey; postStr += "& väli1 ="; postStr += String (suhe); postStr += "& väli2 ="; postStr += String (kontsentratsioon); postStr += "& väli3 ="; postStr += String (valor_mq2); postStr += "\ r / n / r / n"; client.print ("POST /uuenda HTTP /1.1 / n"); client.print ("Host: api.thingspeak.com / n"); client.print ("Ühendus: sulge / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Content-Type: application/x-www-form-urlencoded / n"); client.print ("Sisu-pikkus:"); klient.print (postStr.length ()); klient.print ("\ n / n"); klient.print (postStr); viivitus (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 identificos na criação do canal, com os valores lidos dos sensores de poeira (kontsentração e proportsion) e gás (kontsentraatõde). No ThingSpeak, visuaalne visualiseerija kui teave teabe vormis.
Lõplik, enviamos os mesmos dados Android -rakenduses või Blynk:
/************************************************ ***Enviando Dados para o Blynk ***************************************** ********/ void sendDataBlynk () {Blynk.virtualWrite (10, suhe); // tihvt V10 Blynk.virtualWrite (11, kontsentratsioon); // pin V11 Blynk.virtualWrite (12, valor_mq2); // virtuaalne tihvt V12}
Samm: Conclusão
Completando este guia Com sucesso, você poderá tanto visualizar em seu celular informationções 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
Soovitan:
Kassitoidu juurdepääsu kontroll (ESP8266 + servomootor + 3D -printimine): 5 sammu (koos piltidega)
Kassitoidu juurdepääsu kontroll (ESP8266 + servomootor + 3D -printimine): see projekt hõlmab protsessi, mida kasutasin oma eaka diabeetilise kassi Chazi jaoks automatiseeritud kassitoidu kausi loomisel. Vaadake, ta peab enne insuliini saamist hommikusööki sööma, kuid ma unustan sageli enne magamaminekut tema toidunõu kätte võtta, mis
Mõistlikkuse kontroll: 5 sammu (piltidega)
Tervislikkuse kontroll: see projekt on seotud mõistusega või selle regulaarse kontrollimisega. Parim viis selle saavutamiseks on ehitada mask, mis särab juhuslikult silmad punaseks. Piisavalt sageli, nii et see on märgatav, kuid piisavalt hõre, et panna inimesi kahtlema
Kontroll -LED vilgub potentsiomeetri ja OLED -ekraaniga: 6 sammu
LED -i vilkumise juhtimine potentsiomeetri ja OLED -ekraaniga
Puutetundlik: automaatne temperatuuri kontroll ja maski tuvastamise kiosk: 5 sammu
Puutetundlik: automaatne temperatuurikontroll ja maskide tuvastamise kiosk: Kuna riigid üle maailma on taasavamas, on uue eluviisiga saamine koos uue koroonaviirusega. Kuid viiruse leviku peatamiseks peame eraldama koroonaviirusega inimesed ülejäänud inimestest. CDC andmetel on palavik
Niiskuse kontroll: 4 sammu
Niiskuse kontroll: see projekt näitab, kuidas Arduino niiskust kontrollida. Tegelikult sain purunenud kuiva kasti, kuid ei leia asendatavat varuosa. Nii et ma otsustasin selle parandada