לסמלץ Azure IoT עם VSCode

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

Azure IoT הוא שירות ענן (Managed) המורכב מתפקידים ורכיבים שונים במטרה לנהל, לנטר ולאפשר חיבור של אינספור התקני IoT/IoE ממקום אחד עם כלים שונים.

בשירות של Azure IoT ישנם המון מושגים, בין היתר:

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

התקנים לדוגמה, התקן מבוסס MX Chip או התקן מבוסס Raspberry PI. התקן מסוימים מגיעים עם ערכה שלמה לחיבור מול Azure על מנת לפשט את החיבור הראשוני וכלי השליטה שיש בהתקן.

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

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

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

חיבור לשירות Azure IoT HUB הוא למעשה חיבור אל שירות backend שיאפשר ניהול וביצוע פעולות על כל אותם התקנים. שירות Backend יכול לבצע פעולות כדוגמת:

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

ישנם רכיבים רבים בשירות הענן Azure IoT המפאשרים לבצע אינספור פעולות מול תשתית IoT, בין היתר הרכיבים הבאים:

  • IoT Central
  • IoT solution accelerators
  • IoT Hub
  • IoT Hub Device Provisioning Service
  • IoT Edge
  • Azure Digital Twins
  • Time Series Insights
  • Azure Maps

לצד זה ישנם כלים רבים שאיתם ניתן לעבוד כמו VSCode,  כלי הניהול של IoT HuB ונוספים.

איך לסמלץ IoT עם VSCode

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

ישנם כלים בודדים שאיתם ניתן לבצע סימולציה ואחד מהם הוא כלי VSCode, שאיתו ניתן לבצע סימולציה של D2C מול Azure IoT Hub תוך דקות בודדות.

דרישות

בכדי לסמלץ Device simulator עם VSCode ישנם מספר דרישות:

  • שירות Azure עם Subscription בסיסי
  • כלי VSCode עם הרחבת  Azure IoT Toolkit

2020-01-04_09h41_52.png

הגדרה והפעלת Azure IoT

בכדי לעבוד עם הסימולטור ישנם מספר הגדרות ברמת ממשק VSCode מול Azure.

טיפ: כלל הפעולות אשר מתבצעות על הסימולטור נרשמות במלואן ברמת Resource Group.

מכאן אנו ממשיכים ליצירת IoT ע"י בחירה באפשרות של Create IoT Hub בכדי ליצור Hub חדש

2020-01-04_09h43_11.png

הערה: צריך לבצע התחברות עם חשבון בעל הרשאות לשירות Azure.

לאחר מכן נבחר Subscription

2020-01-04_09h46_30.png

לאחר מכן ניצור Resource Group עם שם ספציפי

2020-01-04_09h52_43

נבחר את המיקום של אותו RG

2020-01-04_09h52_57

נבחר Pricing Tier, ובמידה והאפשרות של F1:Free Tier זמינה אז כדאי לבחור בו

2020-01-04_09h53_24

לאחר מכן נגדיר שם ליצירת IoT Hub

2020-01-04_09h53_36

בסיום נמתין מספר דקות בודדות בכדי שהמשאבים יוגדרו בשירות Azure

2020-01-04_09h53_51

בסיום אנו צריכים להגיע למצב הבא של Resource Group מוכן עם אפשרות להגדיר Device, כמו בצילום המצורף מטה

2020-01-04_10h02_31.png

הגדרת מכשירים

הגדרה ורישום מכשירים נעשית מתוך ממשק VSCode, ומתוך Azure IoT HUB נבחר באפשרות של Create Device

2020-01-04_10h04_25

לאחר מכן נבחר שם להתקן הנדרש

2020-01-04_10h06_53

2020-01-04_10h07_18

ולאחר מספר דקות יוגדר Device ובסיום נקבל את הפלט הבא עם התקן מוגדר

2020-01-04_10h09_01

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

2020-01-04_10h10_152020-01-04_10h10_212020-01-04_10h10_322020-01-04_10h10_452020-01-04_10h13_33

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

2020-01-04_11h19_042020-01-04_11h19_232020-01-04_11h19_482020-01-04_11h20_00

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

לסיכום

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

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

You may also like...

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *