Verimli Cihaz Discovery için Bluetooth Reklamını ve Tarama Süreçlerini Anlamak
Table of Contents
Bluetooth Low Energy (sol), İnternet'te kısa menzilli kablosuz iletişim için hakim standart haline geldi (IoT), giyilebilir teknoloji ve modern konum tabanlı hizmetler. Tüm ekosistem, basit ama çok fazla sayıda elhake: Reklam ve tarama. Reklamverenin varlığını yayınlar ve tarayıcıları dinliyor.Bu karmaşıklıkta Bluetooth yığını soyutlama, bu süreçleri usta kılan geliştiriciler ve mühendisler, bu süreçleri önemli ölçüde daha verimli, duyarlı sistemler inşa edebilir ve güvenilir.Bu makale, Bluetooth reklam ve taramalarını sağlar.
Bağlantısız İletişim Vakfı
Bluetooth reklam ve tarama formu asimetrik iletişim modeli. Reklamveren, veri paketlerini düzenli aralıklarla iletmez, tarayıcı bu paketleri belirli radyo kanallarında dinlerken, Estone bu başlangıç elhakesi bağlantısızdır - reklamveren, kimin dinlediğini bilmiyor ve tarayıcıya karar vermesine kadar bağlantı kurmuyor.
Bir Bluetooth Reklam Paketi Anatomi
Bir reklam paketinin içinde olan şey, optimizasyona yönelik ilk adımdır. Bir miras reklam protokolü Data Unit (PDU) dört ana bölümden oluşur:
- [FONT:0)Öyle (1: 1:[Döne: 1 veya 0101) alıcı senkronizasyon için kullanılan sabit bir dizi (10 veya 0101)
- [[Kategori:0)Yedi Adresi (4 kişi):[Dönetici reklam için, bu her zaman [[Dönetici:0) Veriler için özel erişim adresleri kullanılır.
- [FOV IND, ADV NONCONN IND, SCAN REQ, vb.), ödeme yüklerinin uzunluğu ve kanal bilgileri.
- [FONT=0)Payload (0-37 bytes): Reklamverenin adresini (AdvA) ve reklam verilerini (AdvData) kapatır.
- [FONT:0)CRC (3 astes): Cyclic Reddancy Hata tespiti için kontrol.
Geliştiriciler için, [[0)AdvData[DÜT:1) alanı en kritik bileşendir. AD (Advertising Data) yapıları, her biri uzun süreli bir akış içeren, gerçek bir AD türü içerir:
- [FONT=0)Flags:[[Döneticiler:[Döneticiler:) LE Sınırlı Discoverable Mode, LE General Discoverable Mode ve BR/EDR desteği.
- [FONT=0)Local Name:[Dönetici:[Dönetici:0) Kısa veya tam cihaz adı.
- [FONT=0]Hizmet UUIDs:[[Dönler: 16-bit, 32-bit veya 128-bit UUIDs desteklenen hizmetleri tanımlamaktadır.
- [FONT=0)Urezilyalı Veriler:[Dönetici:[Dönetici:0) Üretici tarafından kullanılan özel veriler (örneğin Apple'ın iBeacon veya Google'ın Eddystone’u).
İlk Reklam Kanalları
Wi-Fi müdahalesine rağmen güvenilir keşif garanti etmek için, reklam paketlerinin üç ana kanalda aktarıldığı görevlerden vazgeçin: 37 (2402 MHz), 38 (2426 MHz), ve 39 (2480 MHz). Bu kanallar en yaygın Wi-Fi kanallarının merkez frekansları arasında oturmayı tercih eder (1, 6 ve 11).
Reklam Moduları ve Türler
Bluetooth Corepec, belirli kullanım vakaları için özel olarak tasarlanmış birkaç reklam PDU türünü tanımlar. Doğru türü seçmek güç ve keşif davranışını optimize etmek için temeldir.
- [FOV IND:0]Sessiz Reklamcılık:[Dönemli Reklamlar:[Dönemli Reklamlar: 1) Reklamveren, genel cihaz keşfi için kullanılan herhangi bir tarayıcıdan gelen bağlantı taleplerini keşfeder ve kabul eder.
- [[FOV DIRECT IND (Bağlantılı Yönetmen Reklam):[D: 1) Belirli bir cihazda hedef alındı. Paket reklamverenin adresini ve hedefin adresini içeriyor.Bu mod, bağlantı için çok düşük bir gecikmeye sahiptir ve genellikle geçici olarak kaybedildiğinde kullanılır.
- [[D:0)ADV NONCONN IND (Non-connectable Undirected Reklam): [Dönderilmiş Reklamlar:[D: 1) Cihazın tamamen yayınlandığı ve bağlantılarını kabul edemeyeceği.
- [FOV SCAN IND (Scannable Undirected Reklam): ) Cihazın keşfi mümkün değil, bağlantı kurmayabilmesi için tarayıcıların tam bir bağlantı kurmadan ek veriler toplanmasına yardımcı olabilir.
Her modda ilgili bir şekilde vardır:0)duty döngüsü[Dönetici:0). Connectable modlar genellikle hızlı bağlantı kurulması sağlamak için daha yüksek bir görev döngüsü kullanır, ancak bağlantı olmayan modlar güç korumak için daha düşük bir görev döngüsü kullanabilir.
Deep Dive into the Bluetooth Scanning Process
Scanning, reklam paketleri için aktif veya pasif bir dinlemedir. Tarayıcı programları birincil reklam kanallarında pencereler alır. keşif başarısı, reklamverenin iletim programı ve tarayıcının dinleme programı arasında tamamen örtüşmelidir.
Pasif Tarama: Verimlilik için Eavesdrop
Pasif taramada, tarayıcı sadece bir pencere açar ve reklam PDUs için dinler. herhangi bir istek iletmez. Bu, bir URL veya sıcaklık okuması gibi, bir kanal tarama modu ile en düşük zaman harcıyor (bu genellikle 10-20 mA) Pasif tarama, yalnızca reklam paketinde mevcut olan verileri okumak için idealdir, örneğin bir URL veya bir sıcaklık okuması gibi.
Sadece bir avuç Hizmet UUID'leri veya bir üretici kimliği tamamen pasif modda çalışabiliyor, sistem güç gerekliliklerini önemli ölçüde azaltmaktadır. Örneğin, belirli bir BLE sensörü için akıllı bir ev merkezi izleme çoğu zaman pasif tarama modunda kalabilir.
Aktif Tarama: Zengin Context
Tarayıcı ilk 31-bayt reklam ödeme yükünde sağlanandan daha fazla bilgi gerektirdiğinde, aktif bir tarama gerçekleştirir. Bir reklam paketi (özellikle, bir ADV IND veya ADV SCAN IND), tarayıcı, veri topları ile 31 eki iletebilirsiniz.
Aktif tarama güçlü çünkü tarayıcının bağlantıya karar vermeden önce cihazın tam yerel adını veya detaylı hizmet verilerini elde etmesine izin veriyor. Ancak, bu bir maliyetle geliyor:
- [FONT:0) Increased Power Beauty: Tarayıcı SCAN REQ için vericiye sahip olmalıdır.
- [FONT:0)Increased Air Trafik: SCAN REQ/SCAN RSP değişimi, yoğun ortamlarda potansiyel olarak artan çarpışma olasılığı ekliyor.
- [FONT:0]Privacy Implications: Active tarama tarayıcının varlığını ve MAC adresini reklamverene gösterir.
Bir kullanıcı onlara dokunıncaya kadar tam adını açığa çıkarmak zorunda olmayan pasif beacons için, aktif tarama uygun. Basit bir varlık algılaması için, pasif tarama üstündür.
Filtreleme Filtreleri ve Duplicate Tespit
Yoğun bir ortamda, bir tarayıcı ikinci başına binlerce paket tarafından boğulabilir. Bunu işlemek için, modern Bluetooth yığınları sofistike filtreleme uygular.
- [FONT=0)Device Filtreleme: [Dönetici:[Dönetici:0) Tarayıcı, yalnızca belirli bir MAC adreslerinden veya bir dizi hizmet UUIDs'den işlem paketlerine yapılandırılabilir. Bu, bataryayı korumak için arka plan tarama için kritik.
- [[Düzücü:0)Duplicate Filter Filtering:[Dönetici:[Dönetici:0)Işıklar otomatik olarak aynı cihazdan tekrarlanan paketler için kartpostallar.Bu, Android'in [[DüzDÜSÜDÜDÜSÜSÜSÜSÜSÜSÜŞÜNÜŞÜNCÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜN
- [FONT:0)RSSI Filtering:[[Dönetici: 1 ) Bazı gelişmiş tarayıcılar sinyal gücüne dayanan filtrelemeye izin verir, çok uzak olan cihazlar görmezden gelinir (veya çok yakın).
Reklamı optimize etmek ve Ecosystem'i izlemek
Verimli cihaz keşfinin anahtarı hem reklamverenin parametrelerini ayarlıyor ve tarayıcının belirli uygulama gereksinimleriyle eşleşmesi için tarayıcıya bağlıdır.
Reklam Parametreleri
En etkili parametresi, 20 ms'ten 10.24 saniyeye kadar uzanan bir sürü 0.625 m olarak tanımlanır. 0-10 ms rastgele bir gecikme kalıcı çarpışmaları önlemek için her aralığına eklenir.
Hızlı vs. Slow Reklam
Bluetooth Corepecü, reklamverenler için iki üst düzey görev döngüsü önermektedir:
- [FONT:0)Fast Reklam:[Dönetici:[Dönetici: 0) 30 ms'in 60 m'lara aralıklarını kullanın. Bu mod, bir cihazla eşleştirildiğinde veya bir kullanıcı aktif olarak cihazla etkileşime girdiğinde, alt-100 ms keşif gecikmesini sağlar, ancak önemli gücü tüketmektedir.
- [FONT:0]Slow Reklam (veya Genişletilmiş Reklam): Cihazı tespit etmek için bir tarayıcıya birkaç saniye veya daha uzun süre boyunca kullanılabilir.
Geliştiriciler bir düğme basını ( hızlı bağlantı sağlar), o zaman bataryayı kurtarmak için günün geri kalanı için yavaş aralığına geri dönebilir.
Tuning Scanning Parametreleri
Tarayıcının davranışı iki parametre tarafından yönetilir:0) Pencere[DÜT:6) ve [Dönetici:2)) aralığı[DÜDÜDÜSÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜye ait ([Üye Olmayanlar)[Üye Olmayanlar ([Üyeler)
- [FONT:0)Scan Pencere:[Dönetici:[Dönetici:0) Belirli bir kanalda bir dinleme süresi.
- [FONT:0)Scan Interval:[Dönem:[Dönem: 1 ) İki tarama pencereleri arasında toplam zaman.
İniş görevini de kabul eden bir sistemdir.A.D.D.% 100 görev döngüsü) tarayıcının sürekli dinlemesi anlamına gelir (). = 03.03.2012).
Modern mobil işletim sistemleri bu ticaret-off yönetmek için önceden tanımlanmış tarama profilleri sağlar:
- [FONT=0)SCAN MODE LOW POWER[DÜDÜT:1) (Android):% 10 görev döngüsü, 0,5s aralığı.
- [FONT:0]SCAN MODE BALANCED (Android): -% 25 görev döngüsü.
- [FONT=0)SCAN MODE LOW LATENCY) (Android): -% 100 görev döngüsü, 2s aralığı.
iOS için, sistem, uygulamanın durumuna göre dinamik olarak tarama parametrelerini yönetiyor (foreground vs. arka plan). arka tarama döngüleri bataryayı korumak için çok daha uzun.
Gelişmiş Filtreleme ve Veri Yapıları
Temel MAC ve UUID filtrelemesinin ötesinde, geliştiriciler reklam verilerini dikkatlice yapılandırarak keşifleri optimize edebilir. 31-bayt ücret yükü limiti, her biri sayılıyor.
- [FONT=0]Hizmet UUIDs:[[Dönetici:[Dönetici:0)[FONT=0)[değiştir | kaynağı değiştir] 16-bit Bluetooth SIG-assigned UUUIDs, 128-bit özel UUUIDs yerine mümkün olduğunda, pakete daha verimli bir şekilde sığıyorlar.
- [FONT=0)Urezilyalı Veriler:[Dönetici:0)Şirket Identifier (SMO tarafından görevlendirilenler) için ilk 2 taneleri kullanın ve özel veriler için geri kalanlar için geri kalan tarayıcılar sağlar.
- [FONT:0]Eddystone ve iBeacon:) Bunlar, üretici Özel Veri alanını kullanan tanınmış çerçeve türleridir. Tarayıcılar özellikle bu çerçeve türleri için bakar, radyo seviyesinde son derece hedefli filtreleme sağlar.
Bluetooth 5x ve Auracast ile Gelişmiş Reklam
Bluetooth 5.0, reklam yeteneklerinde önemli bir evrim tanıttı, 31-bayt kanalının ötesine geçiyordu.
Genişletilmiş Reklam
BLE 5.0, orijinal 3 birincil kanaldan reklam kanallarını ESFLT'ye genişletti:0)39 kanal) (kanlar 37-39 artı 40-47 ikincil reklam için kullanılıyor).
- [FONT:0]Larger Payloads:[Dönem:[Dönetici:0)Tek bir reklam paketinde 255.
- [FONT=0) Yüksek veri fiyatları: [Dönetici: 2M PHY (2 Mbps) kullanılarak).
- [FONT=0)Longer Range:[Dönetici:[Dönetici: 0,8|125 kbps veya 500 kbps) kullanarak, bu, ideal koşullarda bir kilometre üzerinde elde edebilir.
- [[Dönetici/İkinci Kanallar: Tarayıcı, birincil kanallarda cihazı keşfeder (37, 38, 39) ve reklamverenin gerçek verilere yol göstermesine izin verir.Bu tarayıcının ikincil kanala uyum sağlamasını sağlar.
Genişletilmiş reklam, geniş miktarda veri iletme ihtiyacı olan modern IoT ağ geçitleri ve varlık takip etiketleri için gereklidir (örneğin sensör logları veya bilgisayar görüntüleri gibi) tam bir bağlantı kurmadan.
Periyodik Reklam (PAwR ve PAST)
Termic Reklam bir sonraki seviyeye yayınlanır. Reklamveren sabit bir aralıkta paketler gönderir. Tarayıcı bu periyodik trenleri dinlemekle reklamverenle senkronize edebilir.Inpass ilk olarak cihazı genişletilmiş reklam yoluyla keşfeder ve periyodik trenin zamanlamayı öğrenir.
[FONT:0]PAwR (Periodic Reklamlar ile Reklam)[DDDDD:0) İki yönlü iletişim için bir oyun değiştiricidir.Her bir düğüm için binlerce son düğüm ile iletişim kurma izin verir, belirli yanıt yuvalarını tanımlamak.Bu, Elektronik Raf etiketleri gibi yüksek çözünürlükte sensör ağları oluşturur.
[FONTNT=0)PAST (Periodic Reklam Sen Transfer)), bir cihazla zaten başka bir cihazla bu senkronizasyon bilgilerini paylaşmak için bir süre açıklığa kavuşturulmuş bir cihazdır.Bu, Auracast).
Auracast: Bağlantısız Ses
Auracast, periyodik olarak ses akışlarını yayınlamaya yönelik periyodik Reklamdan yararlanıyor. İşitme yardımları, kulakbuds ve konuşmacılar Auracast akışları için tarama yapıyor. Tarayıcı (örneğin, bir telefon veya işitme yardımı) periyodik trenle senkronize ediyor ve ses verilerini alıyor.Bu, klasik A2DP akışından temel olarak farklı, çünkü sınırsız alıcıların aynı anda dinlemelerini ve bir TV'den birden fazla çift kulaklıka kadar ses paylaşmalarını sağlıyor.
Robust Discovery Systems için Pratik Bakışlar
Bir üretim hazır sistemi inşa etmek, radyo fiziğinin gerçek dünya kısıtlamaları, batarya kimyası ve işletim sistemi kısıtlamalarının üstesinden gelmek gerektirir.
Güç Tüketim Analizi Analizi
Radyo, bir BLE cihazı üzerinde en güçlendirici bileşenidir. Tipik bir BLE SoC aktif iletim veya resepsiyon sırasında 10-20 mA çizmektedir.
[0]Avg Power = (TX/RX Current) x Duty Döngüsü + (Sleep Current) x (1 - Duty Döngüsü)[Dönemli: 1)
1-İkinci reklam aralıklarında, görev döngüsü eksicule (yaklaşık% 0,5-1 milyon dolar) bir yıl boyunca bir CR2032 para hücresi bataryasına izin verir. 100 ms aralığı, görev döngüsünün% 1'i - bir kaç ay içinde azaltır.
İşletim Sistemi ve Platform Constraints
Mobil işletim sistemleri, batarya hayatını ve kullanıcı gizliliğini korumak için sert bir şekilde taramaya zorlamaktadır.
- [[DöneticiOS (El): [Dönetici: 0,0) Arka planda, Core Bluetooth tarama döngüsü çok daha az sıklıkta kısaltılır.TheurFLT:11) seçeneği büyük ölçüde arka planda göz ardı edilir.Appler, altyapı modlarını Info.plist olarak belirtmeli ve belirli Hizmet UUID'leri için taramak bataryayı azaltmak için son derece önerilir.
- [[Google: 0,0) Android (Google):[Dönetici: 0,0) Android 8+, arka plandaki uygulamaları taramak, bir önyükleme hizmeti (ön taramayı hedeflemek) veya kullanım için kullanım için gerekli olan 5,4 12+, Konum gibi bir çalışma süresi izin gerektirir.
Mühendisler, arka plan koşullarındaki her iki platformda keşif mantığını test etmeli, çünkü davranış genellikle foreground operasyonlarından önemli ölçüde farklı.
Coexistence ve Interference Management
2.4 GHz ISM grubu kalabalık bir alandır. Wi-Fi, Zigbee, Thread ve hatta mikrodalga fırınlar bunu mahvediyor:0) Adaptasyon Frekans Hopping (AFH)) veri kanalları üzerinde.
Geliştiriciler bunu azaltabilir:
- [[Dönetici Reklam[[[Dönetici:0)[[Dönetici:0))[[Döneticileri, ikincil veri iletimi için daha fazla kanal kullanan 5x)
- Reklam aralığının sağlanması, Wi-Fi beacons ile kalıcı çarpışmadan kaçınmak için yeterlidir.
- Kritik veriler yayınlandığında yazılım seviyesindeki yeniden geçiş veya acknowledgment'i uygulamak.
Sonuç: Keşif Handshake'yi Mastering
Verimli Bluetooth cihazı keşfi, "bağlantı" veya "bağlantılı" olmanın ikili bir durumu değildir. Paket tasarımı, güç yönetimi ve parametre ayarını içeren sürekli bir optimizasyon problemidir. Reklamveren, amaçlanan kullanım durumu için tasarlanmış bir şekilde varlığını yayınlamalıdır.
Reklam aralıkları, tarama görev döngüleri ve veri filtrelemesi ile birlikte, geliştiriciler kablosuz ekosistemin kalbinde değil, aynı zamanda tek bir batarya üzerinde yıllarca koşmak için yeterince güçlendirici bir sistem oluşturabileceklerdir.In Bluetooth teknolojisi Auracast ve yüksek kaliteli reklam kanalları ile gelişmeye devam ettikçe, kablosuz ekosistemin kalbinde kalacaktır.
Ayrıca okuma ve Kaynaklar
- [FONT=0)Mavi Çokt SIG Core Özellikler 5.4: [[D:2|Volume 6, Bölüm B - Link Katman[DÜyetim: 3)
- [FONT:0) Android BLE Genel Bakış:[Dönetici:0)Developer Guide for BLE Scanning and Reklam[Dönetici: 3)
- [FONT:0]iOS Core Bluetooth Programlama Kılavuzu: [FONTD:2).Forct Execution and State Restoration).
- [FONT:0)Punch Through BLE Basics:)] [FONT:2)Detail Technical Overview of BLE Architecture).
- [FONT:0]Auracast Yayın Sesi:[Dönemli: 1) [Dönetici:0)Auracast Yayın Sesi:[Dönemli Sese Giriş[Dönemli Ses[Dönemli Ses[Dönemli Sesler[Döneticiler)