Bluetooth Düşük Enerji

Android 4.3 ve sonraki sürümlerde kullanılabilen Bluetooth Düşük Enerji (BDE), veri paketlerini aktarmak için cihazlar arasında kısa bağlantılar oluşturur. BLE bağlı değilken uyku modunda kalır. Bu sayede BLE, Klasik Bluetooth'a kıyasla daha düşük bant genişliği ve güç tüketimi sağlar. BLE, kalp atış hızı monitörü veya kablosuz klavye gibi uygulamalar için idealdir. BLE'yi kullanmak için cihazlarda BLE'yi destekleyen bir yonga seti olması gerekir.

Uygulama

Mevcut tüm BLE uygulama profilleri Genel Özellik (GATT) Profili'ne dayanır . Android destekli bir cihaz, BLE cihazıyla etkileşim kurduğunda bilgi gönderen cihaz sunucu, bilgi alan cihaz ise istemci olur. Android'de, GATT sunucuları ile GATT istemcileri arasındaki etkileşimlere yönelik API'ler de dahil olmak üzere BLE için geliştirici API'leri bulunur. BLE API'lerinden tam olarak yararlanmak için Android Bluetooth HCI Gereksinimleri'ni uygulayın.

Cihaz modları

BLE kullanılırken Android destekli bir cihaz, çevre birimi cihazı, merkezi cihaz veya her ikisi olarak da işlev görebilir. Çevre birimi modu, cihazların reklam paketleri göndermesine olanak tanır. Merkezi mod, cihazların reklam taraması yapmasına olanak tanır. Hem çevre birimi hem de merkezi cihaz olarak işlev gören bir Android cihaz, çevre birimi modunda reklam gönderirken diğer BLE çevre birimi cihazlarıyla iletişim kurabilir. Bluetooth 4.1 ve önceki sürümlerini destekleyen cihazlar, BDE'yi yalnızca merkezi modda kullanabilir. Eski cihaz yonga setleri, BLE çevre birimi modunu desteklemeyebilir.

BLE taraması

Android destekli bir cihaz, BLE kullanırken belirli Bluetooth cihazları daha verimli bir şekilde hedefleyip tarayabilir. BLE API'leri, uygulama geliştiricilerin ana denetleyicinin daha az müdahalesiyle cihaz bulmak için filtreler oluşturmasına olanak tanır.

Konum tarama

Cihazın konum hizmetleri, Bluetooth işaretçilerini algılamak ve daha doğru bir konum bilgisi sağlamak için Bluetooth'u kullanabilir. Kullanıcılar bu özelliği şu şekilde etkinleştirir:

  1. Ayarlar > Güvenlik ve Konum > Konum'a gidin.
  2. Konum Açık/Kapalı açma/kapatma düğmesinin Açık konumunda olduğundan emin olun.
  3. Mod'a gidin.
  4. Yüksek doğruluk veya Pil tasarrufu modunu seçin.

Android 11 ve önceki sürümlerde, BLE taraması kullanmak için uygulamaların konum izni alması gerekir. Bu uygulamalar, yalnızca bağlanılacak cihazları bulmak için tarama yapıyor olsa bile bu izin gereklidir. Kullanıcı konum taramayı devre dışı bırakırsa veya bir uygulamaya konum izni vermezse uygulama herhangi bir BLE tarama sonucu almaz.

Android 12 ve sonraki sürümlerde BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE ve BLUETOOTH_CONNECT izinleri, uygulamaların konum izni istemeden yakındaki cihazları taramasına olanak tanır. Daha fazla bilgi için Bluetooth izinleri başlıklı makaleyi inceleyin.

Kullanıcılar, Ayarlar > Güvenlik ve Konum > Konum > Tarama'ya gidip Bluetooth tarama açma/kapatma düğmesini kapalı konuma getirerek sistem düzeyinde Bluetooth arka plan taramasını devre dışı bırakabilir. Bu işlem, konum veya yerel cihazlar için BLE taramasını etkilemez.

Tarama sonuçlarını filtreleme

Android 6.0 ve sonraki sürümlerde Bluetooth denetleyicisinde BLE taraması ve filtre eşleştirme bulunur. Bir cihaz, tarama sonuçlarını filtreleyebilir ve BLE cihazlarıyla ilgili bulunan ve kaybolan etkinlikleri uygulama işlemcisine (AP) bildirebilir. Filtreleme, cihazın BLE taramasını donanım yazılımına aktarması sayesinde güç tasarrufuna yardımcı olan toplu taramalar için de çalışır. Toplu taramalar, cihaz veya işaretçi için BLE taraması nedeniyle AP'nin uyanma sıklığını azaltır.

OnFound/OnLost özelliği, Bluetooth denetleyicisinde uygulanır ve ardından BLE cihazlarının taramalarda atlanmadığını doğrulamak için test edilir. Bu sayede güç tasarrufu sağlanır ve aşağıdaki avantajlar elde edilebilir:

  • Bir OnFound etkinliğinde, belirli bir cihaz keşfedildiğinde ana AP uyanır.
  • OnLost etkinliğinde, belirli bir cihaz bulunamadığında AP uyanır.
  • Yakındaki bir cihaz kapsama alanındayken çerçeve uygulamaları daha az istenmeyen bildirim alır.
  • Sürekli taramalar, cihaz aralığın dışına çıktığında çerçeve uygulamalarının bildirim almasını sağlar.

Tarama filtresi, bir cihazın reklamlarının (OnFound etkinliği) keşfedilmesine dayalı olabilir. Java katmanı, ilk keşif (veya ilk keşiften bu yana belirli sayıda reklam) gibi parametreleri belirtebilir. Advertising Packet Content Filter HCI komutunu kullanarak BLE filtrelemeyi uygulayın.