You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/he/4-manufacturing/lessons/4-trigger-fruit-detector/README.md

22 KiB

הפעלת זיהוי איכות פירות באמצעות חיישן

סקיצה של השיעור

סקיצה מאת ניטיה נאראסימן. לחצו על התמונה לגרסה גדולה יותר.

שאלון לפני השיעור

שאלון לפני השיעור

הקדמה

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

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

בשיעור זה נעסוק ב:

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

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

תכנון אפליקציות IoT מורכבות

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

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

  • מכשירים שונים אוספים נתונים שונים.
  • שירותי IoT מספקים תובנות על הנתונים, לעיתים משלבים אותם עם נתונים ממקורות נוספים.
  • תובנות אלו מניעות פעולות, כולל שליטה במפעילים במכשירים או ויזואליזציה של נתונים.

ארכיטקטורת IoT לדוגמה

ארכיטקטורת IoT לדוגמה

התרשים לעיל מציג ארכיטקטורת IoT לדוגמה.

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

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

ארכיטקטורת IoT לדוגמה

התרשים לעיל מציג כמה מהרכיבים והשירותים שנלמדו בשיעורים אלו וכיצד הם מתחברים יחד בארכיטקטורת IoT לדוגמה.

  • מכשירים - כתבתם קוד למכשירים כדי לאסוף נתונים מחיישנים ולנתח תמונות באמצעות Custom Vision, הן בענן והן במכשיר קצה. נתונים אלו נשלחו ל-IoT Hub.
  • תובנות - השתמשתם ב-Azure Functions כדי להגיב להודעות שנשלחו ל-IoT Hub, ואחסנתם נתונים לניתוח מאוחר יותר ב-Azure Storage.
  • פעולות - שלטתם במפעילים על בסיס החלטות שהתקבלו בענן ופקודות שנשלחו למכשירים, וויזואליזציה של נתונים באמצעות Azure Maps.

חשבו על מכשירי IoT אחרים בהם השתמשתם, כמו מכשירי בית חכם. מהם המכשירים, התובנות והפעולות המעורבים במכשיר ובתוכנה שלו?

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

נתונים ואבטחה

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

  • אילו נתונים המכשיר שלכם שולח ומקבל?
  • כיצד יש לאבטח ולהגן על הנתונים הללו?
  • כיצד יש לשלוט בגישה למכשיר ולשירות הענן?

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

עיצוב מערכת בקרת איכות פירות

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

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

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

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

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

יצירת אב-טיפוס לאפליקציה שלכם

ארכיטקטורת IoT לדוגמה לבדיקת איכות פירות

התרשים לעיל מציג ארכיטקטורה לדוגמה לאפליקציה זו.

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

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

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

הפעלת בדיקת איכות פירות באמצעות חיישן

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

חיישני קרבה שולחים קרני לייזר לאובייקטים כמו בננות ומודדים את הזמן עד שהקרן חוזרת

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

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

משימה - הפעלת זיהוי איכות פירות באמצעות חיישן מרחק

עבדו דרך המדריך הרלוונטי לשימוש בחיישן קרבה כדי לזהות אובייקט באמצעות מכשיר ה-IoT שלכם:

נתונים המשמשים לזיהוי איכות פירות

לגלאי הפירות באב-טיפוס יש רכיבים מרובים שמתקשרים זה עם זה.

הרכיבים מתקשרים זה עם זה

  • חיישן קרבה שמודד את המרחק לפירות ושולח זאת ל-IoT Hub
  • הפקודה לשלוט במצלמה שמגיעה מ-IoT Hub למכשיר המצלמה
  • תוצאות סיווג התמונות שנשלחות ל-IoT Hub
  • הפקודה לשלוט ב-LED כדי להתריע על פירות שאינם בשלים שנשלחת מ-IoT Hub למכשיר עם ה-LED

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

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

לדוגמה - אם אתם שולחים מידע על טמפרטורה, כיצד תגדירו את ה-JSON? תוכלו להשתמש בשדה בשם temperature, או להשתמש בקיצור הנפוץ temp.

{
    "temperature": 20.7
}

בהשוואה ל:

{
    "temp": 20.7
}

עליכם גם לשקול יחידות - האם הטמפרטורה ב-°C או ב-°F? אם אתם מודדים טמפרטורה באמצעות מכשיר צרכני והם משנים את יחידות התצוגה, עליכם לוודא שהיחידות שנשלחות לענן נשארות עקביות.

בצעו מחקר: כיצד בעיות יחידות גרמו להתרסקות של $125 מיליון של Mars Climate Orbiter?

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

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

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

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

שימוש במכשירי פיתוח לסימולציה של מכשירי IoT מרובים

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

סימולציה של מכשירי IoT מרובים על Raspberry Pi או חומרה וירטואלית של IoT

בעת שימוש במחשב חד-לוח כמו Raspberry Pi, ניתן להפעיל יישומים מרובים בו-זמנית. משמעות הדבר היא שניתן לסמלץ מכשירי IoT מרובים על ידי יצירת יישומים מרובים, אחד לכל 'מכשיר IoT'. לדוגמה, תוכלו ליישם כל מכשיר כקובץ Python נפרד ולהפעיל אותם במפגשי טרמינל שונים. 💁 שים לב שחלק מהחומרה לא תפעל כאשר היא ניגשת על ידי מספר יישומים הפועלים בו-זמנית.

סימולציה של מספר מכשירים על מיקרו-בקר

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

כמה הצעות להקל על התהליך הזה הן:

  • ליצור אחת או יותר מחלקות עבור כל מכשיר IoT - לדוגמה, מחלקות בשם DistanceSensor, ClassifierCamera, LEDController. לכל אחת מהן יכולים להיות שיטות setup ו-loop משלהן, אשר ייקראו על ידי הפונקציות הראשיות setup ו-loop.
  • לטפל בפקודות במקום אחד, ולהפנות אותן למחלקת המכשיר הרלוונטית לפי הצורך.
  • בפונקציית loop הראשית, תצטרכו להתחשב בתזמון עבור כל מכשיר שונה. לדוגמה, אם יש לכם מחלקת מכשיר אחת שצריכה לעבד כל 10 שניות, ואחרת שצריכה לעבד כל שנייה, אז בפונקציית loop הראשית השתמשו בהשהיה של שנייה אחת. כל קריאה ל-loop מפעילה את הקוד הרלוונטי עבור המכשיר שצריך לעבד כל שנייה, ומשתמשת במונה כדי לספור כל קריאה ל-loop, ולעבד את המכשיר השני כשהמונה מגיע ל-10 (ולאחר מכן לאפס את המונה).

מעבר לייצור

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

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

בצעו מחקר: באילו דרכים נוספות מכשירי ייצור שונים מערכות פיתוח?


🚀 אתגר

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

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

לדוגמה - מכשיר מעקב רכב שמשלב GPS עם חיישנים לניטור דברים כמו טמפרטורות במשאית קירור, זמני הפעלה וכיבוי של המנוע, וזהות הנהג. מהם המכשירים המעורבים, השירותים המעורבים, הנתונים המועברים ושיקולי האבטחה והפרטיות?

שאלון לאחר השיעור

שאלון לאחר השיעור

סקירה ולימוד עצמי

משימה

בנו גלאי איכות פירות


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