Bluetooth עם צריכת אנרגיה נמוכה (BLE), שזמין ב-Android מגרסה 4.3 ואילך, יוצר חיבורים קצרים בין מכשירים כדי להעביר פרצי נתונים. BLE נשאר במצב שינה כשהוא לא מחובר. כך, טכנולוגיית BLE מספקת רוחב פס נמוך יותר וצריכת חשמל מופחתת בהשוואה ל-Bluetooth קלאסי. BLE הוא אידיאלי לאפליקציות כמו מוניטור קצב לב או מקלדת אלחוטית. כדי להשתמש ב-BLE, במכשירים צריך להיות ערכת שבבים שתומכת ב-BLE.
הטמעה
כל הפרופילים הנוכחיים של אפליקציות BLE מבוססים על פרופיל המאפיינים הכלליים (GATT) . כשמכשיר עם Android מקיים אינטראקציה עם מכשיר BLE, המכשיר ששולח את המידע הוא השרת והמכשיר שמקבל את המידע הוא הלקוח. Android כולל ממשקי API למפתחים ל-BLE, כולל ממשקי API לאינטראקציות בין שרתי GATT לבין לקוחות GATT. כדי לנצל את מלוא היתרונות של ממשקי ה-API של BLE, צריך להטמיע את הדרישות של Android Bluetooth HCI.
מצבי מכשיר
כשמשתמשים ב-BLE, מכשיר עם Android יכול לשמש כמכשיר היקפי, כמכשיר מרכזי או כשניהם. מצב ציוד היקפי מאפשר למכשירים לשלוח חבילות פרסום. במצב מרכזי, המכשירים יכולים לסרוק מודעות. מכשיר Android שפועל גם כמכשיר היקפי וגם כמכשיר מרכזי יכול לתקשר עם מכשירים היקפיים אחרים של BLE, וגם לשלוח פרסומים במצב היקפי. מכשירים שתומכים ב-Bluetooth מגרסה 4.1 ומטה יכולים להשתמש ב-BLE רק במצב מרכזי. יכול להיות שערכות שבבים במכשירים ישנים לא תומכות במצב ציוד היקפי של BLE.
סריקת BLE
מכשיר עם Android יכול למקד ולסרוק מכשירי Bluetooth ספציפיים בצורה יעילה יותר כשמשתמשים ב-BLE. ממשקי ה-API של BLE מאפשרים למפתחי אפליקציות ליצור מסננים למציאת מכשירים עם פחות מעורבות של בקר המארח.
סריקת מיקום
שירותי המיקום של המכשיר יכולים להשתמש ב-Bluetooth כדי לזהות משואות Bluetooth ולספק מיקום מדויק יותר. כך המשתמשים מפעילים את התכונה:
- עוברים אל הגדרות > אבטחה ומיקום > מיקום.
- בודקים שהמתג של המיקום מופעל/מושבת נמצא במצב מופעל.
- עוברים אל מצב.
- בוחרים במצב רמת דיוק גבוהה או חיסכון בסוללה.
ב-Android מגרסה 11 ומטה, אפליקציות בודדות צריכות הרשאות מיקום כדי להשתמש בסריקת BLE, גם אם הן סורקות רק כדי למצוא מכשירים להתחבר אליהם. אם המשתמש משבית את סריקת המיקום או לא מעניק לאפליקציה הרשאות מיקום, האפליקציה לא תקבל תוצאות של סריקת BLE.
ב-Android מגרסה 12 ואילך, ההרשאות
BLUETOOTH_SCAN
,
BLUETOOTH_ADVERTISE
ו-
BLUETOOTH_CONNECT
מאפשרות לאפליקציות לסרוק מכשירים בקרבת מקום בלי לבקש את הרשאת המיקום.
מידע נוסף זמין במאמר בנושא
הרשאות Bluetooth.
המשתמשים יכולים להשבית את הסריקה ברקע של Bluetooth ברמת המערכת. לשם כך, הם צריכים לעבור אל הגדרות > אבטחה ומיקום > מיקום > סריקה וללחוץ על המתג סריקת Bluetooth כדי להעביר אותו למצב מושבת. הפעולה הזו לא משפיעה על סריקת BLE למיקום או למכשירים מקומיים.
סינון תוצאות הסריקה
Android 6.0 ואילך כולל סריקת BLE והתאמת מסננים בבקר Bluetooth. מכשיר יכול לסנן את תוצאות הסריקה ולדווח על אירועים של מציאת ואיבוד מכשירי BLE למעבד האפליקציות (AP). הסינון פועל גם בסריקות אצווה, וכך עוזר לחסוך בחשמל כי המכשיר מעביר את סריקת ה-BLE לקושחה. סריקות אצווה מפחיתות את התדירות שבה נקודת הגישה מתעוררת בגלל סריקת BLE לאיתור מכשירים או משואות.
התכונה OnFound
/OnLost
מיושמת
בבקר Bluetooth ואז נבדקת כדי לוודא שמכשירי BLE
לא נעלמים בסריקות. השימוש ב-Wi-Fi חוסך באנרגיה, ויכול לספק גם את היתרונות הבאים:
- באירוע
OnFound
, נקודת הגישה הראשית מתעוררת כשמתגלה מכשיר ספציפי. - באירוע
OnLost
, נקודת הגישה מתעוררת כשלא ניתן למצוא מכשיר ספציפי. - אפליקציות של Framework מקבלות פחות התראות לא רצויות כשמכשיר בקרבת מקום נמצא בטווח.
- סריקות רציפות מאפשרות לאפליקציות של מסגרת העבודה לקבל התראה כשמכשיר נמצא מחוץ לטווח.
מסנן סריקה יכול להתבסס על גילוי של מודעות של מכשיר (האירוע OnFound
). שכבת Java יכולה לציין פרמטרים כמו הגילוי הראשון (או מספר מודעות שצוין מאז הגילוי הראשון). מטמיעים סינון BLE באמצעות
פקודת ה-HCI של מסנן תוכן מנות פרסום.