BLE

Modul ini mencakup abstraksi platform untuk komunikasi BLE Host.

Ringkasan

Platform harus menerapkan Bluetooth LE 4.2 atau yang lebih tinggi.

Typedef

otBleRadioPacket typedef
Mewakili paket BLE.

Fungsi

otPlatBleDisable(otInstance *aInstance)
Nonaktifkan radio Bluetooth Hemat Energi.
otPlatBleEnable(otInstance *aInstance)
Aktifkan radio Bluetooth Hemat Energi.
otPlatBleGapAdvStart(otInstance *aInstance, uint16_t aInterval)
Memulai prosedur Iklan BLE.
otPlatBleGapAdvStop(otInstance *aInstance)
Menghentikan prosedur Iklan BLE.
otPlatBleGapDisconnect(otInstance *aInstance)
Memutuskan koneksi BLE.
otPlatBleGapOnConnected(otInstance *aInstance, uint16_t aConnectionId)
void
Driver BLE memanggil metode ini untuk memberi tahu OpenThread bahwa Perangkat Pusat BLE telah terhubung.
otPlatBleGapOnDisconnected(otInstance *aInstance, uint16_t aConnectionId)
void
Driver BLE memanggil metode ini untuk memberi tahu OpenThread bahwa Perangkat Pusat BLE telah terputus.
otPlatBleGattMtuGet(otInstance *aInstance, uint16_t *aMtu)
Saat ini membaca menggunakan nilai ATT_MTU.
otPlatBleGattOnMtuUpdate(otInstance *aInstance, uint16_t aMtu)
void
Driver BLE memanggil metode ini untuk memberi tahu OpenThread bahwa ATT_MTU telah diperbarui.
otPlatBleGattServerIndicate(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
Mengirimkan Indikasi Nilai Menangani ATT.
otPlatBleGattServerOnWriteRequest(otInstance *aInstance, uint16_t aHandle, const otBleRadioPacket *aPacket)
void
Driver BLE memanggil metode ini untuk memberi tahu OpenThread bahwa paket Permintaan Tulis ATT telah diterima.

Struct

otBleRadioPacket

Mewakili paket BLE.

Typedef

otBleRadioPacket

struct otBleRadioPacket otBleRadioPacket

Mewakili paket BLE.

Fungsi

otPlatBleDisable

otError otPlatBleDisable(
  otInstance *aInstance
)

Nonaktifkan radio Bluetooth Hemat Energi.

Saat dinonaktifkan, tumpukan BLE akan mengosongkan antrean peristiwa dan tidak menghasilkan peristiwa baru. Periferal BLE dinonaktifkan atau dialihkan ke dalam status tidur berdaya rendah. Setiap memori dinamis yang digunakan oleh stack harus dilepaskan, tetapi memori statis dapat tetap tersedia.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil bertransisi ke nonaktif.
OT_ERROR_FAILED
Radio BLE tidak dapat dinonaktifkan.

otPlatBleEnable

otError otPlatBleEnable(
  otInstance *aInstance
)

Aktifkan radio Bluetooth Hemat Energi.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil diaktifkan.
OT_ERROR_FAILED
Radio BLE tidak dapat diaktifkan.

otPlatBleGapAdvStart

otError otPlatBleGapAdvStart(
  otInstance *aInstance,
  uint16_t aInterval
)

Memulai prosedur Iklan BLE.

Perangkat BLE harus menggunakan iklan yang tidak diarahkan tanpa filter yang diterapkan. Satu paket Iklan BLE harus dikirim di semua saluran iklan (37, 38, dan 39).

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aInterval
Interval antara paket iklan berikutnya dalam unit OT_BLE_ADV_INTERVAL_UNIT. Akan berada dalam rentang OT_BLE_ADV_INTERVAL_MIN dan OT_BLE_ADV_INTERVAL_MAX atau OT_BLE_ADV_INTERVAL_DEFAULT untuk nilai default yang ditetapkan pada waktu kompilasi.
Nilai Pengembalian
OT_ERROR_NONE
Prosedur iklan telah dimulai.
OT_ERROR_INVALID_STATE
Perangkat BLE dalam status tidak valid.
OT_ERROR_INVALID_ARGS
Nilai interval yang diberikan tidak valid.

otPlatBleGapAdvStop

otError otPlatBleGapAdvStop(
  otInstance *aInstance
)

Menghentikan prosedur Iklan BLE.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
Nilai Pengembalian
OT_ERROR_NONE
Prosedur iklan telah dihentikan.
OT_ERROR_INVALID_STATE
Perangkat BLE dalam status tidak valid.

otPlatBleGapDisconnect

otError otPlatBleGapDisconnect(
  otInstance *aInstance
)

Memutuskan koneksi BLE.

Perangkat BLE harus menggunakan kode alasan Remote User Terminated Connection (0x13) saat memutuskan koneksi dari perangkat BLE peer..

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
Nilai Pengembalian
OT_ERROR_NONE
Prosedur pemutusan koneksi telah dimulai.
OT_ERROR_INVALID_STATE
Perangkat BLE dalam status tidak valid.

otPlatBleGapOnConnected

void otPlatBleGapOnConnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

Driver BLE memanggil metode ini untuk memberi tahu OpenThread bahwa Perangkat Pusat BLE telah terhubung.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aConnectionId
ID koneksi terbuka.

otPlatBleGapOnDisconnected

void otPlatBleGapOnDisconnected(
  otInstance *aInstance,
  uint16_t aConnectionId
)

Driver BLE memanggil metode ini untuk memberi tahu OpenThread bahwa Perangkat Pusat BLE telah terputus.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aConnectionId
ID koneksi tertutup.

otPlatBleGattMtuGet

otError otPlatBleGattMtuGet(
  otInstance *aInstance,
  uint16_t *aMtu
)

Saat ini membaca menggunakan nilai ATT_MTU.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[out] aMtu
Pointer untuk menghasilkan nilai ATT_MTU saat ini.
Nilai Pengembalian
OT_ERROR_NONE
Nilai ATT_MTU telah ditempatkan di aMtu.
OT_ERROR_FAILED
Perangkat BLE tidak dapat menentukan ATT_MTU-nya.

otPlatBleGattOnMtuUpdate

void otPlatBleGattOnMtuUpdate(
  otInstance *aInstance,
  uint16_t aMtu
)

Driver BLE memanggil metode ini untuk memberi tahu OpenThread bahwa ATT_MTU telah diperbarui.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aMtu
Nilai ATT_MTU yang diperbarui.

otPlatBleGattServerIndicate

otError otPlatBleGattServerIndicate(
  otInstance *aInstance,
  uint16_t aHandle,
  const otBleRadioPacket *aPacket
)

Mengirimkan Indikasi Nilai Menangani ATT.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aHandle
Handel atribut yang akan ditunjukkan.
[in] aPacket
Pointer ke paket berisi nilai yang akan ditunjukkan.
Nilai Pengembalian
OT_ERROR_NONE
Indikasi Nilai Menangani ATT telah dikirim.
OT_ERROR_INVALID_STATE
Perangkat BLE dalam status tidak valid.
OT_ERROR_INVALID_ARGS
Nilai handle, panjang data atau data yang diberikan tidak valid.
OT_ERROR_NO_BUFS
Tidak ditemukan buffer internal.

otPlatBleGattServerOnWriteRequest

void otPlatBleGattServerOnWriteRequest(
  otInstance *aInstance,
  uint16_t aHandle,
  const otBleRadioPacket *aPacket
)

Driver BLE memanggil metode ini untuk memberi tahu OpenThread bahwa paket Permintaan Tulis ATT telah diterima.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aHandle
Handel atribut yang akan ditulis.
[in] aPacket
Pointer ke paket berisi nilai yang akan ditulis ke atribut.

Makro

OT_BLE_ADV_INTERVAL_DEFAULT

 OT_BLE_ADV_INTERVAL_DEFAULT 100

Interval default untuk paket iklan (md).

OT_BLE_ADV_INTERVAL_MAX

 OT_BLE_ADV_INTERVAL_MAX 0x4000

Interval maksimum yang diizinkan untuk paket iklan dalam unit OT_BLE_ADV_INTERVAL_UNIT (10,24 dtk).

OT_BLE_ADV_INTERVAL_MIN

 OT_BLE_ADV_INTERVAL_MIN 0x0020

Interval minimum yang diizinkan untuk paket iklan dalam unit OT_BLE_ADV_INTERVAL_UNIT (20 md).

OT_BLE_ADV_INTERVAL_UNIT

 OT_BLE_ADV_INTERVAL_UNIT OT_BLE_TIMESLOT_UNIT

Satuan yang digunakan untuk menghitung durasi interval (0,625 md).

OT_BLE_ATT_MTU_MAX

 OT_BLE_ATT_MTU_MAX 67

Ukuran MTU ATT maksimum yang diizinkan (harus >= 23).

OT_BLE_DEFAULT_POWER

 OT_BLE_DEFAULT_POWER 0

Nilai daya default untuk BLE.

OT_BLE_TIMESLOT_UNIT

 OT_BLE_TIMESLOT_UNIT 625

Durasi slot waktu pada lapisan PHY dalam mikrodetik (0,625 md).

Referensi

Topik Referensi OpenThread API berasal dari kode sumber yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.