BLE-də Advertising: bu nədir, paket formatları və reklam mexanizmləri

Müəllif: IT Sectr Dərc olunub: 2026-07-15 Oxuma vaxtı: 11 dəq

Advertising (reklam) — bu Bluetooth Low Energy-də bir mexanizmdir ki, Peripheral cihazı öz varlığı barədə məlumat verir, üç ayrılmış kanalda (37, 38, 39) qısa məlumat paketləri göndərir. Bluetooth Core Specification 5.4 (2023) iki reklam növü müəyyən edir: connectable — cihaz qoşulmağa hazırdır, və non-connectable — yalnız məlumat ötürən mayaklar (Beacon) tərəfindən istifadə olunur, ikitərəfli əlaqə qurmadan. Reklam parametrləri — interval 20 ms-dən 10.24 s-ə qədər, ötürücü gücü -20-dən +10 dBm-ə qədər və paket növü — cihazın aşkarlanma sürətinə və enerji istehlakına birbaşa təsir edir ki, bu da batareya ilə işləyən IoT cihazlarının hazırlanmasında kritik əhəmiyyət daşıyır.

Əsas məqamlar

  • Advertising — BLE cihazlarının aşkarlanmasının əsas mexanizmi, üç ayrılmış kanalda 37, 38 və 39-da işləyir.
  • Standart reklam paketi 31 bayt məlumatla məhdudlaşır, extended advertising (BLE 5.0) limiti 251 bayta qədər artırır.
  • Connectable advertising Central-a cihaza qoşulmağa imkan verir, non-connectable — yalnız birtərəfli ötürmə (mayaklar).
  • Reklam intervalı enerji istehlakına təsir edir: 1000 ms intervalında orta cərəyan 100 ms-dən 10 dəfə aşağıdır.
  • Scan response Central-ın sorğusuna cavab olaraq əlavə 31 bayt məlumat ötürməyə imkan verir.

BLE-də Advertising nədir?

Advertising (reklam) — bu BLE cihazının öz varlığı və əlçatanlığı barədə məlumat verdiyi dövri qısa məlumat paketlərinin göndərilməsi prosesidir. Klassik Bluetooth-dan fərqli olaraq, orada cihaz axtarışı saniyələr çəkir, BLE advertising cihazı millisaniyələr ərzində aşkarlamağa imkan verir, minimal enerji sərf edərək.

BLE arxitekturası cihazları iki rola ayırır: Peripheral (reklam edir) və Central (skan edir). Peripheral advertising paketləri göndərir, Central isə kanalı skan edir və qoşulma qərarı verir. Bu asimmetrik model BLE-nin əsas üstünlüyüdür: reklam edən cihaz enerjini yalnız qısa paketlər göndərməyə sərf edir, daimi kanal dinləməyə yox.

Advertising prosesi üç mərhələdən ibarətdir: advertising event (paketin hər üç kanalda göndərilməsi), scan request/response (Central ilə opsional mübadilə) və connection request (Central tərəfindən qoşulmanın başladılması). Hər mərhələ Link Layer səviyyəsində Bluetooth Controller tərəfindən idarə olunur.

Reklam kanalları və onların təyinatı

BLE 40 kanaldan istifadə edir 2.4 GHz diapazonunda, bunlardan 37 (2402 MHz), 38 (2426 MHz) və 39 (2480 MHz) yalnız advertising üçün ayrılmışdır. Üç kanal — etibarlı aşkarlama və ötürmə qabiliyyəti arasında kompromisdir: bir kanal Wi-Fi və ya digər müdaxilələrlə məşğul ola bilər, lakin cihaz digər iki kanalda aşkarlanacaq.

Kanal 37 Wi-Fi kanalı 1-in yanında, kanal 39 — Wi-Fi kanalı 6-nın yanında, kanal 38 isə onların arasında, minimal müdaxilə zonasında yerləşir. Üç kanalın seçimi cihazın sıx radio mühitində belə aşkarlanacağına zəmanət verir — məsələn, onlarla Wi-Fi giriş nöqtəsi olan ticarət mərkəzində.

Peripheral advertising paketini ardıcıl olaraq hər üç kanalda göndərir — bu advertising event adlanır. Mərkəzi cihaz bir dəfəyə bir kanalı skan edir, Bluetooth Controller-də həyata keçirilən alqoritmə uyğun olaraq onlar arasında keçid edir. Toqquşmalar olmadıqda bir advertising event ərzində aşkarlanma ehtimalı 100%-ə yaxındır.

Reklam paketlərinin növləri

Bluetooth Core Specification bir neçə advertising PDU (Protocol Data Unit) növü müəyyən edir, hər biri öz təyinatı ilə. Əsas növlər: ADV_IND (connectable undirected advertising) — qoşulma imkanı olan standart reklam, ADV_NONCONN_IND (non-connectable undirected advertising) — yalnız qoşulmasız reklam, ADV_SCAN_IND (scannable undirected advertising) — scan request-i dəstəkləyir, ADV_DIRECT_IND (directed advertising) — müəyyən Central üçün reklam.

ADV_IND — ən geniş yayılmış növ, əksər BLE cihazlarında istifadə olunur. ADV_IND aldıqdan sonra Central connection request göndərə və qoşulma qura bilər. ADV_NONCONN_IND mayaklar (Beacon) tərəfindən istifadə olunur: cihaz reklam edir, lakin qoşulma sorğuları qəbul etmir — yalnız birtərəfli məlumat ötürmə.

PDU növüTəsvirQoşulmaScan response
ADV_INDStandart reklamBəliBəli
ADV_DIRECT_INDMüəyyən Central üçün reklamBəliXeyr
ADV_NONCONN_INDQoşulmasız (mayaklar)XeyrXeyr
ADV_SCAN_INDSkan dəstəyi iləBəliBəli
ADV_EXT_INDExtended advertising (BLE 5.0)BəliBəli

ADV_DIRECT_IND hədəf Central-ın ünvanını ehtiva edir ki, bu da skan gözləmədən tez qoşulmağa imkan verir. Cihazlar artıq bir-birini “tanıdıqda” istifadə olunur — məsələn, əvvəllər qoşulmuş smartfona yenidən qoşularkən. Bu növ enerji istehlakını azaldır, çünki bütün kanallarda reklam tələb etmir.

Reklam intervalı və enerji istehlakı

Advertising interval — ardıcıl advertising event-lər arasındakı vaxtdır. Spesifikasiya 20 ms-dən 10.24 s-ə qədər intervala 0.625 ms addımı ilə icazə verir. Real interval sabit dəyər və təsadüfi gecikmənin (0–10 ms) cəmi kimi hesablanır ki, bu da bir neçə reklam edən cihaz arasında toqquşma ehtimalını azaldır.

Interval seçimi aşkarlanma sürətienerji istehlakı arasında balansdır. 20 ms intervalında cihaz 20–30 ms ərzində aşkarlanacaq, lakin orta cərəyan təxminən 1–2 mA olacaq. 1000 ms intervalında — aşkarlanma 1 saniyəyə qədər çəkəcək, lakin orta cərəyan 50–100 μA-a düşəcək. Əksər IoT cihazları üçün tövsiyə olunan interval 200–1000 ms-dir.

Texas Instruments Application Report SWRA478 (2024) məlumatına görə, advertising intervalının 100 ms-dən 1000 ms-ə artırılması enerji istehlakını 90% azaldır. Əgər cihaz dərhal aşkarlanma tələb etmirsə (məsələn, dəqiqədə bir məlumat göndərən temperatur sensoru), optimal interval 1000–2000 ms-dir.

Əlavə parametr — advertising timeout — cihazın reklam etdiyi maksimum vaxtdır. iOS-da Peripheral fon rejimində 180 saniyədən sonra reklamı avtomatik söndürür. Android-də məhdudiyyət yoxdur, lakin istehsalçılar öz limitlərini əlavə edə bilər.

Scan Response: əlavə məlumatlar

Scan Response — Peripheral tərəfindən Central-dan scan request-ə cavab olaraq göndərilən əlavə məlumat paketidir (31 bayta qədər). Scan request Central tərəfindən advertising paketi aldıqdan sonra göndərilir, əgər qoşulmadan əvvəl daha çox məlumat lazımdırsa. Scan Response əlavə reklam tələb etmir — yalnız sorğu əsasında göndərilir, kanala qənaət edərək.

Tipik məlumat bölgüsü: advertising PDU-da (31 bayt) flaqalar (3 bayt), xidmət UUID-ləri (2–16 bayt) və istehsalçı məlumatları (qalan baytlar) yerləşdirilir. Scan response-da cihazın tam adı (28 bayta qədər) və əlavə UUID-lər və ya TX Power Level ötürülür. Bu bölgü Central-a scan response oxumadan UUID üzrə cihazları tez filtrləməyə imkan verir.

Advertising paketini layihələndirərkən nəzərə alın: əgər advertising PDU-da bütün 31 bayt məşğuldursa, Central cihazın scan response dəstəklədiyini müəyyən edə bilməyəcək. Advertising PDU-da scan response qabiliyyətini göstərmək üçün ən azı 3–5 bayt boş buraxmaq tövsiyə olunur.

BLE 5.0-da Extended Advertising

Extended Advertising (BLE 5.0) — reklam mexanizminin genişləndirilməsidir ki, advertising paketinin ölçüsünü 31-dən 251 bayta qədər artırır və yeni paket növləri əlavə edir. Extended Advertising həmçinin açıq ərazidə əlaqə məsafəsini 1 km-ə qədər artırmaq üçün coded PHY-ni və bir neçə Central-ın sinxronizasiyası üçün dövri reklamı (Periodic Advertising) dəstəkləyir.

Əsas yeniliklər: ADV_EXT_IND — bir paketdə 251 bayta qədər məlumat ötürə bilən extended advertising PDU. Extended Advertising ilkin kanallardan (37, 38, 39) yalnız tam məlumatların hansı ikinci dərəcəli kanalda (0–36) ötürüldüyünü göstərmək üçün istifadə edir. Bu reklam kanallarına yükü azaldır və sistemin ümumi ötürmə qabiliyyətini artırır.

Periodic Advertising — Peripheral-ın ikinci dərəcəli kanallarda sabit intervalla məlumat göndərdiyi və Central-ın bu ardıcıllıqla sinxronlaşa bildiyi əlavə mexanizmdir. Müntəzəm məlumat yeniləməsi tələb edən xidmətlər üçün istifadə olunur — məsələn, audio yayımı və ya real vaxtda sensor göstəriciləri.

ParametrBLE standartıExtended BLE 5.0
Maks. paket ölçüsü31 bayt251 bayt
KanallarYalnız 37, 38, 39+ ikinci dərəcəli 0–36
Məsafə100 m-ə qədər1000 m-ə qədər (coded PHY)
Sürət1 Mbps125 kbps – 2 Mbps
PeriodicXeyrBəli

iOS və Android-də reklamın qurulması

iOS (Core Bluetooth) reklamı idarə etmək üçün CBPeripheralManager təqdim edir. Advertising parametrləri CBAdvertisementDataLocalNameKey (cihaz adı), CBAdvertisementDataServiceUUIDsKey (xidmət UUID-ləri), CBAdvertisementDataTxPowerLevelKey (güc) açarları ilə advertisementData lüğəti vasitəsilə təyin edilir. iOS advertising intervalını avtomatik idarə edir və onun əl ilə qurulmasına icazə vermir.

swift
import CoreBluetooth

class AdvertiserManager: NSObject, CBPeripheralManagerDelegate {

    private var peripheralManager: CBPeripheralManager!

    func startBLEAdvertising() {
        let data: [String: Any] = [
            CBAdvertisementDataLocalNameKey: "BLE Beacon",
            CBAdvertisementDataServiceUUIDsKey: [
                CBUUID("180F")
            ],
            CBAdvertisementDataIsConnectable: true
        ]
        peripheralManager.startAdvertising(data)
    }
}

Android (BluetoothLeAdvertiser) daha ətraflı nəzarət təmin edir. Əlçatandır: AdvertiseSettings — rejimin (LOW_POWER, BALANCED, LOW_LATENCY), ötürücü gücünün və intervalın qurulması; AdvertiseData — paket məlumatları. Android uyğun cihazlarda extended advertising (BLE 5.0) dəstəkləyir, lakin bazarda belə cihazların payı təxminən 30–40% təşkil edir.

java
BluetoothLeAdvertiser advertiser =
    BluetoothAdapter.getDefaultAdapter()
    .getBluetoothLeAdvertiser();

