תוכן עניינים:

IDC2018 IOT זבל יכול להיות מקוון: 7 שלבים
IDC2018 IOT זבל יכול להיות מקוון: 7 שלבים

וִידֵאוֹ: IDC2018 IOT זבל יכול להיות מקוון: 7 שלבים

וִידֵאוֹ: IDC2018 IOT זבל יכול להיות מקוון: 7 שלבים
וִידֵאוֹ: The Shocking Truth about Non-Human UFOs: John Greenewald Reveals All 2024, יולי
Anonim
Image
Image
חלקים נדרשים
חלקים נדרשים

מבוא

כולם יודעים מה קורה כשאנחנו משאירים את האשפה בפח האשפה יותר מדי זמן מבלי להסיר אותה. ובכן, הדבר הברור ביותר הוא שאין מקום לעוד אשפה, אבל זה גם מתחיל להסריח וזה נהיה מאוד לא נעים.

בפרויקט זה, אנו שואפים לעזור לך לפקח על פחי האשפה שלך בסביבת העבודה / וכו ', כך שתמיד תוכל לדעת מתי הם מלאים, ותוכל לנקוט בפעולה מיידית על ידי הוצאת האשפה.

המערכת תתריע בפניך באמצעות הודעה טלפונית או התראה על לוח המחוונים כי עליך לרוקן את פח האשפה. המערכת לוקחת בחשבון את רמת המלאות של פח האשפה, אך גם את הטמפרטורה והלחות הנמדדות בתוכה. כולנו מכירים את הדחיפות של ריקון פחי האשפה בימים חמים ולחים …

תכונות עיקריות

  1. לוח בקרה:

    • קטע עיקרי:

      • רמת מלאות של כל פח אשפה.
      • טמפרטורה ולחות של כל פח אשפה.
    • מדור סטטיסטיקה:

      • פח האשפה המלא ביותר.
      • פח האשפה הכי חם.
  2. מערכת התראות והתראות:

    • האירועים הבאים נתמכים:

      • פח האשפה מלא.
      • אירעה שגיאת חיישן.
    • התראות מלאות מביאות בחשבון את רמת המלאות של פח האשפה, אך גם את הטמפרטורה והלחות של פח האשפה.
    • ניתן לשלוח התראות באמצעות התראות טלפון והתראות לוח מחוונים.
    • ניתן להפעיל ולכבות כל ערוץ התראה באמצעות לוח המחוונים.
  3. מדרגיות:

    • באמצעות כפתור הכיול ניתן להתאים את המערכת לפחי אשפה שונים בעלי יכולות שונות.
    • אפשר להוסיף פחי אשפה נוספים בקלות יחסית. אפשר להרכיב את אותה מערכת על פח זבל חדש, להגדיר את מזהה פח האשפה ולכייל אותה (לחיצת כפתור). להחזיק יותר מ -3 פחי אשפה ידרוש הרחבת לוח המחוונים (משימה קלה לביצוע).

מי אנחנו?

פרויקט זה נוצר (באהבה ובמסירות!) על ידי רום סינצ'ינאטוס ודניאל עלימה - תלמידי המרכז הבינתחומי הרצליה כפרויקט גמר לקורס ה- IoT שלנו. אנו מקווים שתמצא את העבודה שלנו שימושית ותיהנה מהשימוש בה!

שלב 1: חלקים נדרשים

על מנת לבנות את המערכת, יהיה עליך לרכוש את הרכיבים והחלקים הבאים:

  1. פח אשפה (רצוי עם מכסה): זה ישמש ל … טוב.. אתה יודע מה אנחנו הולכים לעשות עם זה, אה?;)
  2. לוח לחם: לחיבור כל הרכיבים השונים מבלי להשתמש בהלחמה.
  3. NodeMCU (ESP-8266): אחראי על קריאת החיישנים ושליחת המידע לענן.
  4. חיישן IR למרחקים - Sharp 0A41SK: חיישן זה ימדוד את כמות האשפה (רמת מלאות) בתוך הפחית.
  5. חיישן טמפרטורה ולחות - DHT11: חיישן זה ימדוד את הטמפרטורה והלחות בתוך פח האשפה.
  6. מתג רגעי: ישמש לכיול חיישן המרחק בהתאם לגודל פח האשפה.
  7. רדיד אלומיניום: ישמש ליצירת גלאי למצב המכסה - בין אם הוא פתוח או סגור.
  8. חוטי מגשר: קבל הרבה, ובאורכים וצבעים שונים. יחבר הכל ביחד.
  9. סרט דביק: נצטרך לחבר את הדברים למקומם.
  10. כבל מיקרו USB: לחיבור ה- NodeMCU למחשב שלך לתכנות, ובהמשך לאספקת חשמל.
  11. ספק כוח USB (מטען לסמארטפון): יספק כוח ל- NodeMCU כאשר הוא מותקן על פח האשפה.

שלב 2: חיווט והרכבה

חיווט והרכבה
חיווט והרכבה
חיווט והרכבה
חיווט והרכבה
חיווט והרכבה
חיווט והרכבה

תִיוּל

הנח את NodeMCU על לוח הלחם כך שיהיה נוח לחבר אותו מאוחר יותר לפח האשפה שלך, וחבר אליו את כבל ה- USB. לאחר מכן, עיין בתמונת תרשים החיווט למעלה כדי לחבר את הרכיבים השונים ל- NodeMCU. הקפד להשתמש בחוטים ארוכים עבור החיישנים וחוטי הסטטוס כך שיהיה נוח להתקין את המערכת ולהשתמש איתה בפח האשפה.

  • חיישן IR למרחקים - Sharp 0A41SK:

    • וין (אדום) וין
    • GND (שחור) GND
    • Vout (צהוב) A0
  • חיישן טמפרטורה ולחות - DHT11:

    • וין (אדום) 3V3
    • GND (שחור) GND
    • DATA (צהוב) D4
  • מתג רגעי:

    • Pin1 D3
    • Pin2 GND
  • חוטי סטטוס המכסה (פתוח / סגור):

    • חוט 1 D2
    • Wire2 GND

הַרכָּבָה

הרכבת המערכת על פח האשפה היא פשוטה למדי. חבר את לוח הלחם לפח האשפה, רצוי קרוב למכסה. השתמש בקלטת או בכבל כדי להדק אותו למקומו. לאחר מכן:

  1. מקם את חיישן מרחק ה- IR באמצע המכסה (מהצד הפנימי!). הקפד לאבטח אותו כראוי, אחרת תיתקל בקריאות שווא!
  2. מקם את חיישן הטמפרטורה והלחות איפשהו בתוך פח האשפה. מאובטח בעזרת סרט.
  3. מכסים את דף המכסה ואת קצה פח האשפה ברדיד אלומיניום. ודא שיש מגע טוב כאשר המכסה סגור. זה יאותת למערכת שפחי האשפה נפתחים או סגורים. לאחר מכן הדביקו כל אחד מחוטי מצב המכסה באחד מנייר האלומיניום, ואבטחו בעזרת סרט.

שלב 3: הגדרת MQTT, Node-RED ו- IFTTT

הגדר MQTT, Node-RED ו- IFTTT
הגדר MQTT, Node-RED ו- IFTTT
הגדר MQTT, Node-RED ו- IFTTT
הגדר MQTT, Node-RED ו- IFTTT
הגדר MQTT, Node-RED ו- IFTTT
הגדר MQTT, Node-RED ו- IFTTT

רוב ההיגיון בפרויקט מיושם למעשה בענן. NodeMCU שולח את הנתונים לשרת MQTT, ו- Node-RED צורך אותם ומיישם עליו את ההיגיון שלו (עוד על הארכיטקטורה בהמשך). לבסוף, על מנת להעביר הודעות דחיפה (התראות) לסמארטפון שלנו, השתמשנו ב- IFTTT.

נשתמש בשירותי הענן CloudMQTT ו- FRED כשרתי MQTT ו- Node-RED בהתאמה, ונשתמש ב- IFTTT להודעות דחיפה.

  1. הירשם ל- CloudMQTT עם התוכנית החינמית. שים לב לאישורים שלך לשרת MQTT (שם משתמש וסיסמה).
  2. הרשמה ל- IFTTT. צור יישומון חדש של "הודעת אפליקציית IFTTT Webhooks". השתמש "הודעת טלפון נייד" כשם האירוע WebHookds. עיין בתמונה למעלה לקבלת הפרטים הזעירים. שים לב למפתח ה- API של יצרניתך.
  3. הורד את אפליקציית IFTTT לטלפון שלך והיכנס באמצעות אישוריך. זה יאפשר לך לקבל הודעות דחיפה.
  4. הרשמה ל- FRED עם התוכנית החינמית.
  5. לאחר הפעלת מופע FRED, ייבא לתוכו את הזרימות המצורפות (לחצן 3 סורגים ייבוא מלוח). פשוט הדבק את התוכן של כל קובץ (widgest.json, alerts.json, statistics.json) וייבא אותו.
  6. ערוך את אחד מצמתי MQTT (מספיק אחד) כדי לעדכן את אישורי CloudMQTT שלך.
  7. ערוך את צומת IFTTT כדי לעדכן את מפתח ה- API של יוצר IFTTT.

שלב 4: תכנת את כיול קיבולת NodeMCU ופחי האשפה

לאחר שהכל מחובר, עלינו לתכנת את NodeMCU עם התוכנה המתאימה (סקיצה) כך שהוא אכן ינצל את כל החומרים המחוברים אליו ויתקשר עם האינטרנט.

  1. הורד והתקן את Arduino IDE מכאן.
  2. התקן והגדר את סוג הלוח NodeMCU כפי שהוסבר בתחילת ההוראות הבאות.
  3. התקן את הספריות הבאות (Sketch Include Library Manage Libraries …):

    1. ספריית MQTT Adafruit (מאת Adafruit)
    2. ספריית חיישני DHT (מאת Adafruit)
    3. SharpIR (מאת ג'וזפה מאסינו)
    4. EEPROMAnything - הסבר כאן.
  4. פתח את הקובץ GarbageCanOnline.ino ועדכן את הדברים הבאים:

    1. אישורי ה- WiFi שלך (WLAN_SSID, WLAN_PASS)
    2. אישורי CloudMQTT שלך (MQTT_USERNAME, MQTT_PASSWORD)
    3. אם מדובר בפח אשפה שני או יותר, שנה את מזהה פח האשפה (GARBAGECAN_ID)
  5. העלה את הסקיצה המעודכנת ל- NodeMCU שלך.
  6. פתח את חלון הצג הטורי (Ctrl+M) וודא שהוא מצליח לפרסם את נתוני החיישנים ל- CloudMQTT.
  7. כעת, כאשר המכסה סגור ופח האשפה ריק, לחץ לחיצה ארוכה על כפתור הכיול כדי לכייל את קיבולת פחי האשפה.
  8. פח האשפה מוכן. תוכל לנתק אותו מהמחשב ולחבר אותו במיקום המיועד שלו באמצעות ספק הכוח USB.

שלב 5: שימוש במערכת

שימוש במערכת
שימוש במערכת
שימוש במערכת
שימוש במערכת
שימוש במערכת
שימוש במערכת

אם הגעת עד לכאן, הכל צריך לפעול. תן לנו סקירה מהירה של היבטי השימוש השונים של המערכת.

אנו מניחים שיש לך רק פח זבל אחד מחובר, אך קל להוסיף עוד מאוחר יותר!

ראשית, שימו לב ללוח המחוונים הראשי. אתה צריך להיות במסך הבית ולראות את מלוא פח האשפה, הטמפרטורה והלחות. תוכל לשלוט בהודעות טלפון והתראות לוח מחוונים באמצעות המתגים בצד שמאל.

כאשר כמות האשפה בתוך פח האשפה משתנה, תראה את המד משתנה בהתאם. כך גם בגרפי הטמפרטורה והלחות.

כאשר רמת המלאות מגיעה ל -85% -90% (הסף המדויק תלוי בטמפרטורה ולחות), או אם אירעה שגיאת חיישן, תקבל הודעה באמצעות השיטות המועדפות עליך. תקבל הודעה אחת לשעה לכל פח אשפה.

בתצוגת הסטטיסטיקה תוכל לראות את פח האשפה המלא ביותר כיום ואת החם ביותר. כותרת לא מחמיאה, אם נאמר …

שלב 6: הבנת הזרימה

הבנת הזרימה
הבנת הזרימה
הבנת הזרימה
הבנת הזרימה
הבנת הזרימה
הבנת הזרימה
הבנת הזרימה
הבנת הזרימה

כפי שוודאי שמתם לב עד כה, למערכת יש הרבה "חלקים נעים". ננסה להבהיר כיצד הדברים קשורים זה לזה.

ראשית, יש לנו פח האשפה שלנו עם ה- NodeMCU והחיישנים שלו. אנחנו יכולים לקבל הרבה כאלה - רק "עותקים" אחד של השני.

ה- NodeMCU מודד את החיישנים השונים המונחים בפח האשפה, ומפרסם את הנתונים לשרת MQTT (פרוטוקול MQTT). אתה יכול לחשוב על שרת MQTT כעל חילופי מידע גדולים, שפחי אשפה רבים יכולים לדווח אליהם על המידע שלהם.

ישות נוספת המתחברת לשרת MQTT היא Node-RED. Node-RED מקשיב למסרים השונים שמגיעים מפחי האשפה הנושאים את הנתונים החיישניים, ומיישם את ההיגיון שלו עליהם. הוא פועל על ידי שימוש ב"זרימות "מידע. בכל פעם שמתקבלת הודעה, בהתאם לסוג שלה (נושא MQTT), היא נכנסת לשרשראות פעולות ספציפיות שבסופו של דבר מפעילות את התכונות השונות של המערכת (עדכון לוח המחוונים, שליחת התראות וכו ') יהיה נכון מאוד לומר כי Node-RED הוא "המוח" של המערכת. היא מודעת לכל מה שקורה בכל מקום, ויכולה לפעול בהתאם.

בתוך Node-RED בנינו 3 זרימות מידע עיקריות:

  1. ווידג'טים - מידע חושי המוזן ל- Node -RED מוצג לאחר מכן בלוח המחוונים באמצעות מדידים וגרפים.
  2. התראות - מידע חושי מעובד כדי להסיק אם יש להפעיל התראה (בלוח המחוונים או באפליקציית הסמארטפון). רמת המלאות, עם הטמפרטורה והלחות נלקחות בחשבון כדי להחליט ליידע את המשתמש שפח האשפה מלא. כמו כן, טעויות חושיות מדווחות על ידי אותה זרימה.
  3. סטטיסטיקה - מידע חושי נצבר כדי להציג את פחי האשפה המלאים והחמים ביותר.

על מנת ש- Node-RED ישלח הודעת דחיפה, הוא מתחבר לשירות שנקרא IFTTT (באמצעות פרוטוקול HTTP). הוא מפעיל אירוע IFTTT מסוים עם טקסט ההתראה הרלוונטי, ו- IFTTT שולח את ההודעה לסמארטפון שלנו (פרוטוקולי HTTP & XMPP).

עיין בתמונות שלמעלה כדי להבין טוב יותר (א) את המבנה הכללי של המערכת, ו (ב) את 3 זרימות המידע השונות בתוך Node-RED

שלב 7: אתגרים, מגבלות ותוכניות לעתיד …

אתגרים

האתגרים העיקריים בפרויקט זה היו בעיקר הטיפול בשירותי MQTT ו- Node-RED. השתמשנו לראשונה ב- AdafruitIO, אך יישום ה- MQTT המותאם אישית שלו לא ממש טוב עבורנו. לא היה נוח לעבוד עם ה"זנות "שלו בתוך Node-RED. לכן בסופו של דבר בחרנו ב- CloudMQTT, המבוסס על שרת MQTT Mosquitto, והוא הרבה יותר סטנדרטי. אחר כך עברנו לטפל ב- Node-RED, וזה היה מאתגר למדי, בעיקר בגלל Node-RED הוא חיה. לדוגמה, הוא מקיף ומקצועי בהרבה מ- IFTTT מבחינתנו. היינו צריכים להתאים וללמוד כיצד להשתמש בגישה העיצובית המבוססת על זרימה שלה כדי לבנות את התכונות הנדרשות של המערכת. יתר על כן, אחד היתרונות הגדולים ביותר שלו הוא התמיכה בקוד javascript, אך לקח זמן להתרגל אליו מכיוון שאיננו מתכנתים ב- javascript. למרות כל זה, נהנינו מאוד לעבוד עם הכלי הספציפי הזה, ומצאנו שהוא מאוד מעניין ושימושי.

מגבלות

באשר למגבלות, הראשונה תהיה העובדה שהשתמשנו בשירותים חינמיים בלבד, והם לא יאפשרו לנוע בקנה מידה מלא. התוכנית החינמית של CloudMQTT לא תאפשר קיום יותר מ -5 חיבורים מקבילים, כלומר יכול להיות לנו רק 4 פחי אשפה ו- Node-RED. התוכנית החינמית של FRED Node-RED מאפשרת שימוש של 24 שעות בלבד, ולאחר מכן עליך להיכנס ידנית ולאפס את הטיימר. עם זאת, בעיות אלה ניתנות לפתרון בקלות על ידי הפעלה של שירותים אלה באופן מקומי, או תשלום קטן נוסף כדי להסיר את המגבלות. המגבלה השנייה היא העובדה שכאשר מוסיפים את פח האשפה הרביעי ואילך, עליו לערוך ידנית את זרימת הווידג'טים ב- Node-RED כדי להוסיף את הווידג'טים המתאימים לה.

תוכניות לעתיד

היו לנו כמה רעיונות לשפר עוד את המערכת ולהרחיב אותה:

  1. עבור לשירותי ענן שאינם בחינם. (יום עבודה בודד).
  2. הוספת מדחס אשפה לפח האשפה, ובכך להפחית את תדירות הריקון. (4 חודשי עבודה)
  3. עבודה עם פחי אשפה עירוניים ותעשייתיים לשיפור יעילות המשאיות העירוניות המטפלות בפח האשפה בעיר. המשמעות היא לשפר מאוד את לוח המחוונים ואת מערכת ההודעות כך שנהגי משאיות יוכלו לתכנן את מסלולם הרבה יותר טוב בעת הטיפול בפח האשפה. (6 חודשי עבודה).
  4. הוספת יכולות מיחזור לפח האשפה, כמו יכולת לשפוך פתרונות ביולוגיים מיוחדים לאשפה ולעזור למחזר אותה כשהיא עדיין בתוך פח האשפה. ניתן להשתמש בזה באופן מקומי למשל לייצור קומפוסט לגינות, אך ניתן להשתמש בבירור גם בפחיות תעשייתיות. (6 חודשי עבודה).

מוּמלָץ: