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

גלאי סתימת ניקוז: 11 שלבים (עם תמונות)
גלאי סתימת ניקוז: 11 שלבים (עם תמונות)

וִידֵאוֹ: גלאי סתימת ניקוז: 11 שלבים (עם תמונות)

וִידֵאוֹ: גלאי סתימת ניקוז: 11 שלבים (עם תמונות)
וִידֵאוֹ: איך נראה ניקוז מזגנים בבית בבניה? איך נראית צנרת מיזוג אויר לבית בבניה? קרן אור רביבו 054-7274073 2024, יולי
Anonim
Image
Image

אל תתנו לניקוז סתום להאט אתכם! כשחזרנו מהחופשה, אני ואשתי הופתענו מהמים המכסים את רצפת הדירה שלנו, וגילינו שזה אפילו לא מים נקיים, זה מתנקז לכל מקום. לאחר פינוי הניקוז וניקיון הרצפה, הייתה לי שאלה זו: מדוע אין לנו מערכת אזעקה לכפכפי ניקוז פוטנציאליים? ניקוז סתום לא רק יכול לעצור את ביתכם, אלא גם יגזול עלויות נוספות מהכיסים שלכם, 206 דולר בממוצע הם עלות פינוי ניקוז סתום על פי HomeAdvisor, בנוסף לעלויות נסתרות של שטיחים פגומים, ריהוט עץ, וכו '. הרעיון שלנו הוא לאפשר לבעלי בתים וגם לארגונים כמו מחלקות תחזוקת עיר/תרכובות ונותני שירותים מיוחדים לקבל מערכת יעילה ואינטליגנטית שמתריעה בפני האחראי מוקדם ככל האפשר לפעול, מה שתורם להעשרת ערים חכמות עם חשיבות חשובה. תכונה.

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

קרדיטים עבור

  • מוחמד חסן
  • אחמד אימאם

פרויקט בפירוט 3 שלבים מיושמים בפרויקט זה: איסוף נתונים, למידה וחיזוי.

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

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

אז בואו לחקור את ההטמעה שלנו צעד אחר צעד:

שלב 1: הניסוי

הניסוי
הניסוי
הניסוי
הניסוי
הניסוי
הניסוי
הניסוי
הניסוי

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

שלב 2: חומרה

חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה

אני- ארדואינו

כדי לזהות את קול המים בתוך הצינור אנו זקוקים לחיישן קול. אולם ל- Raspberry Pi 3 אין GPIO אנלוגי. כדי לטפל בנושא זה אנו משתמשים בארדואינו מכיוון שלארדואינו יש GPIO אנלוגי. אז אנו מחברים את חיישן ה- Grove Sound למגן Grove Arduino ומחברים את Shield ל- Arduino UNO 3. לאחר מכן אנו מחברים את Arduino & Raspberry באמצעות כבל USB. כדי לקבל מידע נוסף על חיישן Sound Grove, אתה יכול לבדוק את גליון הנתונים שלו. תוכל למצוא בגיליון הנתונים קוד לדוגמה כיצד לקרוא ערכי חיישנים. קוד לדוגמא הוא כמעט שימוש ושינויים קטנים. בקוד למטה אנו מחברים את החיישן ל- A0 במגן. כדי לכתוב בסדרה, אנו משתמשים בפונקציה Serial.begin (). כדי לתקשר עם קצב שידור פטל שהוגדר ל- 115200 נתונים יישלחו ל- Raspberry אם הוא גדול מסף מסוים כדי להפחית את הרעש ניסויים רבים נעשו לבחירת ערכי הסף והעיכוב הרצויים. הסף נמצא כ- 400 וערך העיכוב הוא 10 אלפיות השנייה. סף נבחר לסנן רעש רגיל ולהבטיח שרק נתונים משמעותיים יישלחו לענן. העיכוב נבחר בחוץ כדי להבטיח שהחיישן יזהה שינויים בקול הזרימה בתוך הצינור באופן מיידי.

II- Raspberry Pi 3 כדי להוריד דברים של אנדרואיד ב- Raspberry, אתה יכול להוריד את הגרסה העדכנית ביותר מסוף הדברים של Android. בפרויקט זה אנו משתמשים בגרסה: OIR1.170720.017. בצע את השלבים באתר פטל להתקנת מערכת הפעלה על פטל, עבור חלונות תוכל להשתמש בשלבים אלה לאחר ההתקנה תוכל לחבר את הפטל למחשב שלך באמצעות USB. לאחר מכן, במסוף המחשב שלך השתמש בפקודה הבאה כדי לקבל IP פטל

nmap -sn 192.168.1.*

לאחר קבלת ה- IP, התחבר לפטל שלך באמצעות הפקודה הבאה

adb connect

כדי לחבר את הפטל שלך ל- Wifi (הוסף את ה- SSID והסיסמה שלך)

adb am startservice

-n com.google.wifisetup/. WifiSetupService

-WifiSetupService. Connect

-e ssid *****

-ביטוי סיסמה ****

שלב 3: Google Cloud - רישום

Google Cloud - רישום
Google Cloud - רישום
Google Cloud - רישום
Google Cloud - רישום
Google Cloud - רישום
Google Cloud - רישום
Google Cloud - רישום
Google Cloud - רישום

Google מציעה נדבך חינם לכל המשתמשים למשך שנה אחת עם תקרה של 300 $, תודה לגוגל:). עקוב אחר מסכים ליצירת פרויקט חדש ב- Google Cloud

שלב 4: Google Cloud - פאב/משנה

Google Cloud - פאב/משנה
Google Cloud - פאב/משנה
Google Cloud - פאב/משנה
Google Cloud - פאב/משנה
Google Cloud - פאב/משנה
Google Cloud - פאב/משנה
Google Cloud - פאב/משנה
Google Cloud - פאב/משנה

Google Cloud Pub/Sub הוא שירות העברת הודעות בזמן אמת המנוהל באופן מלא המאפשר לך לשלוח ולקבל הודעות בין יישומים עצמאיים.

שלב 5: Google Cloud - IOT Core

Google Cloud - Core IOT
Google Cloud - Core IOT
Google Cloud - Core IOT
Google Cloud - Core IOT
Google Cloud - Core IOT
Google Cloud - Core IOT

II- IOT Core שירות מנוהל במלואו לחיבור, ניהול ובליעה בקלות ובבטחה של נתונים ממכשירים המפוזרים ברחבי העולם. IOT Core עדיין בטא, כדי שיהיה לך גישה אליו עליך להגיש בקשה עם הצדקה ל- Google. הגשנו את הבקשה, ההצדקה שלנו הייתה התחרות הזו. Google אישרה, שוב תודה לגוגל:). פטל ישלח נתוני חיישנים ל- IOT Core שיעבירו קריאות לנושא PubSub שנוצר בשלב הקודם

שלב 6: Google Cloud - פונקציות ענן

Google Cloud - פונקציות ענן
Google Cloud - פונקציות ענן
Google Cloud - פונקציות ענן
Google Cloud - פונקציות ענן

Cloud Functions היא סביבה נטולת שרתים לבנייה וחיבור של שירותי ענן. טריגר עבור פונקציה זו הוא נושא PubSup שיצר בשלב 1.;; פונקציה זו תופעל כאשר ערך חדש ייכתב ב- PubSup ויכתוב אותו ב- Cloud DataStore עם סוג "SoundValue"

שלב 7: Google Cloud - Cloud Data Store

Google Cloud Datastore הוא מסד נתונים של מסמכי NoSQL שנבנה עבור קנה מידה אוטומטי, ביצועים גבוהים וקלות פיתוח אפליקציות. לממשק Cloud Datastore יש הרבה מאותן התכונות של מסדי נתונים מסורתיים, אך כמסד נתונים של NoSQL הוא שונה מהן באופן שבו הוא מתאר מערכות יחסים בין אובייקטים של נתונים. אין צורך בהתקנה כלשהי, מכיוון שברגע שפונקציות הענן יכתבו ערכי חיישנים ל- DataStore, יתווספו נתונים ל- DataStore

שלב 8: Google Cloud - BigQuery

Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery

אנו אוספים דגימה 10 דקות מצינור רגיל ו -10 דקות מצינור חסום בהפרש של שעה בדיוק בין 2 האיטרציות. לאחר הורדת DataStore וערוך קצת מניפולציות להוספת סיווג לכל שורה. עכשיו יש לנו 2 קבצי csv אחד לכל קטגוריה. כשיטה מומלצת, העלה קודם כל קובצי CSV של נתונים לאחסון ענן. במסך למטה אנו יוצרים דלי חדש ומעלים את 2 קבצי ה- CSV מכיוון שדלי זה ישמש לניתוח בלבד, אין צורך לבחור דלי רב אזורי ואז יוצרים מערך נתונים חדש וטבלה חדשה ב- BigQuery ומעלים את קובץ ה- CSV 2 מדלי ל- השולחן החדש

שלב 9: Google Cloud - Data Studio

Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio

לאחר מכן אנו משתמשים ב- Data Studio כדי לצייר כמה תובנות. Data Studio יקרא נתונים מטבלת BigQuery. מתוך גרפים אנו יכולים לראות את ההבדל בין 2 קטגוריות במספר הטלמטרים וסכום הערכים לדקה. בהתבסס על תובנות אלה אנו יכולים לעצב דגם פשוט, צינור נחשב לחסום אם בתוך 3 דקות רצופות, ספירת ערכי הטלמטריה הגבוהים מסף הרעש (400) היא יותר מ -350 טלמטריות. ובתוך 3 דקות רצופות, ספירת ערך הטלמטריה הגבוה מסף הניצוץ (720) היא יותר מעשרה טלמטריות.

שלב 10: שלב חיזוי

שלב חיזוי
שלב חיזוי

אנו מתייחסים לקריאה כאשר היא חורגת מערך מסוים (THRESHOLD_VALUE) שהוגדר ל -350 המסנן רעש ומוריד את קצבי זרימת המים בצינור, מתוך התייחסות כקריאה

ניתוח נתונים הראה שבמצב פתוח מספר הקריאות הוא פחות מ -100, אך במצב סתימה הערכים גבוהים בהרבה (הגיעו ל -900 לדקה), אך במקרים נדירים היו גם פחות מ -100. עם זאת, מקרים אלה אינם חוזרים על עצמם כתוצאה מכך, ובמשך שלוש דקות כתוצאה מכך, המספר הכולל של הקריאות תמיד עלה על 350. אם מצב פתוח באותן שלוש דקות יסתכם בפחות מ -300, נוכל לשים את הכלל בביטחון: כלל מס '1 במשך שלוש דקות בגירסה, אם סך כל הקריאות. > 350, ואז מתגלה סתימה. גילינו שהערך המרבי שהושג במצב פתוח אינו עולה על ערך מסוים (SPARK_VALUE) שנמצא כ- 770, ולכן הוספנו את הכלל הזה: כלל מס '2 אם ערך קריאה> 350, אז יתגלה סתימה לרוב.

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

שלב 11: קוד

כל הקוד לפונקציית Arduino, Raspberry & Cloud ניתן למצוא ב- Github.

למידע נוסף אתה יכול לבדוק את הקישור הזה

מוּמלָץ: