Android 16 memperkenalkan Modul pengukuran jarak. Spesifikasi protokol dan payload ini menentukan urutan pesan dan payload komunikasi di luar band (OOB) yang digunakan untuk bertukar konfigurasi pengukuran jarak, serta untuk memulai dan menghentikan pengukuran jarak, antara perangkat inisiator dan perangkat responder yang melakukan pengukuran jarak. Android 16 QPR3 memperkenalkan spesifikasi versi 2 ini.
Tujuan utama halaman ini adalah memungkinkan penyedia perangkat non-Android menerapkan spesifikasi ini sehingga perangkat mereka dapat kompatibel untuk pengukuran jarak dengan perangkat Android.
Implementasi spesifikasi ini di Packet Description Language (PDL) Google tersedia di GitHub. Dari penerapan ini, compiler PDL dapat membuat kode serialisasi dan deserialisasi untuk pesan yang ditentukan dalam spesifikasi ini. Ini mendukung berbagai bahasa target termasuk C++, Rust, dan Java.
Yang baru di versi 2
Spesifikasi OOB versi 2 memperkenalkan perubahan berikut:
- Transisi teknologi: Memungkinkan peralihan dinamis antara teknologi pengukuran jarak selama sesi aktif tanpa mengganggu aliran data.
- Respons Kemampuan Pengukuran Jarak
- Mencakup kolom
Supported technology transitioningbaru untuk menunjukkan dukungan bagi transisi teknologi make-before-break. - Mencakup kolom
Device typebaru yang dapat digunakan pemrakarsa untuk mengoptimalkan konsumsi daya antarperangkat.
- Mencakup kolom
Endianness
Kecuali jika ditentukan lain, semua kolom numerik multi-byte dalam pesan berada dalam urutan little-endian.
Pesan dan urutan pesan
Bagian ini menjelaskan pesan dan urutan pertukaran pesan.
Tabel berikut menunjukkan semua pesan yang ada dalam pertukaran OOB:
| Pesan | ID Pesan |
|---|---|
Ranging Capability Request |
0x0 |
Ranging Capability Response |
0x1 |
Ranging Configuration |
0x2 |
Ranging Configuration Response (opsional) |
0x3 |
Stop Ranging |
0x6 |
Stop Ranging Response (opsional) |
0x7 |
Seperti yang ditunjukkan pada Gambar 1 dan 2, cara pertukaran pesan dipicu bergantung pada saluran komunikasi.
Untuk saluran komunikasi berbasis koneksi seperti BLE GATT, pertukaran
pesan dimulai dengan perangkat inisiator yang mengirim Ranging Capability Request
ke perangkat responder. Perangkat responden membalas dengan mengirim Ranging
Capability Response, seperti yang ditunjukkan pada Gambar 1:
Gambar 1. Pertukaran pesan OOB menggunakan saluran komunikasi berbasis koneksi.
Untuk saluran komunikasi berbasis iklan, perangkat responder memulai dengan
mengiklankan Ranging Capability. Dalam hal ini, Ranging Capability Request
tidak dikirim dari perangkat yang memulai. Sebagai gantinya, setelah mendeteksi
iklan, saat perangkat yang memulai (pemindai awal) siap, perangkat tersebut
merespons dengan mengiklankan Ranging Configuration sebagai pesan pertamanya, seperti yang ditunjukkan
pada Gambar 2:
Gambar 2. Pertukaran pesan OOB menggunakan komunikasi berbasis iklan.
Pertukaran pesan lainnya sama dalam kedua kasus. Perangkat responder
akan segera memulai pengukuran jarak setelah menerima pesan Ranging Configuration.
Perangkat responder berhenti melakukan pengukuran jarak setelah menerima atau mendeteksi pesan Stop
Ranging.
Dalam alur berbasis koneksi, perangkat responder mengisi kemampuan
hanya teknologi pengukuran jarak yang diminta dalam pesan Ranging Capability Request, sedangkan dalam alur iklan, perangkat responder harus mencantumkan semua
kemampuannya karena tidak ada pesan permintaan kemampuan sebelumnya.
Perangkat pemrakarsa mengasumsikan bahwa perangkat tersebut hanya akan menerima satu respons untuk setiap pesan permintaan yang dikirimkannya. Perangkat yang merespons tidak boleh membuat asumsi semacam itu sehingga
dapat merespons permintaan apa pun dalam urutan apa pun. Hal ini memverifikasi bahwa perangkat
responder dapat merespons beberapa pesan Ranging Capability Request
berurutan, atau pesan lain yang tidak berurutan, dari perangkat inisiator.
Transisi teknologi
Spesifikasi OOB versi 2 memperkenalkan dukungan eksplisit untuk transisi teknologi. Hal ini memungkinkan perangkat bertransisi secara dinamis di antara teknologi pengukuran jarak yang berbeda selama sesi. Untuk memfasilitasi hal ini, pemrakarsa dapat:
- Kirim beberapa pesan
Ranging Configurationuntuk memulai teknologi baru. - Kirim beberapa pesan
Stop Ranginguntuk menghentikan teknologi aktif.
Urutan pesan ini bervariasi, bergantung pada skema transisi yang didukung oleh responder:
- Break-before-make: Pemrakarsa hanya dapat bertransisi ke teknologi baru
dengan menghentikan yang pertama menggunakan pesan
Stop Rangingsebelum memulai yang kedua menggunakan pesanRanging Configuration. - Make-before-break: Pemrakarsa dapat memulai teknologi baru menggunakan pesan
Ranging Configurationsebelum menghentikan teknologi yang ada dengan pesanStop Ranging.
Responder harus menerapkan dukungan untuk salah satu skema transisi ini sesuai dengan nilai kolom supported technology transitioning di Capability Response-nya.
ID teknologi pengukuran jarak
ID teknologi pengukuran jarak tercantum dalam tabel berikut:
| Teknologi pengukuran jarak | ID |
|---|---|
| UWB | 0x0 |
| CS | 0x1 |
| RTT NAN Wi-Fi | 0x2 |
| RSSI | 0x3 |
| RFU | 0x4 - 0xFF |
ID ini digunakan dalam tabel berikut jika ID teknologi pengukuran jarak diperlukan. Untuk kolom yang berisi bitfield teknologi pengukuran jarak, bit yang sesuai dengan indeks ID teknologi ditetapkan saat teknologi tersebut disertakan dalam bitfield.
Misalnya, RSSI memiliki nilai ID 3, tetapi jika RSSI disertakan dalam bitfield teknologi pengukuran jarak, maka bit dengan posisi ID (3) harus diaktifkan (bit pertama berada di posisi 0), sehingga nilai bitfield yang dihasilkan adalah 0x8. Jika UWB dan RSSI disertakan, nilai bitfield adalah 0x0A (bit 0 dan 3 diaktifkan).
Format pesan
Setiap pesan terdiri dari header dan payload.
Gambar 3. Format pesan.
Header
Ukuran: 2 byte
Deskripsi: Umum di semua pesan, header adalah bagian pertama yang
masuk ke dalam pesan. Header berisi versi dan ID jenis pesan. Kolom versi menentukan versi spesifikasi yang dipatuhi oleh konten pesan. Versi spesifikasi ini saat ini adalah
2. Untuk mengetahui informasi selengkapnya tentang cara penggunaan pembuatan versi di antara perangkat dengan versi yang berbeda, lihat Pembuatan versi. Header tetap kompatibel mundur di berbagai versi, yang berarti kasus penggunaan selalu dapat menguraikannya untuk menentukan versi dan ID pesan.
Header diringkas dalam tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8 | Versi |
|
| 1 | unit8 | ID Pesan |
|
Payload
Ukuran: Bervariasi (bergantung pada jenis pesan)
Deskripsi: Payload adalah bagian terakhir dari pesan, setelah header. Payload bergantung pada jenis pesan. Format payload setiap jenis pesan individual ditentukan di bagian berikut.
Payload pesan Permintaan Kemampuan Pengukuran Jarak
Ukuran (ukuran header tidak disertakan): 2 byte
Deskripsi: Dikirim oleh perangkat pemrakarsa untuk memulai pertukaran pesan.
Pesan ini bersifat opsional jika saluran komunikasi didasarkan pada iklan,
dalam hal ini perangkat responden diwajibkan untuk mengiklankan pesan Ranging
Capability sebagai langkah pertama. Perangkat inisiator (pemindai awal) membaca iklan dan langsung merespons dengan pesan Ranging Capability, sehingga tidak memerlukan pesan ini.
Payload pesan Ranging Capability Request diringkas dalam tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8*2 | Bitfield teknologi pengukuran jarak yang diminta |
|
Payload pesan Respons Kemampuan Pengukuran Jarak
Ukuran (ukuran header tidak disertakan): Bervariasi (bagian umum 2 byte ditambah ukuran setiap byte teknologi yang disertakan)
Deskripsi: Dikirim oleh responden sebagai respons terhadap pesan Ranging Capability
Request. Payload pesan ini terdiri dari bagian umum, dan bagian khusus teknologi pengukuran jarak (BLE CS, Wi-Fi NAN RTT, BLE RSSI), seperti yang ditunjukkan dalam tabel berikut. Setiap bagian khusus teknologi pengukuran jarak harus ditambahkan hanya jika teknologi pengukuran jarak tersebut didukung oleh perangkat responder dan diminta dalam pesan Ranging Capability Request. Dalam kasus saluran komunikasi iklan, semua teknologi pengukuran jarak yang didukung harus disertakan.
Payload pesan Ranging Capability Response umum diringkas dalam
tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8*2 | Bitfield teknologi pengukuran jarak yang didukung. Menunjukkan serangkaian kemampuan teknologi pengukuran jarak yang mengikuti di bagian payload lainnya. |
|
| 2 | array byte | Byte kemampuan teknologi pengukuran jarak. | Blok struct berulang yang ditentukan per teknologi. |
| Bervariasi | uint8 | Menunjukkan dukungan untuk transisi teknologi. |
|
| Bervariasi | uint16 | Menunjukkan jenis perangkat yang merespons. |
|
Payload pesan UWB Ranging Capability Response diringkas dalam
tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8 | ID teknologi pengukuran jarak | 0x0 - UWB |
| 1 | uint8 | Ukuran | Ukuran byte kemampuan UWB (termasuk kolom Technology ID dan Size) dalam byte. |
| 2 | uint8*2 | Alamat UWB | Alamat UWB perangkat 2 byte. |
| 4 | uint8*4 | Bitfield saluran yang didukung | Bitfield saluran yang didukung. Bit yang ditetapkan ke 0 menunjukkan tidak didukung, 1 menunjukkan didukung. Bit 0 sesuai dengan channel 0.LSB == channel 0MSB == channel 31 |
| 8 | uint8*4 | Bitfield indeks pembuka yang didukung | Bitfield indeks preamble yang didukung. Bit yang ditetapkan ke 0 menunjukkan tidak didukung, 1 menunjukkan didukung. Bit 0 sesuai dengan indeks preamble 1.LSB == preamble index 1MSB == preamble index 32 |
| 12 | uint8*4 | Bitfield ID konfigurasi yang didukung | Bitfield ID konfigurasi UWB yang didukung. Bit yang disetel ke 0 menunjukkan tidak didukung, 1 menunjukkan didukung.LSB == config Id 0> MSB == config Id 31 |
| 16 | uint8*2 | Interval pengukuran jarak minimum yang didukung | Menunjukkan interval pengukuran jarak tercepat yang didukung dalam milidetik. Nilai yang diizinkan (dalam ms):
|
| 18 | uint8 | Durasi slot minimum yang didukung | Menunjukkan durasi slot terkecil yang didukung dalam milidetik. Misalnya, jika perangkat menampilkan 1 md, maka diasumsikan perangkat juga mendukung durasi slot 2 md+. Nilai yang diizinkan (dalam ms):
|
| 19 | Bitfield peran perangkat UWB yang didukung | Bitfield peran UWB yang didukung. Misalnya, jika keduanya mendukung, nilai kolom akhir adalah 0x3.
|
Payload pesan Ranging Capability Response BLE CS diringkas dalam
tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8 | ID teknologi pengukuran jarak | 0x1 - BLE CS |
| 1 | uint8 | Ukuran | Ukuran byte kemampuan CS BLE (termasuk kolom Technology ID dan Size) dalam byte. |
| 2 | uint8 | Bitfield jenis keamanan yang didukung | Bitfield jenis keamanan yang didukung untuk BLE CS.
|
| 3 | uint8*6 | Alamat perangkat | Alamat perangkat yang digunakan untuk CS BLE; dalam urutan big-endian. |
Payload pesan RTT NAN Wi-Fi Ranging Capability Response diringkas
dalam tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8 | ID teknologi pengukuran jarak | 0x2 - Wi-Fi NAN RTT |
| 1 | uint8 | Ukuran | Ukuran byte kemampuan RSSI BLE (termasuk kolom Technology ID dan Size) dalam byte. |
| 2 | uint8 | Bitfield fitur yang didukung | Bitfield fitur yang didukung.
|
| 3 | uint8 | Mendukung pengukuran jarak berkala |
|
| 4 | uint8 | Bandwidth yang didukung | Informasi ini membantu mendapatkan akurasi pengukuran jarak yang dapat dicapai menggunakan Wi-Fi NAN dan dapat membantu aplikasi menentukan apakah akan menggunakan UWB, BLE CS, BLE RSSI, atau Wi-Fi NAN untuk pengukuran jarak.
|
| 5 | uint8 | Jumlah rantai penerimaan yang didukung | Informasi ini membantu mendapatkan akurasi pengukuran jarak yang dapat dicapai menggunakan Wi-Fi NAN dan dapat membantu aplikasi menentukan apakah akan menggunakan UWB, BLE CS, BLE RSSI, atau Wi-Fi NAN untuk pengukuran jarak.
|
Payload pesan BLE RSSI Ranging Capability Response diringkas dalam tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8 | ID teknologi pengukuran jarak | 0x3 - BLE RSSI |
| 1 | uint8 | Ukuran | Ukuran byte kemampuan RSSI BLE (termasuk kolom Technology ID dan Size) dalam byte |
| 2 | uint8*6 | Alamat perangkat | Alamat perangkat yang digunakan untuk BLE RSSI; dalam urutan big-endian |
Payload pesan Konfigurasi Pengukuran Jarak
Ukuran (ukuran header tidak disertakan): Bervariasi (bagian umum 4 byte ditambah ukuran setiap byte teknologi rentang yang disertakan).
Deskripsi: Pesan ini dikirim oleh pemrakarsa dan berisi konfigurasi yang dapat digunakan setiap teknologi pengukuran jarak untuk memulai pengukuran jarak. Perangkat responder harus mencoba memulai pengukuran jarak dengan setiap teknologi pengukuran jarak yang ditunjukkan setelah menerima pesan ini. Payload pesan ini terdiri dari bagian umum, dan bagian khusus teknologi pengukuran jarak (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI), seperti yang ditunjukkan dalam tabel berikut.
Payload pesan Ranging Configuration umum diringkas dalam
tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8*2 | Bitfield set konfigurasi teknologi pengukuran jarak | Bitfield teknologi pengukuran jarak yang berisi data konfigurasi untuk pesan ini dan parameter konfigurasi yang harus ditetapkan.
|
| 2 | uint8*2 | Bitfield | RFU. Harus ditetapkan ke nilai yang sama dengan kolom Bitfield set konfigurasi teknologi pengukuran jarak. |
| 4 | array byte | Byte konfigurasi teknologi pengukuran jarak | Blok struct berulang yang ditentukan per teknologi |
Payload pesan Ranging Configuration UWB diringkas dalam tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8 | ID teknologi pengukuran jarak | 0x0 - UWB |
| 1 | uint8 | Ukuran | Ukuran konfigurasi UWB (termasuk kolom ID Teknologi dan Ukuran) dalam byte |
| 2 | uint8*2 | Alamat UWB | Alamat UWB perangkat 2 byte |
| 4 | uint8*4 | ID Sesi | ID sesi yang dihasilkan. ID sesi adalah ID unik untuk sesi pengukuran jarak antara ponsel dan perangkat periferal. |
| 8 | uint8 | ID konfigurasi yang dipilih | Nomor ID konfigurasi yang dipilih dalam bilangan bulat. ID konfigurasi menentukan parameter pengaturan waktu dan jenis keamanan yang harus digunakan untuk sesi pengukuran jarak UWB. |
| 9 | uint8 | Channel yang dipilih | Saluran yang dipilih untuk sesi pengukuran UWB |
| 10 | uint8 | Indeks pembukaan yang dipilih | Indeks pembukaan yang dipilih untuk sesi pengukuran jarak UWB |
| 11 | uint8*2 | Interval pengukuran jarak yang dipilih | Interval pengukuran jarak yang dipilih dalam milidetik. Nilai yang diizinkan (dalam ms):
|
| 13 | uint8 | Durasi slot yang dipilih | Durasi slot yang dipilih dalam milidetik. Nilai yang diizinkan (dalam ms):
|
| 14 | uint8 | Panjang kunci sesi | Panjang kunci sesi dalam byte |
| 15 | array byte | Kunci sesi | Kunci sesi. Jika S-STS digunakan, dua byte pertama adalah VENDOR ID dan enam byte berikutnya adalah STATIC STS IV. Jika P-STS digunakan, ini adalah kunci sesi 16 byte atau 32 byte. Jenis keamanan yang digunakan ditentukan oleh ID konfigurasi. |
| di waktu/bulan/tempat/tanggal tertentu | uint8*2 | Kode negara | Kode negara ISO 3166-1 alpha-2, yang ditampilkan oleh dua karakter ASCII |
| di waktu/bulan/tempat/tanggal tertentu | uint8 | Peran perangkat yang dipilih |
|
| di waktu/bulan/tempat/tanggal tertentu | uint8 | Mode perangkat yang dipilih |
|
Payload pesan Ranging Configuration BLE CS diringkas dalam
tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8 | ID teknologi pengukuran jarak | 0x1 - BLE CS |
| 1 | uint8 | Ukuran | Ukuran konfigurasi BLE CS (termasuk kolom Technology ID dan Size) dalam byte |
| 2 | uint8 | Jenis keamanan yang dipilih | Jenis keamanan yang dipilih. Nilai yang diizinkan:
|
| 3 | uint8*6 | Alamat perangkat | Alamat perangkat yang digunakan untuk CS BLE; dalam urutan big-endian |
Payload pesan RTT NAN Wi-Fi Ranging Configuration diringkas dalam
tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8 | ID teknologi pengukuran jarak | 0x2 - Wi-Fi NAN RTT |
| 1 | uint8 | Ukuran | Ukuran konfigurasi RTT NAN Wi-Fi (termasuk kolom Technology ID dan Size) dalam byte |
| 2 | uint8 | Panjang nama layanan | Panjang kolom Nama layanan dalam byte. Lihat Spesifikasi Wi-Fi Aware v4.0 bagian 1.3.3 Tabel 1. Definisi. |
| 3 | array byte | Nama layanan | Nama layanan. Lihat Spesifikasi Wi-Fi Aware v4.0 bagian 1.3.3 Tabel 1. Definisi. |
| di waktu/bulan/tempat/tanggal tertentu | uint8 | Peran perangkat |
|
| di waktu/bulan/tempat/tanggal tertentu | uint8 | Menggunakan pengukuran jarak berkala |
|
Payload pesan BLE RSSI Ranging Configuration diringkas dalam tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8 | ID teknologi pengukuran jarak | 0x3 - BLE RSSI |
| 1 | uint8 | Ukuran | Ukuran konfigurasi RSSI BLE (termasuk kolom Technology ID dan Size) dalam byte |
| 2 | uint8*6 | Alamat perangkat | Alamat perangkat yang digunakan untuk BLE RSSI; dalam urutan big-endian |
Payload pesan Respons Konfigurasi Pengukuran Jarak
Ukuran (ukuran header tidak disertakan): 2 byte
Deskripsi: Pesan ini dikirim oleh responden sebagai respons terhadap pesan
Ranging Configuration. Pesan ini bersifat opsional, hanya diperlukan
jika saluran komunikasi yang digunakan memerlukan respons eksplisit untuk setiap
permintaan.
Payload pesan Ranging Configuration Response diringkas dalam
tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8*2 | Bitfield konfigurasi teknologi pengukuran jarak berhasil ditetapkan | Bitfield teknologi pengukuran jarak yang berhasil ditetapkan. Bitfield menetapkan bit teknologi pengukuran jarak ke 1 jika teknologi diminta dan ditetapkan dengan berhasil, dan 0 jika tidak.
|
Payload pesan Stop Ranging
Ukuran (ukuran header tidak disertakan): 2 byte
Deskripsi: Pesan ini dikirim oleh perangkat pemrakarsa saat waktunya menghentikan pengukuran jarak dengan teknologi pengukuran jarak yang ditentukan.
Payload pesan Stop Ranging diringkas dalam tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8*2 | Teknologi pengukuran jarak untuk menghentikan bitfield | Bitfield teknologi pengukuran jarak yang harus menghentikan pengukuran jarak. Bit yang disetel ke 1 menunjukkan bahwa teknologi pengukuran jarak harus menghentikan pengukuran jarak, dan 0 menunjukkan bahwa teknologi pengukuran jarak tidak melakukan pengukuran jarak sejak awal, atau harus melanjutkan pengukuran jarak jika sudah melakukan pengukuran jarak. Untuk beberapa teknologi pengukuran jarak (seperti CS), ini adalah operasi no-op karena pengukuran jarak dimulai dan dihentikan hanya di sisi inisiator.
|
Payload pesan Stop Ranging Response
Ukuran (ukuran header tidak disertakan): 2 byte
Deskripsi: Pesan ini dikirim oleh responden sebagai respons terhadap pesan
Stop Ranging. Pesan ini bersifat opsional, hanya diperlukan jika saluran komunikasi yang digunakan memerlukan respons eksplisit untuk setiap permintaan.
Payload pesan Stop Ranging Response diringkas dalam tabel berikut:
| Octet | Jenis data | Deskripsi | Nilai |
|---|---|---|---|
| 0 | uint8*2 | Bitfield teknologi pengukuran jarak berhasil dihentikan | Bitfield teknologi pengukuran jarak yang berhasil menghentikan pengukuran jarak. Bitfield menetapkan bit teknologi pengukuran jarak ke 1 jika teknologi diminta untuk dihentikan dan jika berhasil dihentikan, dan 0 jika tidak.
|
Pembuatan Versi
Versi spesifikasi terdapat di header setiap pesan. Bagian ini menentukan cara komunikasi dilakukan saat salah satu perangkat (baik inisiator maupun responder) menggunakan versi yang lebih lama daripada perangkat lainnya.
Kasus 1: Saluran komunikasi berbasis koneksi
Bagian ini menjelaskan kasus yang menggunakan saluran komunikasi berbasis koneksi, dengan Ranging Capability Request adalah pesan pertama yang dikirim oleh perangkat inisiator.
Kasus 1.a: Inisiator mendukung versi spesifikasi yang lebih baru, responder mendukung versi spesifikasi yang lebih lama.
Perangkat inisiasi mengirim pesan Ranging Capability Request dengan
versi yang lebih baru. Perangkat yang merespons hanya mendukung versi yang lebih lama, sehingga merespons dengan versi tersebut, lalu versi yang lebih lama dari perangkat yang merespons digunakan untuk pertukaran pesan selanjutnya. Artinya, pesan Ranging Capability Request
harus kompatibel dengan versi sebelumnya.
Kasus 1.b: Pemrakarsa mendukung versi spesifikasi yang lebih lama, responden mendukung versi spesifikasi yang lebih baru.
Perangkat yang merespons melihat bahwa perangkat pemrakarsa tidak dapat menggunakan versi yang lebih baru, sehingga perangkat tersebut hanya mengirim pesan menggunakan versi lama yang awalnya diminta oleh perangkat pemrakarsa.
Kasus 2: Saluran komunikasi berbasis iklan
Bagian ini menjelaskan kasus yang menggunakan saluran komunikasi berbasis iklan, di mana perangkat responder mengiklankan Ranging Capability Request secara langsung, tanpa permintaan awal.
Kasus 2.a: Inisiator mendukung versi spesifikasi yang lebih baru, responder mendukung versi spesifikasi yang lebih lama.
Versi lama yang ditetapkan dalam iklan Ranging Capability Response digunakan
untuk komunikasi selanjutnya.
Kasus 2.b: Pemrakarsa mendukung versi spesifikasi yang lebih lama, responden mendukung versi spesifikasi yang lebih baru.
Iklan Ranging Capability Response versi yang lebih baru harus kompatibel mundur sehingga perangkat pemrakarsa dapat membaca pesan meskipun menggunakan versi yang lebih baru. Kemudian, perangkat pemrakarsa mengirim pesan Ranging
Configuration menggunakan versi lama yang didukungnya. Ini adalah versi yang digunakan untuk komunikasi selanjutnya.
Untuk memastikan Ranging Capability Response kompatibel dengan versi sebelumnya, setiap kolom baru yang ditambahkan ke versi spesifikasi berikutnya dalam payload pesan Ranging
Capability Response harus ditambahkan ke akhir payload, dan tidak ada kolom yang ada yang dapat diubah. Saat mengurai konfigurasi,
jika ukuran yang ditunjukkan lebih besar dari yang diharapkan, kolom tambahan harus diabaikan
oleh perangkat apa pun yang hanya dapat memahami versi spesifikasi yang lebih lama.
Fragmentasi
Spesifikasi ini tidak bergantung pada saluran komunikasi, sehingga tidak menentukan cara memecah payload pesan jika satu pesan terlalu besar untuk dimuat dalam paket transfer saluran komunikasi yang digunakan. Modul Ranging diharapkan menerima setiap pesan dalam bentuk lengkapnya. Tanggung jawab fragmentasi terletak pada penerapan saluran komunikasi OOB.
Spesifikasi teknologi pengukuran jarak
Bagian ini berisi detail khusus untuk teknologi pengukuran jarak.
Spesifikasi ultra-wideband (UWB)
Bagian ini menjelaskan detail khusus ultra-wideband.
ID Konfigurasi
Data konfigurasi OOB yang dipertukarkan untuk UWB tidak berisi kumpulan lengkap parameter yang dapat dikonfigurasi yang diperlukan UWB untuk memulai sesi pengukuran jarak UWB. Hal ini karena beberapa parameter dipilih secara implisit oleh ID konfigurasi yang dipilih.
Setiap ID konfigurasi adalah serangkaian parameter konfigurasi UWB yang telah ditentukan sebelumnya dan didokumentasikan di UwbRangingParams. Perangkat
responder mengirimkan daftar semua ID konfigurasi yang didukungnya sebagai bagian dari
pesan respons kemampuan, dan inisiator memilih salah satu ID konfigurasi yang didukung
yang digunakan. Hal ini memungkinkan pertukaran set parameter konfigurasi yang lebih kecil selama OOB. Hal ini juga membatasi jumlah kemungkinan kombinasi parameter yang dapat digunakan untuk pengukuran jarak dengan UWB, sehingga memungkinkan pengujian hanya pada kombinasi parameter yang diizinkan.
Meminta kemampuan setelah setiap sesi UWB
Setelah menghentikan sesi UWB yang ada dan sebelum memulai sesi UWB baru, perangkat inisiator harus meminta kemampuan perangkat responder dan menetapkan parameter konfigurasi lagi, karena alamat UWB dapat berubah segera setelah sesi pengukuran jarak saat ini berakhir.
Spesifikasi BLE channel sounding (CS)
Bagian ini menjelaskan detail spesifik channel sounding.
Koneksi yang diperlukan antar-perangkat
Bonding yang ada antara perangkat inisiator dan perangkat responder diperlukan agar pengukuran jarak menggunakan channel sounding dapat berfungsi. Spesifikasi ini tidak menyediakan cara untuk membuat koneksi antar-perangkat. Pengguna Ranging API harus membuat hubungan ini antara perangkat.
Tindakan yang diperlukan oleh pihak responden untuk CS
Di UWB, kedua perangkat harus memanggil API mulai dan berhenti mengukur jarak UWB secara eksplisit. Sebaliknya, untuk CS, hanya perangkat pemrakarsa yang diperlukan untuk memulai pengukuran CS dengan memanggil stack Bluetooth (BT). Inisialisasi lainnya di sisi responder terjadi dalam band melalui BT. Artinya, setelah menerima pesan Ranging Configuration atau pesan Stop Ranging untuk CS, sisi responder tidak perlu melakukan apa pun jika BT diaktifkan. Perangkat
responder dapat menggunakan pesan tersebut sebagai pemicu untuk memperbarui UI atau, misalnya, mengedipkan LED perangkat.