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