חדשות היום

מהחיישן לענן

פעם הראשונה בה נחשפתי למונח IoT היתה בפברואר 2014 עת ערכתי את ביקורי השנתי בתערוכת Embedded world. זה היה הדוכן או יותר נכון המרחב הענק של אינטל שבו התנוסס בהוד והדר המשפט Internet Of Things. תחילה התעלמתי מהמשפט המוזר והחדש הזה, אבל כשהתחלתי לראותו בדוכנים של מציגים אחרים התחלתי להתעניין. התובנה הראשונה שלי הייתה שזה כנראה מונח שיווקי ללא משמעות טכנולוגית, שזו בסך הכל יומרה ואין שום מוצר או טכנולוגיה מאחורי זה אלא רק הצהרה שאומרת שמהיום אנו מעודדים את כל מפתחי המוצרים בעולם הEmbedded להציע גם חיבוריות לאינטרנט. באותה עת היה נראה לי הגיוני שהיגיע הזמן שמוצרי הEmbedded יהיו מחוברים לאינטרנט וישתמשו בפוטנצייאל האדיר שמציעה תשתית האינטרנט. טרם עברו ארבע שנים מאז חזרתי מהתערוכה וכבר מונח הIoT- בלע לתוכו את המונח Embedded ולא ניתן למצוא כיום חברה טכנולוגית ללא המונח IoT שזור, מוטמע ומשובץ בכל סל המונחים והססמאות השיווקיות. כך גם עם מיקרוסופט.

אינטרנט של הדברים

תמונה Microsoft Azure IoT Suite .1

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

לפני ימי הענן

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

הענן של מיקרוסופט

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

שירותי הענן לחברות OEM

תמונה 2. ממשק IoT GateWay של Advantech

כחלק מהמודל העסקי של מיקרוסופט, היא מינתה מספר משווקים בעולם שהתמחותם אספקת שירותי ענן באופן ישיר ללקוח. Arrow IS הינו אינטגרטור גלובלי ונותן פתרונות שרתים ומחשוב ולפתרונות ONPREMISE ו Customer datacenter ופתרונות מעורבים (Hybrid) ואחסון גלובלי עם 7 מרכזי אינטגרציה גלובליים כולל שירותי תכנון ותמיכת החברה מייצגת גם את Microsoft בכל הקשור למערכות הפעלה ולאספקת שירותי Azure ובכללם את המוצר Azure Stack שהוא למעשה אותו שירות של Azure בענן, אך מיועד לחברות המעוניינות ביכולות של הAzure אך ללא החיבוריות לאינטרנט.

Microsoft Azure Stack

בנוסף לשירותים של שרתים וירטואליים, של אחסון ורשתות וירטואליות, מיקרוסופט מציע מאות סביבות תוכנה מוכנות להשכרה ושימוש דרך האינטרנט באמצעות Azure Cloud. אולם, חברות וארגונים רבים עדיין מעדיפים להקים את המערכות שלהם במנותק מהאינטרנט הציבורי ובכללם גופים בטחוניים וחברות שהמחוקק שהשיקולים המסחריים שלהם אינם מאפשרים להם להתחבר לענן. לצורך כך, מציעה מיקרוסופט את Azure Stack, מוצר שהוא כעקרון שכפול של מערכות התוכנה של Azure Cloud אך מותקנות בתוך הארגון על שרתים של הארגון. על מנת שניתן יהיה להתקין את המערכות הללו בתוך הארגון, לא ניתן להשתמש בתשתיות המחשוב הקיימות ויש צורך בחומרה מחשבים ייעודית המיוצרת על ידי חברות המובילות בתחום ובינהם HP, DELL, IBM וכו’. פתרון הAzure Stack יכול להיות פתרון פנים ארגוני המנותק לחלוטין מן האינטרנט או לשמש כחלק היברידי מכלל המערכת, כלומר שלמרות שכל השירותים של הAzure ירוצו על שרתים בתוך הארגון, הוא יהיה מקושר לאינטרנט וניתן יהיה לשלב במערכת הן שירותים פנימיים והן שירותים מחוות השרתים החיצוניות של Microsoft.

מי בכלל קונה היום שרתים?

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

תמונה 3. תרשים של מערכת IoT של Advantech ה Wise Paas

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

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

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

Iaas, Paas, Saas ומה שבינהם

כשאנשי IT דיברו ביניהם על מערכות המחשוב שלהם הם בידלו תחומים טכנולוגיים במונחים של תשתיות מחשוב כדי לתאר תשתיות תוכנת שרת ששימשו בהקמת מערכות ובחומרה ומערכות הפעלה כפלטפורמות מחשוב עליהם רצה תשתית זו וכמובן תוכנות שהיו רצות ומשתמשות בשניהם גם יחד. הקמת תשתיות אלו בארגון נחשבו לפרוייקט יקר ועתיר משאבים והקמתו נערכה זמן רב. בשנים האחרונות, מיקרוסופט מציע את כל המערכות האלו להשכרה באמצעות מערכת Azure על גבי האינטרנט. לכן אין כיום צורך לקנות תוכנות או חומרות תשתית יקרות וניתן פשוט לשכור אותם ולשלם לפי מידת השימוש בהם. הכינויים החדשים בעולם זה הם “פלטפורמה כשירות”, תשתית כשירות ותוכנה כשירות או באנגלית Platform as a service, Infrastructure As A Service והאחרונה Software As A service.

Azure IoT Suite

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

Azure IoT HUB

תמונה 4. תרשים של מערכת IoT קלאסית

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

שירותי Azure IOT Suite נוספים

בנוסף לAzure IoT Hub שהוא השירות העיקרי שאחראי על עצם הקשר עם החיישנים, חבילת השירותים הנוספת של Azure IOT Suite כוללת את השירותים הבאים שניתנים לאינטגרציה ושיתוף פעולה עם הAzure IOT Hub בכדי ליצור מערכת IOT מושלמת:

Azure Event Hub

Azure Stream Analytic

Azure Machine Learning

Azure Notification Hub

Azure Storage and Azure Cosmos DB

Azure Web App

Microsoft Power BI

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

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

פתרונות מוגדרים מראש

תמונה Arrow IS Web App Demo .5

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

שליטה מרחוק על התקנים, שליחה וקבלת נתונים ופקודות

ניהול המלאי / מצאי של ההתקנים

ניהול וחיזו צרכי תחזוקה מונעת בהתקנים

החיישנים

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

הפרוטוקולים

על מנת שהתקן כלשהו ייצור קשר עם הענן עליו לתמוך בפרוטוקול תקשורת TCP/IP ולהיות מחובר לאינטרנט אולם לא די בכך. נכון להיום, עליו לתמוך באחד משלושת תת הפרוטוקולים של TCP/IP הזמינים עבור התקשורת אל מול הAzure IoT Hub. הפרוטוקולים הם MQTT AMQP ועדיפות נמוכה יותר, אם אין ברירה אז גם HTTP. פרוטוקולים אלו הם:

MQTT – Message Queue Telemetry Transport

AMQP – Advanced Message Queuing Protocol

HTTP –  Hypertext Transfer Protocol

במילים פשוטות וכהנחייה כללית, פרוטוקול HTTP הוא הפרוקוטול הפחות עדיף בגלל מגבלותיו בנושא תקשורת עם התקני IoT כאשר הMQTT מיועד בדרך כלל לתקשורת של התקנים יחידים לכל קצה מרוחק וAMQP לקצוות בהם יש ריבוי התקנים שיצרו קשר עם הAzure IoT Hub בצורה מרובבת (multiplexed)

המתווכים gateways

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

התקני IoT מאושרי מיקרוסופט

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

Azure IoT Starter Kits

חברות רבות פיתחו קיטים המיועדים למתחילים בתחום ה-Azure IoT, החל מקיטים פשוטים בעלות של עשרות דולרים וכלה בקיטים בעלות של מאות דולרים ואף יותר. אחד הקיטים המתקדמים הוא קיט של חברת Advantech שמאפשר למפתחי מערכות להקים במהירות ובקלות מערכת IoT לעולם התעשייה כבסיס לפיתוח מערכת מלאה.

Advanced IoT Gateway Starter Kit

חברת Advantech הינה חברה ותיקה המייצרת מוצרי מחשוב ואלקטרוניקה למערכות משובצות מחשב ולתעשיה. החברה פיתחה תוכנה המבוססת על הענן של מיקרוסופט ומציע פתרונות משולבות חומרה ותוכנה לתעשיה. כמו כן, החברה פיתחה פתרון שלם של מערכת IoT מקצה לקצה, החל מהחיבור לחיישן וכלה בענן. המוצר של Advantech קרוי Wise Paas והינו מוצר מבוסס ענן המציע הן פתרונות מוכנים והן ממשקי פיתוח לעולם הIoT לסביבה תעשייתית. כחלק ממערכת זו, החברה פיתחה קיט אשר מאפשר למשתמש להרים מערכת IoT מקצה לקצה תוך פחות משעה. קיט זה קרוי IoT Gateway Starter Kit. מערכת זו כוללת חומרה של IoT Gateway, הגדרות מערכת מוכנות מראש, תוכנת IoT משולבת מראש, SDK של המערכת וקישוריות למערכת Wise Paas בענן.

כלי עזר לפיתוח

בשלב פיתוח מערכת IoT מבוססת Azure אתה יכול להשתמש בכלי סימולציה הקרוי IoTHub Explorer. כלי זה הינו כלי “שורת פקודה” לניהול זהויות ההתקנים בIoT Hub Registry שלך. באמצעות כלי זה ניתן לשלוח ולקבל הודעות וקבצים מההתקן שלך ולפקח על פעולות ה-IoT Hub. הכלי IoT Hub Explorer מאפשר לך לדמות התקן מחובר לAzure IoT Hub.

Proof of concept

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

להלן שירותי ה-Azure שמשתתפים במערכת (כפי שניתן לראות בתמונה 4):

IoT HUB

Stream Analytics

DocumentDB

Azure AD

Storage blobs

Power BI

WebApp

שירות Azure IoT Hub הוא למעשה שירות הAzure שיוצר קשר ישיר עם העולם החיצון, כלומר עם ההתקן והוא הוגדר לקבל תקשורת מהתקני IoT מרוחקים. ה-Azure IoT Hub מקושר פנימה לשירות הנקרא Stream Analytic שדוגם בזמן אמת את הנתונים המגיעים מההתקנים ומפרמט אותם לתוך ה-Azure DocumentDB שבתורו מקושר ל-WebApp שחושף את הנתונים לדף אינטרנט, תוך שימוש בכלי המחשה גרפית Azure Power BI. כחלק מן התהליך נעשה שימוש בבסיס נתונים Azure Storage Blob. השילוב של שירות Bing Map מאפשר להציג את המיקומים הגיאוגרפיים של ההתקנים המדומים. כחלק מהשירות, לצורך רישום של משתמשים ומשאבים במערכת נעשה גם שימוש בשירות של Azure Active Directory.

צד המרוחק:

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

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

אבי ורטהיימר ודני מורים

תגובות סגורות