AdvertiseSettings settings = new AdvertiseSettings.Builder()
    .setAdvertiseMode(
        AdvertiseSettings.ADVERTISE_MODE_LOW_POWER
    )
    .setTxPowerLevel(
        AdvertiseSettings.ADVERTISE_TX_POWER_MEDIUM
    )
    .build();

AdvertiseData data = new AdvertiseData.Builder()
    .setIncludeDeviceName(true)
    .addServiceUuid(new ParcelUuid(
        UUID.fromString(
            "0000180F-0000-1000-8000-00805F9B34FB"
        )
    ))
    .build();

advertiser.startAdvertising(
    settings, data, advertiseCallback
);

Platformalararası BLE tətbiqi hazırlayarkən fərqləri nəzərə alın: iOS advertising intervalını birbaşa idarə etməyə imkan vermir, lakin bütün cihazlarda sabit işləməyə zəmanət verir; Android tam nəzarət təmin edir, lakin versiya və istehsalçıların parçalanması uyğunsuzluğa səbəb ola bilər. Hər iki platformanın real cihazlarında advertising-i sınaqdan keçirmək tövsiyə olunur.

Tez-tez verilən suallar

Connectable və non-connectable advertising arasında nə fərq var?

Connectable advertising (ADV_IND) Central-a cihazla ikitərəfli əlaqə qurmağa imkan verir. Non-connectable (ADV_NONCONN_IND) — yalnız birtərəfli məlumat ötürmə, qoşulma imkanı olmadan identifikator yayımlamaq üçün mayaklar (Beacon) tərəfindən istifadə olunur.

Reklam paketində neçə bayt ötürmək olar?

Standart advertising paketi — 31 bayt, scan response — daha 31 bayt. Extended Advertising (BLE 5.0+) məlumat ötürmək üçün ikinci dərəcəli kanallardan istifadə edərək limiti 251 bayta qədər artırır.

IoT cihazı üçün hansı advertising intervalı seçməli?

Əksər IoT cihazları üçün 500–1000 ms tövsiyə olunur. Sürətli aşkarlanma tələb olunarsa (məsələn, qulaqlıq qoşmaq üçün) — 20–50 ms. Nadir məlumat göndərən sensorlar üçün enerjiyə qənaət üçün 1000–2000 ms.

BLE niyə üç reklam kanalından istifadə edir?

Üç kanal (37, 38, 39) aşkarlanma etibarlılığı və ötürmə qabiliyyəti arasında kompromisdir. Bir kanal Wi-Fi ilə məşğul ola bilər, lakin cihaz digər ikisində aşkarlanacaq. Kanal 38 Wi-Fi kanalları arasında minimal müdaxilə zonasında yerləşir.

Advertising avtonom iş vaxtına necə təsir edir?

Advertising BLE-də əsas enerji istehlakçısıdır. 1000 ms intervalında orta cərəyan 50–100 μA təşkil edir ki, bu da cihazın CR2032 batareyası ilə bir il işləməsinə imkan verir. 20 ms intervalında cərəyan 1–2 mA-a qədər artır, iş müddətini bir neçə həftəyə endirir.

Nəticə

  • Advertising — üç kanalda (37, 38, 39) 31 bayta qədər paket ölçüsü ilə işləyən BLE cihazlarının aşkarlanma mexanizmi.
  • Beş növ advertising PDU mövcuddur: ADV_IND, ADV_DIRECT_IND, ADV_NONCONN_IND, ADV_SCAN_IND və BLE 5.0 üçün ADV_EXT_IND.
  • Reklam intervalı 20 ms-dən 10.24 s-ə qədər dəyişir və birbaşa cihazın aşkarlanma sürətinə və enerji istehlakına təsir edir.
  • Scan Response Central-ın sorğusu əsasında Peripheral-in enerji istehlakını artırmadan əlavə 31 bayt məlumat təqdim edir.
  • Extended Advertising (BLE 5.0) paketi 251 bayta qədər artırır və coded PHY vasitəsilə 1 km-ə qədər məsafəni dəstəkləyir.
  • iOS-da advertising CBPeripheralManager vasitəsilə idarə olunur, Android-də — BluetoothLeAdvertiser ilə ətraflı parametrlərlə.
  • Advertising intervalı və paket növünün düzgün seçimi BLE cihazının enerji səmərəliliyini və avtonom iş müddətini müəyyən edir.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun