Mundarija:

Projeto IoT - De Fumaça detektori tizimi: 5 qadam
Projeto IoT - De Fumaça detektori tizimi: 5 qadam

Video: Projeto IoT - De Fumaça detektori tizimi: 5 qadam

Video: Projeto IoT - De Fumaça detektori tizimi: 5 qadam
Video: Экскурсия по недвижимости Аврупа Чамливади 2024, Noyabr
Anonim
Projeto IoT - De Fumaça detektori
Projeto IoT - De Fumaça detektori

Kirish

IoT tizimidagi aniqlik detektori Android -ning signalizatsiyasi ham, Android -da ham mavjud bo'lgan signallarni tekshirish uchun mo'ljallangan. Wi -Fi tarmog'iga ulangan mikrokontroldan keyin siz sensorli signalni topishingiz mumkin. Telegramma orqali telegramma orqali xabarnomalar yozib olinganidan so'ng, bu tizimda ham kuzatuvlar amalga oshiriladi.

Desenvoldorlar

  • Bruno Gonsalves Pereyra
  • Joau Paulu Tadeu Borxes Payva
  • Juliana Guimarães Soares Buére
  • Willan Aleksandr Condor Asenjo

1 -qadam: Materiais Utilizados

Materiais Utilizados
Materiais Utilizados
Materiais Utilizados
Materiais Utilizados
Materiais Utilizados
Materiais Utilizados
Materiais Utilizados
Materiais Utilizados

Ma'lumotni loyihalashtirish uchun:

  • ESP8266 NodeMcu ESP-12 moduli: ESP8266 chipining kombinatsiyasi (Wi-Fi tarmoqlari), usb-seriyali usb-interfeys va 3.3V. Arduino-da IDE va mikroavtobus orqali ulanish dasturlari mavjud.
  • Sensor de Gás MQ-135 to Gazic Tóxicos: O Sensor de Gás MQ-135, shuningdek, gazlar, gazlar, gazlar, benzenlar, oksidlar nítrico, e também fumaça ou.
  • Led vermelho
  • Led verde
  • 2 qarshilik 200Ω
  • Protokollar va protokollar uchun o'tish moslamalari

2 -qadam: ThingSpeak -ni sozlang

ThingSpeak -ni sozlash
ThingSpeak -ni sozlash
ThingSpeak -ni sozlash
ThingSpeak -ni sozlash
ThingSpeak -ni sozlash
ThingSpeak -ni sozlash

ThingSpeak va IoT xizmatlari Internet -serverlar uchun HTTP va MQTT protokoli yordamida mahalliy tarmoqqa ulangan. ThingSpeak -ni tasdiqlang, bu ma'lumotni tahlil qilish va tahlil qilish.

U ThingSpeak -ning asosiy vazifasi bo'lib xizmat qiladi (bu 3 yil davomida 8000 ta menyuga ega). Maqolalar bir -biridan farqli o'laroq, standart, akademik, talaba va uy.

ThingSpeak kanalining konfiguratsiyasi

ThingSpeak yo'q, shuning uchun kanal kerak emas. Mana, siz ham aniqlab olishingiz mumkin. 8 ta kanalni o'z ichiga oladigan bo'lsak, bu 3 ta lagerni mahalliylashtirish uchun 1 ta maqom. Ommaviy kanallar, shuningdek, ThingSpeak-ni tahlil qilish uchun mo'ljallangan.

IoTProject-SmokeDetector va 3-chi dasturlar uchun eng yaxshi loyihalar:

  • 1 -maydon: konsentratsiya
  • 2 -maydon: signal
  • 3 -maydon: Komando yozish

"Xususiy ko'rish" bo'limida siz "Clospace" ni ko'rishingiz mumkin. Neste projeto, foram criados:

  • CO2 -ni tezlashtirish uchun bir vaqtning o'zida bir xil vazifalarni bajaring.
  • 1 signal indikatori signal indikatori signal
  • 1 -sonli o'yinlar tezligi va tezligi

ThingSpeak yo'q

ThingSpeak yoki kanal identifikatori (kanal identifikatori) sizning shaxsiy ma'lumotlaringizni aniqlab olish imkonini beradi. "API kalitlari" ni o'chirib qo'yish kerak (API kalitini yozish) va API kalitini o'qish). Qachonki, API so'rovlari (HTTP so'rovlarini qabul qilish) kabi, biz ham sizning talablarimizga javob beramiz.

Kanalni aniqlang, chunki mikrokontroldor yo'q. Shunday qilib, API Android -ning dasturiy ta'minotini ishlatishni talab qiladi.

3 -qadam: Aplicativo - MIT App Inventor

Aplicativo - MIT dastur ixtirochisi
Aplicativo - MIT dastur ixtirochisi
Aplicativo - MIT dastur ixtirochisi
Aplicativo - MIT dastur ixtirochisi
Aplicativo - MIT dastur ixtirochisi
Aplicativo - MIT dastur ixtirochisi
Aplicativo - MIT dastur ixtirochisi
Aplicativo - MIT dastur ixtirochisi

MIT App Inventor -dan foydalanish uchun monitoringi kerak. Massachusets Texnologiya Instituti (MIT) bilan bog'liq holda, MIT App Inventor veb -saytini bepul yaratdi. Android va iOS uchun dasturlar o'rnatiladi.

Masalan, MIT App Inventor-ni topa olmasangiz, IotProject_SmokeDetector-ni loyihalashingiz mumkin.

Dizayner ham mumkin emas, chunki u yonma -yon (menyu, yorliqlar, tasvirlar va boshqalar) hech qanday menyuga mos kelmaydi (Palitra). Umumiy komponentlar bir -biridan farqli o'laroq, yadrolarni sozlash, sozlash, sozlash va boshqa menyuga kiruvchi menejerlar (Xususiyatlar) yo'q.

Blocks yoki boshqa dasturlarni blokirovka qilish dasturiy ta'minot. Dastur blokirovka qilish uchun qulayliklar yaratadi.

Tushuntirish

Ma'lumot almashish joylari: signalData va sensor Ma'lumotlar.

Bu birinchi navbatda (Clock1 -ni aniqlagan holda), "API kalitlari" dan keyin ThingSpeak -ning URL -manzili ham, kanalning o'zi ham talab qilinmaydi. Ma'lumotlar almashinuvi uchun CO2 va boshqa datchiklar bilan aloqa o'rnatiladi. Test signallari:

  1. Aloqa signallari (alarmData = 1), yoki siz "Atensao! Bu juda muhim!" e -botão de desligar alarme (Button1) va habilitado.
  2. Aloqa signallari (signalData = 0), yoki "Menimcha, hech narsa emas!" Tugmachasini bosing. e o botão de desligar alarme (Button1) va desabilitado.

Klaviatura tugmachalari (tugma1) tugmachalarni bosish yoki o'chirish uchun hech qanday maydon yo'q, Field3: hech qanday ThingSpeak yo'q, bu esa signallarni o'chirish yoki o'chirish uchun kerak. Siz "API kalitlari" ni nusxalash uchun ThingSpeak manzilini yoki URL manzilini topishingiz mumkin.

4 -qadam: Montagem Do Prototipo

Montagem Do Prototipo
Montagem Do Prototipo

Yo'q, hech qanday protoboard mos kelmaydi.

Sensor MQ135

  • Pino AO: AD0 va ESP8266 modullari
  • PND GND: ESP8266 yoki GND bilan aloqa
  • Pino Vcc: VIN va ESP8266 modullari

LED yoritgich

  • Umumiy qarshilik 200 Ω pino D5 va modulli ESP8266 emas
  • Quvvat manbai - LED (pozitivo - maior perna) va qarshilik qarshiligi
  • LEDni yoqish moslamasi (negativ - menor), GSP va ESP8266 yo'q

LED vermelho

  • ESP8266 uchun D7 va p7 pino -dorezistorlar mavjud.
  • Quvvat manbai - LED (pozitivo - maior perna) va qarshilik qarshiligi
  • LEDni yoqish moslamasi (negativ - menor) GND va modulli ESP8266 yo'q

5 -qadam: Mikrokontrolor dasturlari

ESP8266 mikrokontrolorlari Arduino IDE dasturidan foydalanish uchun (suvni yuklab olish).

O'qish uchun hech qanday yakuniy qo'llanma yo'q (Iot_project.ino). Asosiy vazifalar: elektron tsiklni sozlash.

Fluxo ni sozlash:

  • Portal haqida rasmiy ma'lumot
  • Chiqish natijalari (pinos dos leds)
  • Wi -Fi tarmog'iga ulanish
  • ThingSpeak haqida ma'lumot oling

Fluxo do loopi:

  • Sensor MQ135
  • Ma'lumki, CO2 ultrabinafsha konsentratsiyasi (ideal: CO2 <= 700 ppm)

    • Liga yoki signal (LED yoritgichi), LED holati yoki holati (Telegram), Telegram -ni yoqib yuboring.
    • Aloqa signallari (LED yoritgichlari) yoki LED holati (yuqori darajali).
  • ThingSpeak -ni "signalizatsiya qilish" vazifasini bajaring

    Bu erda = 1, signalizatsiya (LED yoritgichlari) yoki LED holati (holat)

  • Sensorli qurilmalar, ThingSpeak -ning 20 -sonli signallari haqida ogohlantiring.

Maqolani bajarish uchun dasturni tuzish kerak.

Wi -Fi -ni qayta ishlatish

Arduino-da IDE-ni tanlang, Fayl-> Parametrlar bo'limi menejerining qo'shimcha URL manzili

Asboblar-> Kengashlar-> Kengashlar menejeri-ESP8266, ularni o'rnatish va o'rnatish.

Ma'lumotni o'zgartirish uchun ikkita variant kerak bo'ladi:

  • WIFI_SSID: Wi -Fi tarmog'iga ulanishning hech qanday usuli yo'q
  • WIFI_PASSWORD: qayta tiklash

Wi -Fi -ni nusxalash, shuningdek, WIFI -ni o'zgartirish uchun ESP8266 -ni yuklashning hojati yo'q.

#include /************************ ABAIXO ta'rifi sifatida ALTERE ******************* *******/ #define_SSID "SIZNI WIFI SSID" ni belgilang // Nomi da rede wifi #define_WIFI_PASSWORD "SIZNING WIFI PAROLINI" // Siz Wi -Fi WiFi mijozining mijozi; // ConnectToWiFi (void) aloqasi yo'q bo'lsa, u holda // Serial.println ("Conectando à rede WiFi") bilan aloqa o'rnatiladi; WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {kechiktirish (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("IP obtido:"); Serial.println (WiFi.localIP ()); } // O'rnatish bo'sh joyni o'rnatish () {Serial.begin (115200); kechikish (50); // ConnectToWiFi () bilan aloqa o'rnatish; }

Lendo dados sensori MQ135

MQ135 sensori, MQ135.biblioteca va bluxotexnika, shuningdek, Arduino-dagi IDE va Skecth-> Kutubxonani qo'shish-> ZIP kutubxonasini qo'shish.

Depois, nusxa ko'chirish uchun hech qanday uskuna yuklanmagan. U CO2 em ppm va undan ko'p vaqtni o'z ichiga oladi, chunki ketma -ket monitor yo'q.

#"MQ135.h" ni qo'shing #SMOKE_SENSOR A0 ni aniqlang // IO do sensori de fumaça float sensorValue; // O'rnatish bo'sh joyni o'rnatish () {Serial.begin (115200); kechikish (50); } // Loop asosiy void loop () {// Sensor MQ135 gasSensor = MQ135 (SMOKE_SENSOR); sensorValue = gasSensor.getPPM (); Serial.print ("CO2 konsentratsiyasi (ppm):"); Serial.println (sensorValue); }

ThingSpeak -ni ishlating

Bosh vazir, Biblioteca va ThingSpeak no Arduino IDE. Asboblar-> Kengashlar-> Kengashlar menejeri ThingSpeak-ni o'rnatadi, ularni o'rnatish mumkin.

ThingSpeak-ni bepul yuklab oling, siz 20-chi kunni boshidan oxirigacha yuklashingiz mumkin, lekin hech qanday tajriba yo'q, lekin bu hech qanday qiyinchilik tug'dirmaydi.

ThingSpeak -ning zaruriy shartlari quyidagilardan iborat:

  • myChannelNumber: ThingSpeak kanali yo'q
  • myWriteAPIKey: ThingSpeak kanalini yaratish
  • myReadAPIKey: ThingSpeak kanalini yaratish

ThingSpeak -ni yozib oling, nusxa ko'chiring yoki nusxa oling, ESP8266 -ni yuklashda hech qanday farq yo'q.

#include #include /************************ ABAIXO ta'rifi sifatida ALTERE *********/ WIFI_SSID "SIZNI WIFI SSID" ni belgilang // Wifi parolini belgilang #WIFI_PASSWORD "SIZNI WIFI PAROLINGIZNI" // Siz Wi -Fi parolini belgilang #THINGSPEAK_WRITE_INTERVAL 20000 ni belgilang // Intervallar va boshqalar. dados ao ThingSpeak /************************ VARIÁVEIS ABAIXO ALTERET VERIÁVEIS ABAIXO ****************** ********/ imzosiz uzun myChannelNumber = 0000000; // ThingSpeak const char * myWriteAPIKey = "kanal yozish uchun kalit"; // ThingSpeak const char * myReadAPIKey = "your api key" ni o'qing; // ThingSpeak kanalining imzolanmagan belgisi last lastTime; imzosiz uzoq joriy vaqt; WiFiClient mijozi; // ConnectToWiFi (void) aloqasi yo'qligi sababli, // // api.telegram.org configTime (0, 0, "pool.ntp.org") uchun ildiz sertifikatining konfiguratsiyasi; clientSecure.setTrustAnchors (& sertifikat); // Serial.println ("Conectando à rede WiFi") Wi -Fi tarmog'idan foydalanish; WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {kechiktirish (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println (WiFi.localIP ()); } // O'rnatish bo'sh joyni o'rnatish () {Serial.begin (115200); kechikish (50); // ConnectToWiFi () bilan aloqa o'rnatish; // ThingSpeak lastTime = 0 ni yozib oling; ThingSpeak.begin (mijoz); } // Loop asosiy void loop () {currentTime = millis (); // sozlash tezligi // ThingSpeak int qiymati = ThingSpeak.readIntField (myChannelNumber, 1, myReadAPIKey); Serial.println ("Ding no campo 1 do ThingSpeak:"); Serial.println (qiymat); // ThingSpeak if ((currentTime - lastTime> THINGSPEAK_WRITE_INTERVAL)) {ThingSpeak.setField (1, 100); ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey); lastTime = currentTime; } kechikish (20000); }

Telegram -da eng yaxshi xabarlar

Boshlang'ich, Arduino IDE bo'lmagan Telegram va Biblioteca. Asboblar-> Kengashlar-> Kengashlar menejeri UniversalTelegramBot-ni o'rnatadi, ularni o'rnatish mumkin.

Telegram va elektron pochta xabarlari Bot -ga tegishli. Boshlang'ich, sotib oling va botta otasi sotib oling. Bu erda hech qanday savol yo'q, lekin hech narsa yo'q. Saytga yozish yoki yozish buyrug'i sifatida. Umumiy noma'lum va noma'lum. Bu botni ochish uchun, bu sizning kompyuteringiz uchun havolani tanlashga yordam beradi. ESP8266 ma'lumotlarini eslatib o'tamiz, bu ma'lumotni aniq belgilashga imkon beradi.

Masalan, Telegram va IDBot -dan foydalaning. Ma'lumotni boshqa raqamga aylantirish mumkin. Ma'lumotni identifikatsiya qilish uchun javobgar bo'lishingiz kerak. Shaxsiy identifikatorni saqlang, aniq ma'lumotni aniqlang.

Telegram (BOT_TOKEN va CHAT_ID) va ESP8266 fayllarini yuklashda hech qanday farq yo'qligi sababli, ular telegram, nusxa ko'chirish yoki nusxa ko'chirish imkoniyatiga ega.

#include #include #include /********************* ALTERAR ta'riflari ABAIXO ******************* *******/ #WIFI_SSID "SIZNI WIFI SSID" ni aniqlang // Nomi da rede wifi #WIFI_PASSWORD "SIZNI WIFI PAROLI" // Senha da rede wifi #define BOT_TOKEN "CHANGEYOURTOKEN" // Token do bot do do telegram # CHAT_ID "CHANGEYOURCHATID" ni belgilang // telegramda X509List sertifikati (TELEGRAM_CERTIFICATE_ROOT) bilan suhbatlashing; WiFiClientSecure clientSecure; UniversalTelegramBot bot (BOT_TOKEN, clientSecure); // Envia notificação ao Teo void SendTelegramNotification (String xabar) {bot.sendMessage (CHAT_ID, xabar, ""); Serial.println (xabar); } // FunToWi wifi void ConnectToWiFi (void) {// api.telegram.org configTime (0, 0, "pool.ntp.org") uchun ildiz sertifikatining konfiguratsiyasi; clientSecure.setTrustAnchors (& sertifikat); // Serial.println ("Conectando à rede WiFi") Wi -Fi tarmog'idan foydalanish; WiFi.begin (WIFI_SSID, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {kechiktirish (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi conectado com sucesso!"); Serial.println ("IP obtido:"); Serial.println (WiFi.localIP ()); } // O'rnatish bo'sh joyni o'rnatish () {Serial.begin (115200); kechikish (50); // ConnectToWiFi () bilan aloqa o'rnatish; // TestTo notificação pelo telegram SendTelegramNotification ("Testando envio de notificação."); }

Tavsiya: