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

מערכת מזון, מים וצגים מחוברים ל- IDC2018IOT: 7 שלבים
מערכת מזון, מים וצגים מחוברים ל- IDC2018IOT: 7 שלבים

וִידֵאוֹ: מערכת מזון, מים וצגים מחוברים ל- IDC2018IOT: 7 שלבים

וִידֵאוֹ: מערכת מזון, מים וצגים מחוברים ל- IDC2018IOT: 7 שלבים
וִידֵאוֹ: MVI 4001 2024, יולי
Anonim
Image
Image
IDC2018IOT מחובר מזון, מים ומעקב אחר בעלי חיים
IDC2018IOT מחובר מזון, מים ומעקב אחר בעלי חיים

מבוא

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

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

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

עלינו

תומר מימון, גלעד רם ואלון שרונג. שלושה סטודנטים נלהבים למדעי המחשב של המרכז הבינתחומי הרצליה. זהו פרויקט Instructables הראשון שלנו במסגרת סדנת IoT - אנו מקווים שתמצא מעניין וכיף לבנות אותו!

שלב 1: הבנת האדריכלות:

הבנת האדריכלות
הבנת האדריכלות
הבנת האדריכלות
הבנת האדריכלות

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

  1. ערוצי נתונים נכנסים:

    • חיישן מים - דגימת מפלסי המים בתוך קערת המחמד, הנתונים מועברים מיחידת ה- Node -MCU לשרת Blynk ולבסוף מוצגים באמצעות לוח המחוונים של חיות מחמד.
    • חיישן סונאר - דגימת תכולת מיכל המזון, הנתונים מועברים מיחידת ה- Arduino (עם סיומת מגן Ethernet) לשרת Blynk ולבסוף מוצגים באמצעות לוח המחוונים של Pet.
    • מודול מצלמת Pi - מדגים כל הזמן מסגרות של אזור חיות המחמד, ה- Pi מארח שרת משלו המספק את ההזנה החיה ללוח המחוונים של חיות המחמד.
  2. זרימת פקודה:

    • לחצן הזנה (לוח מחוונים) - עדכון ערך סיכה וירטואלית באמצעות Blynk, הפונקציה הרלוונטית מופעלת על לוח ה- Arduino, ואז סרוו זז על מנת לאפשר למזון לעבור דרך המכסה.
    • תן מים (לוח מחוונים) - מעדכן באופן פעיל ערך סיכה וירטואלי באמצעות Blynk, הפונקציה הרלוונטית מופעלת על לוח Node -MCU, הממסר מופעל למצב מופעל, משאבת מים תתחיל להזרים מים לקערת חיית המחמד.
    • הזנת חיות לחיות מחמד (לוח מחוונים) - מוטבעת בתוך לוח המחוונים, ומציגה נתונים חיים באמצעות שרת הבקבוקים הפועל במכשיר ה- Pi.

שלב 2: רשימת חלקים

רשימת חלקים
רשימת חלקים
רשימת חלקים
רשימת חלקים
רשימת חלקים
רשימת חלקים

כדי להתחיל לעבוד על מערכת זו, תזדקק לחלקים הבאים (או דומים):

  1. גוּפָנִי:

    • מיכל מזון: השתמשנו בצינור תעשייתי בגודל 45 ס"מ, שקנינו בחנות כלבו ביתית. חשוב שיהיו 2 יציאות. אחד למדידת התוכן, ויציאה שנייה למנגנון הפתיחה/סגירה.
    • סרט דביק: כדי לשמור על דברים ביחד;)
    • חוטי מגשר: ככל שיותר משמח, תמיד טוב לקבל תוספת אם משהו משתבש.
    • כבל Ethernet: לחיבור ה- Arduino שלנו (עם מגן Ethernet) לאינטרנט.
    • פחית גינון: משמש כמכל למים ולמשאבת המים.
    • צינור מים קצר: מחובר למשאבה ושופך מים לקערת חיית המחמד.
  2. חיישנים:

    • חיישן מפלס המים של WINGONEER: מדוד את מפלסי המים בתוך קערת חיית המחמד.
    • חיישן סונאר - מודדים את מרחק רמת המזון מהמכסה העליון בתוך המיכל.
    • ממסר TONGLING: מאפשר לנו להפעיל/לכבות את משאבת המים הזורמת מים.
    • מודול מצלמת Pi: מחובר למכשיר Pi פטל, ומזרים תמונות של אזור חיית המחמד.
    • סרוו כללי: נועל ופותח את מיכל המזון.
  3. מכשירים / לוחות אלקטרוניים:

    • Arduino Uno: שולט ביישום יחידת מיכל המזון.
    • Arduino Shield Ethernet: מספק חיבור לאינטרנט ללוח שלנו.
    • NodeMCU (ESP-8266): שולט ביחידת המים, הן למדידה והן למזיגת מים. ללוח זה יש אפשרות להתחבר באמצעות WiFi.
    • Raspberry Pi 3 - אירוח שרת המצלמות ומספק הזנה חיה ללוח המחוונים של חיות המחמד.
    • משאבת מים טבולה VicTsing 80 GPH: זורמת מים מפח הגינון לקערה, יחד עם צינור המים.

שלב 3: חיווט והצבת דברים ביחד

חיווט והצבת דברים ביחד
חיווט והצבת דברים ביחד
חיווט והצבת דברים ביחד
חיווט והצבת דברים ביחד
חיווט והצבת דברים ביחד
חיווט והצבת דברים ביחד

תִיוּל

לפני שנתחיל, מומלץ למקם את ה- Arduino / Node-MCU על לוח לחם כדי להקל על חיבור כל החוטים ולהנחתו בכל מקום פיזי. בנוסף, מומלץ להשתמש בחוטים ארוכים למניעת טעויות הנובעות מניתוק הכבלים. סיפקנו לך תרשים חיווט עבור Node-MCU (יחידת מים) וארדואינו (יחידת מזון).

  1. יחידת מזון (ארדואינו):

    • חיישן סונאר:

      • GND (שחור) = GND
      • VCC (אדום) = 5V
      • טריג (סגול) = 3
      • הד (כחול) = 4
    • סרוו:

      • GND (שחור) = GND
      • VCC (אדום) = 5V
      • אות (צהוב) = 9
  2. יחידת מים (צומת):

    • חיישן מפלס מים:

      • S (כחול) = A0
      • + (אדום) = 3v3
      • - (שחור) = GND
    • ממסר (מחובר לחשמל למשאבת המים):

      • IN (צהוב) = D1
      • VCC (אדום) = וין
      • GND (שחור) = GND
  3. יחידת מצלמה (Pi):

    • חיישן מצלמה:

      • התחבר ליציאת המצלמה היחידה של ה- Pi (כבל שטף)
      • אם אתה רוצה ללמוד עוד על Pi עם מודול מצלמה - קישור

הרכבת חלקים ביחד

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

  1. יחידת מזון (ארדואינו): המיכל די ישר קדימה, נתמקד בעיצוב שני המכסים.

    • מכסה עליון: חתכו 2 חורים במכסה כך שחיישן הסונאר יתאים (ראו תמונה מצורפת).
    • מכסה תחתון + מנגנון: התחל בלקיחת אחד מצרכי הפלסטיק (המסופק עם חיישן הסרוו) ובנה צורת "פטיש מלטש" באמצעות סרט דביק / מקלות עץ (השתמשנו בקלטת בלבד). לאחר מכן, צרף אותו לסרוו. עכשיו, אנחנו צריכים 2 חורים על המכסה עצמו. הראשון צריך לאפשר לסרוו להתאים s.t את המנגנון שבנינו ממוקם על "הצד הפנימי" של המכסה. חותכים חור נוסף על בסיס הצד של "ראש הפטיש" שיצרתם. בדרך זו, בכל פעם שהסרוו נפתח, זנב הפטיש יטאטא מזון לכיוון היציאה וימנע מחתיכות גדולות להיתקע ביחד.
  2. יחידת מים (Node-MCU): כל שעליך לעשות הוא לחבר את צינור המים למשאבת המים, כעת הנח אותו בתוך פח הגינון (הקפד לא למקם את החלק הלא נכון עם הממסר וחוטי החשמל בתוך המים).
  3. יחידת מצלמה: כל שעליך לעשות הוא למקם את מודול ה- Pi עם המצלמה במיקום שתבחר.

שלב 4: הגדרת Blynk

הגדר Blynk
הגדר Blynk
הגדר Blynk
הגדר Blynk

כל היכולות המרוחקות בפרויקט זה מבוססות על Blynk. שירות זה בעצם מספק לנו שרת אינטרנט בחינם ו- RESTful API לתקשורת עם התקני Arduino/Node-MCU שלנו דרך האינטרנט באמצעות פרוטוקול HTTP. Blynk מאפשר לנו להגדיר סיכות וירטואליות, שישמשו כתובת לביצוע פונקציות ספציפיות הקשורות במזיגת מים, האכלה ודגימת החיישנים השונים (עשינו את החלק הזה עבורך, כל שעליך לעשות הוא להשיג אסימון יישום משלך, אשר יוסבר בהמשך).

כיצד להשיג את אסימון האימות של Blynk שלי

  1. הורד את אפליקציית Blynk דרך AppStore / PlayStore למכשיר הנייד שלך.
  2. הירשם לשירות זה (הוא בחינם לשימוש).
  3. התחל פרויקט חדש, הקפד לבחור את המכשיר הנכון (במקרה שלנו ESP8266).
  4. לאחר היצירה יישלח מייל עם AUTHENTICATION TOKEN - שמור את האסימון לשלבים הבאים.

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

לבסוף, על מנת להמשיך לשלב הבא, עליך להוריד ולהתקין את ספריית Blynk - קישור (דלג לחלק 3)

שלב 5: הגדר מיכל מזון, משאבת מים ומצלמה חיה

