האינטרנט של דברים: הפיכת כחול (שן) בקצוות? - 💡 Fix My Ideas

האינטרנט של דברים: הפיכת כחול (שן) בקצוות?

האינטרנט של דברים: הפיכת כחול (שן) בקצוות?


המחבר: Ethan Holmes, 2019

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

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

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

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

כביש מהיר או כביש נמוך?

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

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

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

האם פרוטוקולי האינטרנט "מספיק טובים" אפילו עבור תרחישים כאלה? כמה טוב הוא מספיק טוב? גם אחרי שקראתי הרבה ויכוחים ומחקרים, אני מרגישה כאילו לשני הצדדים יש טיעונים טובים, אבל עדיין נשאר לי עכור מי יהיה נכון בטווח הארוך. לפעמים אני מתרעדת, ופעמים אחרות אני מושכת בכתפי. פרוטוקולי האינטרנט בהחלט יש רקורד מרשים ב bldozing משם פרוטוקולים קנייניים, למשל טבעת האסימון של יבמ, וכן לכבוש גם שדות שאינם מתאימים כמובן עבור אותם: למשל, Ethernet השתנה בהצלחה כדי להבטיח התנהגות בזמן אמת עבור יישומים תעשייתיים . (למרות, זה יכול להיות קשה לבחור בין כיום מעל 20 (!) הצעות מתחרים על הכתר בין אמת בזמן אמת Ethernet Wannabe סטנדרטים ...)

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

Bluetooth נמוכה אנרגיה

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

בשנת 2005, CTO של לקוח סיפר לי על טכנולוגיה אלחוטית אקזוטיים להיות מפותח במרכז המחקר נוקיה, בשם Wibree. זה נראה מבטיח מאוד עבור טווח קצר, תרחישים נמוכים כוח אוטומציה הביתה, עבור יישומים רפואיים, וכן מקרים שימוש אחרים. כמה שנים מאוחר יותר, בצעד מאוד חכם, עברה נוקיה שליטה על וויברי לקבוצת ה- Bluetooth המיוחדת. הטכנולוגיה שונתה לאחר מכן כדי להתאים טוב יותר את תקן Bluetooth הקיים, ובשנת 2010 הפך לחלק רשמי של Bluetooth 4.0. שמו הנוכחי הוא Bluetooth נמוכה אנרגיה (BLE), או Bluetooth חכם כמו תווית שיווק.

תכונה אחת של BLE זה עושה את זה מוכן לצמיחה נפץ - אי תאימות פרוטוקולי IP למרות - הוא העלות הנוספת המינימלית שלה לעומת פתרון Bluetooth קלאסי: זה עולה מעט מאוד כדי לשדרג מוצר קיים Bluetooth תואם גם תמיכה BLE. החל עם 4S iPhone, אפל החלה לתמוך BLE בכל מוצריה. לא רק על ידי הוספת שבבי Bluetooth חדשים יותר, אלא גם עם ממשק API שניתן להשתמש בו לפיתוח BLE - מאפשר לאפליקציות. אפליקציה כזו, יחד עם התקן שהיא מתחברת אליו, מכונה לעתים "appcessory". לדוגמה, טכנאי שדה יכול להשתמש בטלפון החכם שלו כדי להתקין משאבה חדשה על BLE - המשאבה אינה זקוקה למסך LCD משלה למטרה זו, אפילו לא תקע USB. בעת הצורך, האפליקציה עשויה לפעול גם כשער זמני ממכונת ההדפסה לאינטרנט, למשל. כך מכונת ההדפסה יכול להביא קושחה חדשה.

כמובן, appcessories לא צריך להיות כל העסק: אחד המסע הראשון שלנו לתוך שדה חדש זה היה זר הופעה אלקטרונית, בזמן חג המולד 2012. זה היה תרגיל מעניין. לדוגמה, Apple מצפה שתשלח להם אחד מהמכשירים שלך, אחרת הם לא יאשרו את האפליקציה שלך עבור חנות האפליקציות. תהינו בהיסוס אם BMW, במקרה שהם אי פעם לבנות תמיכה BLE לתוך אחד המכוניות היוקרתיות שלהם, יצטרך לשלוח מכונית כזו אפל גם?

בשנה שעברה, גוגל סוף סוף הוסיף BLE תמיכה API ה- Android גם כן, ובשנה זו מיקרוסופט צריכה ללכת בעקבות עם Windows Phone. זה יהפוך BLE נכון פלטפורמת הטכנולוגיה עבור appcessories, מן התקני כושר כמו חיישני צחצוח או צגי דופק על שעונים חכמים הכל בסמיכות שלך כי ייתכן שתרצה לשלוט: דלתות, טלוויזיות, ממטרות בגינה, וכו '

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

האם זה כאן כדי להישאר?

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

ארכיטקטורה מוכוונת שירותים למכשירים

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

קושחה לעזאזל: לעזאזל DLL על סטרואידים

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

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

  1. הטלפון החכם שלך עם יישום עבור המקורי השירות עונה על המקורי התקן: זה מחפש ServiceA על המכשיר, מוצא אותו, והכול בסדר.
  2. הטלפון החכם שלך עם יישום עבור המקורי השירות עונה על מורחב התקן: זה מחפש ServiceA על המכשיר, מוצא אותו, והכול בסדר. כמו האפליקציה לא יודע על המאפיין הנוסף הנתמך על ידי המכשיר המורחב, זה לא יכול להשתמש בו, אבל זה בסדר. זה עדיין יכול לספק את הפונקציונליות המקורית.
  3. הטלפון החכם שלך עם יישום עבור מורחב השירות עונה על מורחב התקן: זה מחפש ServiceA1 על המכשיר, מוצא אותו, והכול בסדר. האפליקציה יודעת ומאפשרת לנצל את המאפיין הנוסף.
  4. הטלפון החכם שלך עם יישום עבור מורחב השירות עונה על המקורי התקן: זה מחפש ServiceA1 על המכשיר, אבל המכשיר מגיב עם "הא? מעולם לא שמעתי ServiceA1! ". אז האפליקציה מנסה לחפש את המבוגר ServiceA, ו voilà, הוא יכול בגאווה ליפול בחזרה לשירות זה מבוגר. לא מגניב כמו עם מכשיר חדש, אבל זה עובד.

להלן ארבע קבוצות הכוכבים כדאגרמה:

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

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

פרוטוקולי אינטרנט בליבה, טכנולוגיות אחרות בקצוות

זה נראה כמו מבוך של כבישים נמוכים יהיה איתנו הרבה זמן לבוא, עם חניות שונות ויוצאות מהכביש המהיר. במיוחד ב "קצוות" של הרשת, כמה טכנולוגיות אחרות יישארו איתנו במשך זמן מה. ביניהם BLE, למרות שזה לא תומך פרוטוקולי אינטרנט, או תכונות מתקדמות יותר כמו ניתוב רשת. אני מקווה שהריבית הגבוהה ב BLE לא תהפוך לבעיה הגדולה ביותר שלה: יש מספר קבוצות שעובדות על הצעות להרחבת BLE בצורה זו או אחרת; רכזות BLE הן חלק מהמפרט החדש של Bluetooth 4.1; ויש כבר ניסיונות לרוץ IPv6 מעל BLE ...

אבל מה לגבי אחרים "יוט טכנולוגיות קצה" זה עשוי להיות גם שימושי, אבל לא משולבים בצורה חלקה לתוך העולם IP פרוטוקול או? מתי היתרונות שלהם (למשל, זמינות, התאמה מושלמת לתפקיד וכו ') עולים על החסרונות שלהם (למשל, הצורך ללמוד טכנולוגיה חדשה, פחות "השפעות רשת" וכו')? שאלה דומה עולה לרמה גבוהה יותר, עבור פרוטוקולי שכבת היישומים: מתי עלינו להתמקד ב- HTTP כפרוטוקול מאחד יחיד עבור "Web of Things", ומתי עלינו לעבור ל- MQTT, XMPP, AMQP, ZeroMQ ו- כמו?

מה אתה לוקח על השאלות האלה? אני אשמח לשמוע ממך!

* אם אתה יודע במקרה של Microsoft Component Object Model (COM), אתה תזהה את הרעיון. בדומה לשירות BLE, ממשק COM הוא אוסף בלתי משתנה של שיטות. עבורי, אחד הרעיונות החדשניים והרלוונטיים ביותר שיצאו אי פעם ממיקרוסופט, רק כדי ללכת לאיבוד על אלו שהתפתחו מאוחר יותר. NET, ולאחרונה התגלה מחדש על ידי מי שפיתח את Windows Runtime החדש.



אתה עשוי להתעניין

תחביר Hacks

תחביר Hacks


נינטנדו DS מקרה - גרסה שונה

נינטנדו DS מקרה - גרסה שונה


איך לכתוב גרזן עבור או 'ריילי

איך לכתוב גרזן עבור או 'ריילי


טעינת נתוני דגם 3D ב Flash ב Runtime

טעינת נתוני דגם 3D ב Flash ב Runtime