11.1. מדוע Bluetooth¶
רשתות מחברות את המצלמה לרשת Wi-Fi או Ethernet כך שתוכל לתקשר עם כל דבר שנגיש משם. מחשב נייד במורד המסדרון, שרת ביבשת אחרת, טלפון שנע ברשת סלולרית. ההישג הזה מגיע עם דרישות מקדימות. צריכה להתקיים רשת. נקודת גישה כלשהי צריכה להיות בטווח, אישורי גישה כלשהם צריכים להיות זמינים, נתב כלשהו צריך להסכים להקצות למצלמה כתובת. המצלמה גם צריכה להפעיל את הרדיו (או את יציאת ה-Ethernet) באופן אינטנסיבי מספיק כדי לשמור על הקישור.
Bluetooth מטפל במקרה ההפוך – טווח קצר, ללא תשתית, צריכת חשמל נמוכה. המצלמה וטלפון באותו חדר מחליפים נתונים באמצעות קישור רדיו ישיר, ללא דבר ביניהם. ללא נקודת גישה, ללא נתב, ללא צורך שאף צד יהיה מחובר לרשת כלשהי. הרדיו נשאר כבוי ברובו בין פרצי פעילות קצרים, כך שסוללה שבקושי הייתה שורדת יום אחד ב-Wi-Fi יכולה לפעול חודשים.
11.1.1. מתי Bluetooth הוא הכלי הנכון¶
המקרים הנפוצים במצלמה:
טלפון או טאבלט מתחבר עם המצלמה. משתמש סמוך פותח אפליקציה בטלפון שלו ומגדיר את המצלמה, קורא את הסטטוס שלה, או מוריד תוצאות – מבלי להעמיד תחילה את שני ההתקנים על אותה רשת Wi-Fi. רוב הטלפונים תומכים ב-Bluetooth Low Energy באופן מובנה, כך שחוויית המשתמש היא ”פתח את האפליקציה, לחץ על התחבר“, ולא ”הצטרף לרשת הזו תחילה“.
התקן לביש או חיישן מדווח למצלמה. רצועת דופק, מדחום, משואה, מתג מגע – כולם התקנים מופעלי-סוללה המתוכננים סביב Bluetooth Low Energy. המצלמה מתחברת כלקוח, קוראת את הערכים שלהם, ומשלבת את הנתונים בכל פעולה אחרת שהיא מבצעת.
המצלמה מפרסמת הזנת סטטוס קטנה. רמת סוללה, האובייקט האחרון שזוהה, קצב פריימים – מספר ערכים החשופים לכל מי שנמצא בקרבת מקום ורוצה לקרוא אותם. ההתחברות (pairing) אופציונלית; עבור נתונים שאינם רגישים המצלמה יכולה לפרסם את הערכים ישירות ללא צורך בחיבור כלל.
שתי מצלמות (או מצלמה ובקר זעיר) חולקות נתונים ללא רשת. שני הקצוות מכירים זה את זה; שני הקצוות נמצאים באותו בניין; אין סיבה שהבתים ינועו למעלה אל הענן ובחזרה למטה כדי לחצות את החדר.
11.1.2. מתי רשתות הן הכלי הנכון במקום זאת¶
הפשרות של Bluetooth אינן מתאימות למספר מקרים נפוצים:
עמיתים מחוץ לטווח. Bluetooth Low Energy מגיע לכמה מטרים בפועל, ולכל היותר עשרות מטרים בשטח פתוח. כל דבר שנמצא מעבר לבניין, מעבר לעיר, או מעבר לאינטרנט זקוק ל-Wi-Fi או Ethernet.
קישורים ברוחב פס גבוה. Bluetooth Low Energy מספק עשרות עד כמה מאות קילוביט לשנייה בפועל. הזרמת פריימים או כל וידאו משמעותי זקוקה ל-Wi-Fi.
תקשורת קבוצתית רבים-לרבים על תשתית משותפת. חדר מלא התקנים שכולם מדברים עם שרת אחד, או רשת מצלמות החולקות תוצאות – זוהי התבנית שעבורה נבנתה רשת IP.
11.1.3. Low Energy, לא הקלאסי¶
”Bluetooth“ בשימוש יומיומי מכסה שני מחסניות רדיו (stacks) נבדלות. Classic Bluetooth הוא זה שבאוזניות אלחוטיות, באודיו לרכב, ובקישורי מקלדת / עכבר: רדיו ברמת קול-ואודיו, מחסנית מורכבת יחסית, וצריכת חשמל מורגשת. Bluetooth Low Energy (BLE) הוא פרוטוקול נפרד וחדש יותר שחולק את שם המותג ואת תחום ה-2.4 GHz אך מעט מאוד מעבר לכך. הוא בנוי סביב פרצי רדיו קצרים ובלתי-תכופים כדי לשמור על צריכת חשמל ממוצעת זעירה, וסביב מודל נתונים של מפתח/ערך ולא הזרמת אודיו.
MicroPython במצלמה תומך ב-BLE בלבד. Classic Bluetooth אינו חלק מה-API כלל. ”Bluetooth“ להלן משמעו BLE.
11.1.4. מה משתנה ביחס למודל הרשתות¶
ל-BLE יש אותה מחסנית בת חמש שכבות שהייתה לרשתות, אך השכבות העליונות מתנהגות באופן שונה:
אין הפשטה של ”פתח socket ושלח בתים“. BLE בנוי סביב מסד נתונים קטן של מפתח/ערך שצד אחד מארח והצד השני קורא, כותב, או נרשם אליו. המצלמה מפרסמת ערכים בעלי שם (רמת סוללה, טמפרטורה, אוגר פקודה); העמית קורא או צופה בהם.
אין מיעון-לפי-שם. התקנים מזהים את עצמם על ידי פרסום (advertising) שידור קצר המתאר מי הם; עמיתים סורקים (scan) את השידורים הללו ובוחרים אחד להתחבר אליו.
הרדיו ברובו במצב סרק. שני הקצוות מסכימים בזמן החיבור על תדירות ההתעוררות והתקשורת. בין לבין, שניהם חוזרים לישון.
שלושת ההבדלים הללו הם מה שמרחיק את שאר ה-API של BLE ממודל ה-socket.