הגדר מיכל מזון, משאבת מים ומצלמה חיה
הגדר מיכל מזון, משאבת מים ומצלמה חיה
הגדר מיכל מזון, משאבת מים ומצלמה חיה
הגדר מיכל מזון, משאבת מים ומצלמה חיה

בשלב זה סיימנו להרכיב את כל החלקים יחד וקיבלנו את blynkAuthAppToken שלנו (ראה שלב 3).

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

קודם כל, התחל בהורדת ה- Arduino IDE (אם עדיין לא עשית זאת) - קישור

מיכל מזון Arduino

  1. התקן את IDE ללוח Arduino: כלים -> לוח -> Arduino/Genuino Uno
  2. וודא שהתקנת את הספריות הבאות: סקיצה -> כלול ספרייה -> נהל ספריות

    ממסר (מאת רפאל)

  3. פתח קובץ סקיצה של PetFeeder.ino, הגדר את הפארמים הבאים (עיין בתמונה המצורפת לעזרה):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. הידור והעלה את הסקיצה למכשיר ה- Arduino שלך.

Node-MCU יחידת מים

  1. הגדר את IDE ללוח Node-MCU:

    עיין בחלקו הראשון של ההוראה להסבר מפורט

  2. וודא שהתקנת את הספריות הבאות: סקיצה -> כלול ספרייה -> נהל ספריות

    מנהל WiFi (מאת tzapu)

  3. פתח קובץ סקיצה של PetFeeder.ino, הגדר את הפארמים הבאים (עיין בתמונה המצורפת לעזרה):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // בעצם זה השם של רשת ה- WiFi שלך
    • pass = "YOUR_WIFI_PASSWORD"; // אם אין לך סיסמה, השתמש במחרוזת ריקה ""
  4. הידור והעלה את הסקיצה למכשיר ה- Node-MCU שלך.

מודול מצלמה חיה של Pi

  1. חבר מודול מצלמת pi
  2. הפעל את "sudo raspi-config" והגדר את האפשרות "מצלמה" הפעל.
  3. בדוק את המצלמה באמצעות הפקודה "raspistill" כדי לצלם תמונה

    r aspistill -o image.jpg

  4. הגדר את שרת מצלמת האינטרנט Flask:

    • התקן את כל הדרישות באמצעות pip install -r requirements.txt
    • השתמש בפייתון להפעלת camera_server.py
    • בדוק את זה ב- 127.0.0.1:5000/video_feed
  5. הגדר את שרת האינטרנט Flask להפעלה בעת אתחול:

    • הוסף את השורה הבאה ל /etc/rc.local (לפני קו היציאה):

      python /camera_server.py

שלב 6: כיצד להשתמש בלוח הבקרה

כיצד להשתמש בלוח הבקרה
כיצד להשתמש בלוח הבקרה

להכין

חלק זה פשוט למדי, כל שעליך לעשות הוא להכניס את קובץ "אסימון אפליקציית blynk" לקובץ "index.js" כדלקמן:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // השתמש באותו אסימון משלבים קודמים.

נוֹהָג

  1. פתח את לוח המחוונים על ידי לחיצה כפולה על הקובץ "index.html".
  2. לוח המחוונים ידגם את המערכת באופן אוטומטי כל 10 דקות.
  3. ניתן לנקוט באמצעי מיכל מזון ומזון באופן ידני.
  4. כפתורי "תן מים" ו"אכילה "משמשים כדי לספק לחיית המחמד שלך מזון ומים באופן פעיל.
  5. החלק התחתון של לוח המחוונים יציג את ההזנה החיה ממודול המצלמה אם פעלת לפי הוראות השלב הקודם בקפידה.

הערה: אם ברצונך להתאים אישית את מספר הפעמים שמיכל המזון נפתח בעת ההזנה, פתח את קובץ "index.js" ושנה את "הערך" בשורה הבאה מ- "3" לכל מספר שתבחר:

fetch (baseURL + '/update/V1? value = 3');

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

אתגרים

האתגרים העיקריים עבורנו בפרויקט זה, היו קשורים בעיצוב מנגנון הפתיחה/סגירה של מיכל המזון ויצירת קוד בו -זמני יציב לשליטה ומדידה של יחידת המזון. אני מאמין שניסינו לפחות 4 גרסאות שונות עד שהיינו מרוצים. החשש העיקרי היה מזון שחוסם את היציאה. על מנת למנוע זאת, בחרנו בעיצוב פטיש, כך שבכל פעם שאנו פותחים את המיכל, זנבו של "הפטיש" סוחף מזון לעבר היציאה. יתר על כן, שימוש בצינור דו צדדי הפך את חיינו לפשוטים בהרבה בעת בניית מיכל המזון. אובייקט כזה מושלם להנחת מנגנון היציאה בצד אחד, וחיישן מרחק בצד השני למדידת תוכנו.

גבולות

בשלב זה של הפרויקט, ישנן מספר מגבלות למערכת:

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

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

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

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

אנו מקווים שנהניתם לקרוא (ומקווה שבניתם!) את הפרויקט הזה:)

מוּמלָץ: