Mundarija:

IDC2018IOT GarbageCan-Online: 7 qadam
IDC2018IOT GarbageCan-Online: 7 qadam

Video: IDC2018IOT GarbageCan-Online: 7 qadam

Video: IDC2018IOT GarbageCan-Online: 7 qadam
Video: Afruza & Shohruhxon - Esingdami ayt (Qadam 2 fasl soundtrack) 2024, Noyabr
Anonim
Image
Image
Majburiy qismlar
Majburiy qismlar

Kirish

Axlatni uzoq vaqt axlat qutisiga tashlamasak nima bo'lishini hamma biladi. Xo'sh, eng aniq narsa shundaki, ko'proq axlat uchun joy yo'q, lekin u ham hidlay boshlaydi va bu juda yoqimsiz bo'ladi.

Ushbu loyiha yordamida biz uydagi axlat qutilarini / ish maydoni / va hokazolarni kuzatib borishga yordam berishni maqsad qilganmiz, shuning uchun siz ularning to'lganini har doim bilib olishingiz va axlatni olib tashlash orqali darhol choralar ko'rishingiz mumkin.

Tizim sizni axlat qutisini bo'shatish kerakligi haqida telefon yoki boshqaruv paneli orqali ogohlantiradi. Tizim axlat qutisining to'liqligini, lekin uning ichida o'lchangan harorat va namlikni hisobga oladi. Issiq va nam kunlarda axlat qutilarini bo'shatish qanchalik dolzarbligi hammamizga yaxshi ma'lum …

Asosiy xususiyatlar

  1. Kuzatuv paneli:

    • Asosiy bo'lim:

      • Har bir axlat qutisining to'liqligi.
      • Har bir axlat qutisining harorati va namligi.
    • Statistika bo'limi:

      • To'liq axlat qutisi.
      • Eng issiq axlat qutisi.
  2. Ogohlantirishlar va bildirishnomalar tizimi:

    • Quyidagi tadbirlar qo'llab -quvvatlanadi:

      • Axlat qutisi to'la.
      • Sensor xatosi yuz berdi.
    • To'liqlik haqida ogohlantirish axlat qutisining to'liqligini, shuningdek axlat qutisining harorati va namligini ham hisobga oladi.
    • Ogohlantirishlar telefon xabarnomalari va asboblar paneli orqali yuborilishi mumkin.
    • Har bir ogohlantirish kanalini asboblar paneli orqali yoqish va o'chirish mumkin.
  3. Miqyoslilik:

    • Kalibrlash tugmachasidan foydalanib, tizimni har xil hajmdagi axlat qutilariga moslashtirish mumkin.
    • Ko'proq axlat qutilarini qo'shish mumkin. Xuddi shu tizimni yangi axlat qutisiga yig'ish, axlat qutisining identifikatorini o'rnatish va kalibrlash mumkin (tugmani bosish). 3 dan ortiq axlat qutilariga ega bo'lish uchun boshqaruv panelini kengaytirish kerak bo'ladi (bajarish oson).

Biz kimmiz?

Bu loyiha (sevgi va fidoyilik bilan!) Rom Cyncynatus va Daniel Alima tomonidan yaratilgan - IDC Herzliya talabalari bizning IoT kursimizning yakuniy loyihasi sifatida. Umid qilamizki, siz bizning ishimizni foydali deb topasiz va undan zavqlanasiz!

1 -qadam: kerakli qismlar

Tizimni yaratish uchun sizga quyidagi komponentlar va qismlar kerak bo'ladi:

  1. Axlat qutisi (yaxshisi qopqog'i bilan): bu … uchun ishlatiladi … bilasizmi, biz bu bilan nima qilmoqchimiz, to'g'rimi?;)
  2. Non paneli: har xil komponentlarni lehim ishlatmasdan ulash uchun.
  3. NodeMCU (ESP-8266): Sensorlarni o'qish va ma'lumotlarni bulutga yuborish uchun javobgardir.
  4. Uzoqlikdagi IR sensori - 0A41SK aniqligi: bu sensor bankadagi axlat miqdorini (to'liqlik darajasi) o'lchaydi.
  5. Harorat va namlik sensori - DHT11: Bu sensor axlat qutisi ichidagi harorat va namlikni o'lchaydi.
  6. Bir lahzali kalit: masofa sensori axlat qutisining o'lchamiga qarab sozlanishi uchun ishlatiladi.
  7. Alyuminiy folga: Qopqoq holatini aniqlash uchun detektorni yaratish uchun ishlatiladi - u ochilgan yoki yopilgan.
  8. Jumper simlari: ko'p miqdorda va har xil uzunlik va ranglarda. Hamma narsani birlashtiradi.
  9. Kanal tasmasi: Biz narsalarni joyiga yopishtirishimiz kerak.
  10. Micro-USB kabeli: NodeMCU-ni kompyuterga dasturlash uchun, keyin esa quvvat manbai uchun ulash uchun.
  11. USB quvvat manbai (smartfonni zaryadlovchi): axlat qutisiga o'rnatilganda NodeMCU quvvatini ta'minlaydi.

2 -qadam: simlarni ulash va yig'ish

O'rnatish va ulash
O'rnatish va ulash
O'rnatish va ulash
O'rnatish va ulash
O'rnatish va ulash
O'rnatish va ulash

Ulanish

NodeMCU -ni keyinroq axlat qutisiga ulash va USB kabelini unga ulash qulay bo'lishi uchun uni non paneliga qo'ying. Keyin, turli komponentlarni NodeMCU -ga ulash uchun yuqoridagi simi diagrammasi rasmiga qarang. Sensorlar va holat simlari uchun uzun simlardan foydalanganingizga ishonch hosil qiling, shunda tizimni o'rnatish va u bilan axlat qutisini ishlatish qulay bo'ladi.

  • Masofaviy IQ sensori - Sharp 0A41SK:

    • Vin (Qizil) Vin
    • GND (qora) GND
    • Vout (sariq) A0
  • Harorat va namlik sensori - DHT11:

    • Vin (qizil) 3V3
    • GND (qora) GND
    • Ma'lumotlar (sariq) D4
  • Bir lahzali kalit:

    • Pin 1 D3
    • PIN 2 GND
  • Qopqoq holati (ochish / yopish) simlari:

    • Tel 1 D2
    • Sim 2 GND

O'rnatish

Tizimni axlat qutisiga yig'ish juda oddiy. Non taxtasini axlat qutisiga, yaxshisi qopqog'iga yaqinroq joylashtiring. O'rnatish uchun lenta yoki simi tasmasini ishlating. Keyin:

  1. IQ masofa sensori qopqog'ining o'rtasiga joylashtiriladi (ichki tomondan!). To'g'ri himoyalanganligiga ishonch hosil qiling, aks holda siz noto'g'ri o'qishga duch kelasiz!
  2. Harorat va namlik sensorini axlat qutisiga joylashtiring. Lenta bilan mahkamlang.
  3. Qopqoqning yon tomonini va axlat qutisining uchini alyumin folga bilan yoping. Qopqoq yopilganda yaxshi aloqa borligiga ishonch hosil qiling. Bu tizimga axlat qutisi ochilgan yoki yopilganligini bildiradi. Keyin har bir qopqoq holatidagi simlarni alyumin folga biriga yopishtiring va lenta bilan mahkamlang.

3-qadam: MQTT, Node-RED va IFTTT-ni o'rnating

MQTT, Node-RED va IFTTT-ni sozlash
MQTT, Node-RED va IFTTT-ni sozlash
MQTT, Node-RED va IFTTT-ni sozlash
MQTT, Node-RED va IFTTT-ni sozlash
MQTT, Node-RED va IFTTT-ni sozlash
MQTT, Node-RED va IFTTT-ni sozlash

Loyiha mantig'ining aksariyati aslida bulutda amalga oshiriladi. NodeMCU ma'lumotni MQTT serveriga yuboradi va Node-RED uni iste'mol qiladi va o'z mantig'ini qo'llaydi (kelajakdagi arxitektura haqida). Va nihoyat, smartfonga push -bildirishnomalarni (ogohlantirishlarni) uzatish uchun biz IFTTT -dan foydalandik.

Biz CloudMQTT va FRED bulutli xizmatlaridan mos ravishda MQTT va Node-RED serverlari sifatida foydalanamiz va push-bildirishnomalar uchun IFTTT-dan foydalanamiz.

  1. Bepul tarif bilan CloudMQTT -ga ro'yxatdan o'ting. Hisob ma'lumotlarini MQTT serveriga yozing (foydalanuvchi nomi va parol).
  2. IFTTTga ro'yxatdan o'tish. "Webhooks IFTTT ilova xabarnomasi" ning yangi appletini yarating. WebHookds voqea nomi sifatida "Mobil telefon xabarnomasi" dan foydalaning. Qisqa tafsilotlar uchun yuqoridagi rasmga qarang. Ishlab chiqaruvchi API kalitiga e'tibor bering.
  3. IFTTT ilovasini telefoningizga yuklab oling va hisob ma'lumotlari bilan kiring. Bu sizga push -bildirishnomalarni olish imkonini beradi.
  4. Bepul tarif bilan FRED -ga ro'yxatdan o'ting.
  5. FRED misolini ishga tushirgandan so'ng, unga biriktirilgan oqimlarni import qiling (3 barli buferdan import qilish tugmasi). Har bir faylning tarkibini (widgest.json, alerts.json, statistika.json) joylashtiring va uni import qiling.
  6. CloudMQTT hisob ma'lumotlarini yangilash uchun MQTT tugunlaridan birini tahrirlang (bittasi etarli).
  7. IFTTT ishlab chiqaruvchi API kalitini yangilash uchun IFTTT tugunini o'zgartiring.

4 -qadam: NodeMCU va axlat qutilarini kalibrlashni dasturlash

Hamma narsa ulanganidan so'ng, biz NodeMCU -ni tegishli dasturiy ta'minot bilan (sketch) dasturlashimiz kerak, shunda u unga ulangan barcha narsalardan foydalanadi va Internet bilan aloqa o'rnatadi.

  1. Arduino IDE -ni bu erdan yuklab oling va o'rnating.
  2. NodeMCU taxtasi turini o'rnating va o'rnating, keyingi ko'rsatma boshida.
  3. Quyidagi kutubxonalarni o'rnating (Sketch o'z ichiga kutubxonalarni boshqarish kutubxonalarini boshqaradi …):

    1. Adafruit MQTT kutubxonasi (Adafruit tomonidan)
    2. DHT sensorlar kutubxonasi (Adafruit tomonidan)
    3. SharpIR (Juzeppe Masino tomonidan)
    4. EEPROMAnything - bu erda tushuntirish.
  4. GarbageCanOnline.ino faylini oching va quyidagilarni yangilang:

    1. Wi -Fi ma'lumotlari (WLAN_SSID, WLAN_PASS)
    2. Sizning CloudMQTT hisob ma'lumotlari (MQTT_USERNAME, MQTT_PASSWORD)
    3. Agar bu ikkinchi axlat qutisi yoki undan ko'p bo'lsa, axlat qutisining identifikatorini o'zgartiring (GARBAGECAN_ID)
  5. Yangilangan eskizni NodeMCU -ga yuklang.
  6. Ketma -ket monitor oynasini oching (Ctrl+M) va u sensorlarning ma'lumotlarini CloudMQTT -da e'lon qilishiga ishonch hosil qiling.
  7. Qopqoq yopilganda va axlat qutisi bo'sh bo'lganda, axlat qutisi hajmini sozlash uchun kalibrlash tugmachasini uzoq bosib turing.
  8. Axlat qutisi hamma narsaga tayyor. Siz uni kompyuterdan uzishingiz va USB quvvat manbai yordamida belgilangan joyga ulashingiz mumkin.

5 -qadam: tizimdan foydalanish

Tizimdan foydalanish
Tizimdan foydalanish
Tizimdan foydalanish
Tizimdan foydalanish
Tizimdan foydalanish
Tizimdan foydalanish

Agar siz bu erga etib kelgan bo'lsangiz, hamma narsa o'z joyida bo'lishi kerak. Keling, tizimning turli xil foydalanish jihatlari haqida qisqacha ma'lumot beraylik.

Sizda faqat bitta axlat qutisi bor deb o'ylaymiz, lekin keyinroq qo'shib qo'yish oson!

Birinchidan, asosiy boshqaruv paneliga e'tibor bering. Siz axlat qutilarining to'lganligini, harorat va namlik darajasini ko'rib, asosiy ekranda bo'lishingiz kerak. Siz telefon xabarnomalari va boshqaruv paneli ogohlantirishlarini chap tomondagi kalitlar yordamida boshqarishingiz mumkin.

Axlat qutisi ichidagi axlat miqdori o'zgarganda, o'lchagich mos ravishda o'zgarishini ko'rasiz. Bu harorat va namlik grafigi uchun ham amal qiladi.

To'ldirish darajasi 85% -90% ga yetganda (aniq chegara harorat va namlikka bog'liq) yoki sensorda xatolik yuz berganda, siz tanlagan usul (lar) orqali xabar olasiz. Siz axlat qutisi uchun har soatda bir marta xabar olasiz.

Statistika ko'rinishida siz hozirda eng to'la va eng issiq bo'lgan axlat qutisini ko'rishingiz mumkin. Aniq nom, agar aytsak …

6 -qadam: oqimni tushunish

Oqimni tushunish
Oqimni tushunish
Oqimni tushunish
Oqimni tushunish
Oqimni tushunish
Oqimni tushunish
Oqimni tushunish
Oqimni tushunish

Siz allaqachon payqaganingizdek, tizimda "harakatlanuvchi qismlar" ko'p. Biz narsalar bir -biri bilan qanday bog'liqligini aniqlashga harakat qilamiz.

Birinchidan, bizda NodeMCU va uning sensorlaridagi axlat qutisi bor. Bizda bu ko'p bo'lishi mumkin - faqat bir -birining "nusxalari".

NodeMCU axlat qutisiga joylashtirilgan turli sensorlarni o'lchaydi va ma'lumotlarni MQTT serveriga (MQTT protokoli) e'lon qiladi. Siz MQTT serverini ko'p axlat qutilari o'z ma'lumotlari haqida xabar beradigan katta ma'lumot almashinuvi deb hisoblashingiz mumkin.

MQTT serveriga ulanadigan boshqa ob'ekt Node-RED. Node-RED axlat qutilaridan sensorli ma'lumotlarni tashuvchi turli xil xabarlarni tinglaydi va uning mantig'ini qo'llaydi. Bu "ma'lumot oqimlari" yordamida ishlaydi. Har safar xabar turiga qarab (MQTT mavzusi) tizimning turli funktsiyalarini faollashtirish bilan yakunlanadigan operatsiyalar zanjiriga kiradi (asboblar panelini yangilash, ogohlantirishlarni yuborish va h.k.). bu Node-RED-bu tizimning "miyasi". U hamma joyda sodir bo'layotgan hamma narsadan xabardor va shunga muvofiq chora ko'rishi mumkin.

Node-RED ichida biz 3 ta asosiy ma'lumot oqimini yaratdik:

  1. Vidjetlar - Node -RED -ga uzatiladigan sensorli ma'lumotlar o'lchagichlar va grafiklar orqali asboblar panelida aks etadi.
  2. Ogohlantirishlar - Sensorli ma'lumotlar signalni ishga tushirish kerakmi yoki yo'qmi degan xulosaga keltiriladi (asboblar panelida yoki smartfon ilovasida). To'liqlik darajasi, harorat va namlik hisobga olinib, axlat qutisi to'lganligi haqida foydalanuvchiga xabar berishga qaror qilinadi. Bundan tashqari, sensorli xatolar bir xil oqim orqali xabar qilinadi.
  3. Statistika - Sensorli ma'lumotlar eng to'liq va issiq axlat qutilarini ko'rsatish uchun yig'ilgan.

Node-RED push xabarnomasini yuborishi uchun u IFTTT (HTTP protokoli bo'yicha) xizmatiga ulanadi. U ma'lum bir IFTTT tadbirini tegishli xabar matni bilan faollashtiradi va IFTTT bu xabarni smartfonimizga yuboradi (HTTP va XMPP protokollari).

(A) tizimning umumiy tuzilishini va (b) Node-RED ichida 3 xil axborot oqimini yaxshiroq tushunish uchun yuqoridagi rasmlarga qarang

7 -qadam: qiyinchiliklar, cheklovlar va kelajak rejalari …

Qiyinchiliklar

Ushbu loyihadagi asosiy qiyinchiliklar asosan MQTT va Node-RED xizmatlarini boshqarish edi. Biz birinchi marta AdafruitIO -dan foydalandik, lekin uning maxsus MQTT -ni amalga oshirish biz uchun unchalik yaxshi emas edi. Node-RED ichida uning "tasmalari" bilan ishlash qulay emas edi. Oxir -oqibat, biz Mosquitto MQTT serveriga asoslangan va ancha standart bo'lgan CloudMQTT -ni tanladik. Keyin biz Node-RED-ni boshqarishga o'tdik, bu juda qiyin edi, chunki Node-RED-bu hayvon. Masalan, bizning fikrimizcha, IFTTTga qaraganda ancha kengroq va professionalroq. Biz tizimning kerakli xususiyatlarini yaratish uchun uning oqimga asoslangan dizayn yondashuvini sozlashni o'rganishimiz kerak edi. Bundan tashqari, uning eng katta afzalliklaridan biri bu javascript kodini qo'llab -quvvatlashdir, lekin biz JavaScript dasturchisi emasligimiz uchun ko'nikishimiz kerak edi. Bularning barchasiga qaramay, biz ushbu vosita bilan ishlashdan juda zavqlandik va biz uni juda qiziqarli va foydali deb topdik.

Cheklovlar

Cheklovlarga kelsak, birinchisi, biz faqat bepul xizmatlardan foydalanganligimiz bo'lar edi va ular to'liq miqyosda ishlashga ruxsat bermaydi. CloudMQTT bepul rejasi 5 dan ortiq parallel ulanishga ruxsat bermaydi, ya'ni bizda faqat 4 ta axlat qutisi va Node-RED bo'lishi mumkin. FRED Node-RED bepul rejasi faqat 24 soat to'g'ridan-to'g'ri ishlatishga imkon beradi, shundan so'ng siz qo'lda kirishingiz va taymerni qayta o'rnatishingiz kerak. Biroq, bu xizmatlarni mahalliy darajada ishga tushirish yoki cheklovlarni olib tashlash uchun ozgina qo'shimcha haq to'lash orqali osonlikcha hal qilinadi. Ikkinchi cheklov-bu to'rtinchi axlat qutisini qo'shganda va undan keyin unga tegishli vidjetlarni qo'shish uchun Node-RED-da vidjetlar oqimini qo'lda o'zgartirish kerak bo'ladi.

Kelajak uchun rejalar

Bizda tizimni yanada takomillashtirish va kengaytirish bo'yicha ba'zi fikrlar bor edi:

  1. Bepul bo'lmagan bulutli xizmatlarga o'ting. (bitta ish kuni).
  2. Axlat qutisiga axlat kompressorini qo'shish, shu bilan uni bo'shatish chastotasini kamaytirish. (4 oylik ish)
  3. Shahardagi axlat tashuvchi yuk mashinalarining samaradorligini oshirish uchun shahar va sanoat axlat qutilari bilan ishlash. Bu yuk mashinalari haydovchilari axlat bilan ishlashda o'z yo'nalishlarini yaxshiroq rejalashtirishlari uchun asboblar paneli va bildirishnoma tizimini ancha yaxshilashni anglatadi. (6 oylik ish).
  4. Axlat qutisiga qayta ishlash qobiliyatini qo'shish, masalan, axlatga maxsus biologik eritmalar quyish va axlat qutisi ichida bo'lganida uni qayta ishlashga yordam berish qobiliyati. Bu ichki sharoitda, masalan, bog'lar uchun kompost ishlab chiqarish uchun ishlatilishi mumkin, lekin uni sanoat qutilarida ham aniq ishlatish mumkin. (6 oylik ish).

Tavsiya: