Mündəricat:

IDC2018IOT GarbageCan-Online: 7 addım
IDC2018IOT GarbageCan-Online: 7 addım

Video: IDC2018IOT GarbageCan-Online: 7 addım

Video: IDC2018IOT GarbageCan-Online: 7 addım
Video: Blockchain In 7 Minutes | What Is Blockchain | Blockchain Explained|How Blockchain Works|Simplilearn 2024, Iyul
Anonim
Image
Image
Lazım olan hissələr
Lazım olan hissələr

Giriş

Zibili çöp qutusundan çıxarmadan çox uzun müddət tərk etsək nə olacağını hamı bilir. Bəli, ən açıq şey, daha çox zibil üçün yer qalmamasıdır, həm də qoxumağa başlayır və çox xoşagəlməz olur.

Bu layihə ilə evin ətrafındakı zibil qutularınızı / iş sahəsi / və s. İzləməyinizə kömək etməyi qarşımıza məqsəd qoymuşuq, beləliklə onların dolduğunu bilə bilərsiniz və zibil qutusundan çıxararaq dərhal hərəkətə keçə bilərsiniz.

Sistem, zibil qutusunu boşaltmalı olduğunuz barədə telefon bildirişi və ya tablosuna xəbərdarlıq edərək sizi xəbərdar edəcək. Sistem zibil qabının doluluq səviyyəsini, həm də içərisində ölçülən temperatur və rütubəti nəzərə alır. İsti və rütubətli günlərdə zibil qablarını boşaltmağın vacibliyi hamımıza bəllidir …

Əsas xüsusiyyətləri

  1. Monitorinq Paneli:

    • Əsas Bölmə:

      • Hər zibil qutusunun dolğunluq səviyyəsi.
      • Hər bir zibil qutusunun temperaturu və rütubəti.
    • Statistika Bölməsi:

      • Tam zibil qutusu.
      • Ən isti zibil qutusu.
  2. Xəbərdarlıq və Bildiriş Sistemi:

    • Aşağıdakı hadisələr dəstəklənir:

      • Zibil qutusu doludur.
      • Sensor xətası baş verdi.
    • Dolğunluq siqnalları zibil qutusunun doluluq səviyyəsini, həm də zibil qutusunun temperaturu və rütubət səviyyəsini nəzərə alır.
    • Xəbərdarlıqlar telefon bildirişləri və idarəetmə paneli xəbərdarlıqları vasitəsilə göndərilə bilər.
    • Hər bir xəbərdarlıq kanalı idarəetmə paneli vasitəsilə açıla və söndürülə bilər.
  3. Ölçeklenebilirlik:

    • Kalibrləmə düyməsindən istifadə edərək sistemi müxtəlif tutumlu zibil qutularına uyğunlaşdırmaq mümkündür.
    • Nisbətən asanlıqla daha çox zibil qutusu əlavə etmək mümkündür. Eyni sistemi yeni bir zibil qutusuna yığmaq, zibil qabının şəxsiyyətini təyin etmək və kalibrləmək olar (bir düyməyə basmaqla). 3 -dən çox zibil qutusuna sahib olmaq üçün İdarəetmə Panelinin genişləndirilməsi tələb olunacaq (yerinə yetirmək asan məsələ).

Biz kimik?

Bu layihə (sevgi və fədakarlıqla!) Rom Cyncynatus və Daniel Alima - IDC Herzliya Tələbələri tərəfindən IoT kursumuzun son layihəsi olaraq yaradılmışdır. Ümid edirik ki, işimizi faydalı tapacaqsınız və istifadə etməkdən zövq alacaqsınız!

Addım 1: Lazım olan hissələr

Sistemi qurmaq üçün aşağıdakı komponentləri və hissələri əldə etməlisiniz:

  1. Zibil qutusu (tercihen qapaqlı): Bunun üçün istifadə ediləcək … yaxşı.. bu ilə nə edəcəyimizi bilirsən, eh?;)
  2. Çörək lövhəsi: Lehim istifadə etmədən bütün fərqli komponentləri birləşdirmək.
  3. NodeMCU (ESP-8266): Sensorları oxumaq və məlumatı buluda göndərməkdən məsuldur.
  4. Məsafə IR Sensoru - Sharp 0A41SK: Bu sensor, qutunun içindəki zibil miqdarını (Tamlıq səviyyəsi) ölçəcək.
  5. Temperatur və Rütubət Sensoru - DHT11: Bu sensor zibil qabının içindəki temperatur və rütubəti ölçəcək.
  6. Anlıq keçid: məsafə sensörünü zibil qutusunun ölçüsünə görə kalibr etmək üçün istifadə olunacaq.
  7. Alüminium Folqa: Qapağın vəziyyəti üçün bir detektor yaratmaq üçün istifadə ediləcək - istər açılsın, istərsə də bağlansın.
  8. Jumper telləri: Bol və fərqli uzunluqlarda və rənglərdə alın. Hər şeyi bir -birinə bağlayacaq.
  9. Kanal Bantı: Hər şeyi yerinə bağlamalı olacağıq.
  10. Micro-USB Kabeli: NodeMCU-nu proqramlaşdırmaq üçün kompüterinizə bağlamaq və daha sonra enerji təchizatı üçün.
  11. USB Güc Təchizatı (smartfon şarj cihazı): Zibil qabına quraşdırıldıqda NodeMCU -ya enerji verəcək.

Addım 2: Kablolama və montaj

Kablolama və montaj
Kablolama və montaj
Kablolama və montaj
Kablolama və montaj
Kablolama və montaj
Kablolama və montaj

Kablolama

NodeMCU -nu daha sonra zibil qutunuza bağlamaq və USB kabelini ona bağlamaq üçün əlverişli olması üçün çörək taxtasına yerləşdirin. Daha sonra fərqli komponentləri NodeMCU -ya bağlamaq üçün yuxarıdakı sxem diaqramına baxın. Sensorlar və vəziyyət telləri üçün uzun tellər istifadə etdiyinizə əmin olun, belə ki sistemi qurmaq və onunla birlikdə zibil qutusundan istifadə etmək rahat olacaq.

  • Məsafə IR Sensoru - Sharp 0A41SK:

    • Vin (Qırmızı) Vin
    • GND (Qara) GND
    • Vout (Sarı) A0
  • Temperatur və Nəmlik Sensoru - DHT11:

    • Vin (Qırmızı) 3V3
    • GND (Qara) GND
    • DATA (Sarı) D4
  • Anlıq keçid:

    • Pin 1 D3
    • Pin2 GND
  • Qapaq vəziyyəti (aç / bağla) telləri:

    • Tel 1 D2
    • Tel 2 GND

Məclis

Sistemin zibil qabına yığılması olduqca sadədir. Çörək lövhəsini zibil qutusuna, tercihen qapağın yaxınlığına yapışdırın. Yerinə bərkitmək üçün bant və ya kabel bağından istifadə edin. Sonra:

  1. IR məsafə sensörünü qapağın ortasına qoyun (iç tərəfdən!). Düzgün bağladığınızdan əmin olun, yoxsa yanlış oxunuşlarla qarşılaşacaqsınız!
  2. Temperatur və rütubət sensörünü zibil qutusunun içərisinə qoyun. Bantla bərkidin.
  3. Qapağın kənarını və zibil qutusunun ucunu alüminium folqa ilə örtün. Qapaq bağlandıqda yaxşı təmasda olduğundan əmin olun. Bu sistemə zibil qutusunun açıldığını və ya bağlandığını bildirir. Sonra qapaq status tellərinin hər birini alüminium folqa içərisinə yapışdırın və bantla bərkidin.

Addım 3: MQTT, Node-RED və IFTTT qurun

MQTT, Node-RED və IFTTT qurun
MQTT, Node-RED və IFTTT qurun
MQTT, Node-RED və IFTTT qurun
MQTT, Node-RED və IFTTT qurun
MQTT, Node-RED və IFTTT qurun
MQTT, Node-RED və IFTTT qurun

Layihə məntiqinin çoxu əslində buludda həyata keçirilir. NodeMCU, məlumatları MQTT serverinə göndərir və Node-RED onu istehlak edir və məntiqini tətbiq edir (daha çox arxitektura haqqında). Nəhayət, push bildirişlərini (xəbərdarlıqları) smartfonumuza ötürmək üçün IFTTT istifadə etdik.

CloudMQTT və FRED bulud xidmətlərini sırasıyla MQTT və Node-RED serverlərimiz kimi istifadə edəcəyik və push bildirişləri üçün IFTTT-dən istifadə edəcəyik.

  1. Pulsuz planla CloudMQTT -ə üzv olun. Etimadnamənizi MQTT serverinə qeyd edin (istifadəçi adı və şifrə).
  2. IFTTT -ə qeydiyyatdan keçin. "Webhooks IFTTT tətbiq bildirişi" nin yeni bir tətbiqini yaradın. WebHookds hadisə adı olaraq "Cib Telefonu Bildirişi" ni istifadə edin. Yüngül detallar üçün yuxarıdakı şəklə baxın. İstehsalçınızın API açarına diqqət yetirin.
  3. IFTTT tətbiqini telefonunuza yükləyin və etimadnamənizlə daxil olun. Bu, push bildirişləri almağa imkan verəcək.
  4. Pulsuz planla FRED -ə üzv olun.
  5. FRED nümunəsini işə saldıqdan sonra ona əlavə edilmiş axınları daxil edin (Panodan 3 Bars düyməsini idxal edin). Hər bir faylın məzmununu yapışdırın (widgest.json, alerts.json, statistics.json) və idxal edin.
  6. CloudMQTT etimadnamənizi yeniləmək üçün MQTT qovşaqlarından birini düzəldin (biri kifayətdir).
  7. IFTTT istehsalçısı API açarınızı yeniləmək üçün IFTTT düyününü düzəldin.

Addım 4: NodeMCU və Zibil Qutusu Kalibrini Proqramlaşdırın

Hər şeyi bağladıqdan sonra, NodeMCU -nu ona bağlı olan hər şeyi istifadə etməsi və internetlə əlaqə qurması üçün uyğun proqramla (eskiz) proqramlaşdırmalıyıq.

  1. Arduino IDE -ni buradan yükləyin və quraşdırın.
  2. NodeMCU lövhə növünü aşağıdakı təlimatın əvvəlində izah edildiyi kimi qurun və qurun.
  3. Aşağıdakı kitabxanaları quraşdırın (Sketch Kitabxana Kitabxanalarını İdarə Edin…):

    1. Adafruit MQTT Kitabxanası (Adafruit tərəfindən)
    2. DHT sensor kitabxanası (Adafruit tərəfindən)
    3. SharpIR (Giuseppe Masino tərəfindən)
    4. EEPROMAnything - burada izahat.
  4. GarbageCanOnline.ino faylını açın və aşağıdakıları yeniləyin:

    1. WiFi etimadnaməniz (WLAN_SSID, WLAN_PASS)
    2. CloudMQTT etimadnaməniz (MQTT_USERNAME, MQTT_PASSWORD)
    3. Bu ikinci və ya daha çox zibil qutusudursa, zibil qabının kimliyini dəyişdirin (GARBAGECAN_ID)
  5. Yenilənmiş eskizi NodeMCU -ya yükləyin.
  6. Serial monitor pəncərəsini açın (Ctrl+M) və sensor məlumatlarını CloudMQTT -də dərc etməyi bacardığından əmin olun.
  7. İndi qapaq bağlandıqda və zibil qutusu boş olduqda, zibil qutusunun tutumunu kalibr etmək üçün kalibrləmə düyməsinə uzun basın.
  8. Zibil qutusu hər şeyə hazırdır. Kompüterdən ayıra və USB enerji təchizatı istifadə edərək təyin olunmuş yerə qoşa bilərsiniz.

Addım 5: Sistemdən istifadə

Sistemdən istifadə
Sistemdən istifadə
Sistemdən istifadə
Sistemdən istifadə
Sistemdən istifadə
Sistemdən istifadə

Bu yerə qədər çatmısınızsa, hər şey işə başlamalıdır. Sistemin fərqli istifadə aspektlərinə qısa bir nəzər salaq.

Yalnız bir zibil bağladığınızı güman edirik, ancaq daha sonra daha çox əlavə etmək asandır!

Əvvəlcə əsas tablosuna diqqət yetirin. Zibil qutusunun dolğunluğunu, temperaturu və rütubət səviyyəsini görərək ana ekranda olmalısınız. Soldakı açarlardan istifadə edərək telefon bildirişlərini və Dashboard xəbərdarlıqlarını idarə edə bilərsiniz.

Zibil qutusundakı zibil miqdarı dəyişdikdə, ölçü cihazının buna uyğun olaraq dəyişdiyini görəcəksiniz. Bu, temperatur və rütubət qrafikləri üçün də keçərlidir.

Dolğunluq səviyyəsi 85% -90% -ə çatdıqda (dəqiq eşik temperatur və rütubətdən asılıdır) və ya bir sensor xətası baş verdikdə, tercih etdiyiniz üsul (lar) vasitəsilə bir bildiriş alacaqsınız. Zibil qutusu başına hər saat bir dəfə xəbərdarlıq alacaqsınız.

Statistika görünüşündə, hazırda ən dolğun və ən isti olanı olan zibil qutusunu görə biləcəksiniz. Mükəmməl bir başlıq, deyə biləriksə …

Addım 6: Axını anlayın

Axını anlamaq
Axını anlamaq
Axını anlamaq
Axını anlamaq
Axını anlamaq
Axını anlamaq
Axını anlamaq
Axını anlamaq

Yəqin ki, indiyə qədər fərq etdiyiniz kimi, sistemin bir çox "hərəkət edən hissəsi" var. İşlərin bir -biri ilə necə əlaqəli olduğunu aydınlaşdırmağa çalışacağıq.

Birincisi, NodeMCU və onun sensorları ilə zibil qutumuz var. Bunlara çox sahib ola bilərik - sadəcə bir -birimizin "surətləri".

NodeMCU, zibil qutusuna yerləşdirilən fərqli sensorları ölçür və məlumatları MQTT serverinə (MQTT protokolu) yayımlayır. MQTT serverini, bir çox zibil qabının məlumat verə biləcəyi böyük bir məlumat mübadiləsi olaraq düşünə bilərsiniz.

MQTT serverinə bağlanan başqa bir varlıq Node-RED-dir. Node-RED, həssas məlumatları daşıyan zibil qablarından gələn fərqli mesajları dinləyir və öz məntiqini tətbiq edir. Məlumat axınlarından istifadə edərək işləyir. Hər dəfə bir mesaj alındıqda, növünə (MQTT mövzusu) əsaslanaraq, sistemin fərqli xüsusiyyətlərini aktivləşdirən (tablosunu yeniləmək, xəbərdarlıq göndərmək və s.) Xüsusi əməliyyat zəncirlərinə daxil olur. Node-RED sistemin "beyni" dir. Hər yerdə baş verən hər şeydən xəbərdardır və buna uyğun hərəkət edə bilər.

Node-RED daxilində 3 əsas məlumat axını qurduq:

  1. Vidjetlər - Node -RED -ə daxil olan həssas məlumatlar, ölçü cihazları və qrafiklər vasitəsilə tablosunda göstərilir.
  2. Xəbərdarlıqlar - Sensorial məlumatlar bir siqnalın tetiklenip tetiklenmeyeceğini (tablosuna və ya smartfon tətbiqinə) qərar vermək üçün işlənir. İstifadəçiyə zibil qutusunun dolu olduğunu bildirmək üçün temperatur və rütubət ilə dolğunluq səviyyəsi nəzərə alınır. Həmçinin, sensor xətalar eyni axınla bildirilir.
  3. Statistika - Həssas məlumatlar ən dolğun və ən isti zibil qablarını göstərmək üçün toplanır.

Node-RED-in push bildiriş göndərməsi üçün IFTTT (HTTP protokolu ilə) adlı bir xidmətə qoşulur. Müvafiq bildiriş mətni ilə müəyyən bir IFTTT hadisəsini aktivləşdirir və IFTTT bildirişi smartfonumuza göndərir (HTTP və XMPP protokolları).

(A) sistemin ümumi quruluşunu və (b) Node-RED içərisində 3 fərqli məlumat axını daha yaxşı başa düşmək üçün yuxarıdakı şəkillərə baxın

Addım 7: Çağırışlar, Məhdudiyyətlər və Gələcək Planları…

Çətinliklər

Bu layihədəki əsas çətinliklər əsasən MQTT və Node-RED xidmətlərindən istifadə etmək idi. İlk dəfə AdafruitIO -dan istifadə etdik, lakin onun xüsusi MQTT tətbiqi bizim üçün o qədər də yaxşı deyildi. Node-RED içərisində "feedləri" ilə işləmək rahat deyildi. Nəticədə, Mosquitto MQTT serverinə əsaslanan və daha standart olan CloudMQTT -ni seçdik. Sonra Node-RED idarə etməyə keçdik, bu olduqca çətin idi, çünki Node-RED bir heyvandır. Məsələn, bizim fikrimizcə IFTTT -dən daha əhatəli və peşəkardır. Sistemin tələb olunan xüsusiyyətlərini qurmaq üçün axına əsaslanan dizayn yanaşmasını necə düzəltməli və öyrənməliyik. Üstəlik, ən böyük üstünlüklərindən biri javascript kodunun dəstəklənməsidir, ancaq javascript proqramçısı olmadığımız üçün alışmaq bir müddət çəkdi. Bütün bunlara baxmayaraq, bu xüsusi alətlə işləməkdən çox zövq aldıq və çox maraqlı və faydalı olduğunu gördük.

Məhdudiyyətlər

Məhdudiyyətlərə gəldikdə, birincisi, yalnız pulsuz xidmətlərdən istifadə etməyimizdir və tam miqyasda getməyə icazə verməyəcəklər. CloudMQTT pulsuz planı 5-dən çox paralel əlaqəyə icazə verməyəcək, yəni yalnız 4 zibil qutusu və Node-RED ola bilərik. FRED Node-RED pulsuz planı yalnız 24 saat düz istifadəyə imkan verir, bundan sonra əl ilə daxil olub taymeri sıfırlamalısınız. Bununla birlikdə, bu xidmətləri ya yerli olaraq idarə etməklə, ya da məhdudiyyətləri qaldırmaq üçün bir az əlavə ödəməklə asanlıqla həll etmək olar. İkinci məhdudiyyət odur ki, dördüncü zibil qabını əlavə etdikdə, uyğun vidjetlərini əlavə etmək üçün Node-RED-də widget axını əl ilə düzəltməlidir.

Gələcək üçün Planlar

Sistemimizi daha da təkmilləşdirmək və genişləndirmək üçün bəzi fikirlərimiz vardı:

  1. Pulsuz bulud xidmətlərinə keçin. (tək iş günü).
  2. Zibil qabına zibil kompressoru əlavə etməklə boşaltma tezliyi azalır. (4 aylıq iş)
  3. Şəhərdəki zibilləri idarə edən şəhər yük maşınlarının səmərəliliyini artırmaq üçün şəhər və sənaye zibil qutuları ilə işləmək. Bu, yük maşını sürücülərinin zibil ilə işləyərkən marşrutlarını daha yaxşı planlaşdıra bilmələri üçün tablosuna və bildiriş sisteminə böyük təkan vermək deməkdir. (6 aylıq iş).
  4. Zibil qutusuna geri çevrilmə qabiliyyətinin əlavə edilməsi, zibilin içinə xüsusi bioloji məhlulların tökülməsi və hələ də zibil qutusunun içərisində olduğu müddətdə təkrar emalına kömək etmə qabiliyyəti. Bu, məsələn, bağlar üçün kompost istehsal etmək üçün yerli olaraq istifadə edilə bilər, ancaq sənaye qablarında da açıq şəkildə istifadə edilə bilər. (6 aylıq iş).

Tövsiyə: