Informasi perangkat
Penyedia dapat memberi tahu Pencari tentang informasi perangkat melalui aliran pesan.
Nama Grup Pesan | Nilai |
---|---|
Peristiwa informasi perangkat | 0x03 |
Nama Kode Informasi Perangkat | Nilai |
---|---|
ID Model | 0x01 |
Alamat BLE diperbarui | 0x02 |
Baterai diperbarui | 0x03 |
Sisa waktu baterai | 0x04 |
Permintaan komponen aktif | 0x05 |
Respons komponen aktif | 0x06 |
(Tidak digunakan lagi)Kemampuan | 0x07 |
Jenis platform | 0x08 |
Versi firmware | 0x09 |
ID sementara FHN saat ini | 0x0B |
ID Model
Informasi ID Model (untuk
Menulis AccountKey secara Retroaktif) harus
dikirim ke Pencari saat RFCOMM terhubung. Misalnya, 0x03010003AABBCC
akan menjadi:
- 0x03: Peristiwa informasi perangkat
- 0x01: Nilai ID model
- 0x0003: Data tambahan, panjang 3
- 0xAABBCC: Data tambahan, ID model
Alamat BLE
Informasi alamat BLE (untuk
Menulis AccountKey secara Retroaktif) , jika
tersedia, juga harus dikirim ke Pencari saat RFCOMM terhubung dan setiap kali
alamat dirotasi. Misalnya, 0x03020006AABBCCDDEEFF
adalah:
- 0x03: Peristiwa informasi perangkat
- 0x02: Nilai alamat BLE
- 0x0006: Data tambahan, panjang 6
- 0xAABBCCDDEEFF: Data tambahan, alamat BLE
Baterai diperbarui
Untuk Penyedia yang mendukung notifikasi baterai,
informasi baterai juga dapat dikirim melalui RFCOMM. Saat RFCOMM terhubung atau
nilai baterai berubah, update harus dikirim. Bagian data tambahan
paket harus berisi data yang identik dengan byte s + 2, s + 3, s + 4 saat
mengumumkan data baterai melalui BLE. Misalnya,0x0303000357417F
adalah:
- 0x03: Peristiwa informasi perangkat
- 0x03: Nilai baterai
- 0x0003: Data tambahan, panjang 3
- 0x57417F: Data tambahan, nilai baterai
- 0x57: Nilai bud kiri, tidak mengisi daya, baterai 87%
- 0x41: Nilai bud kanan, tidak mengisi daya, baterai 65%
- 0x7F: Nilai kasus, tidak mengisi daya, baterai tidak diketahui
Penyedia juga dapat memperbarui waktu baterai yang tersisa (jika diketahui). Misalnya,
0x03040001F0
akan menjadi:
- 0x03: Peristiwa informasi perangkat
- 0x04: Waktu baterai tersisa
- 0x0001: Data tambahan, panjang 1 (bisa 2 untuk uint16 jika diperlukan.)
- 0xF0: Data tambahan, sisa waktu baterai dalam menit, 240 menit
Komponen aktif
Pencari terkadang ingin mengetahui komponen mana yang saat ini aktif, yang berarti tindakan dapat dilakukan pada komponen tersebut (lihat Tindakan perangkat). Saat Penyedia menerima permintaan yang berisi kode permintaan komponen aktif (0x05), respons harus ditampilkan dalam waktu 1 detik yang menunjukkan status Penyedia saat ini. Respons akan menggunakan kode respons komponen aktif (0x06) dan berisi data tambahan yang menunjukkan komponen mana yang tersedia.
Untuk Penyedia dengan satu komponen, data tambahan harus disetel ke 0x00 jika tidak tersedia. Contohnya adalah mode daya rendah saat pemutaran media tidak akan dilakukan. Jika tidak, data tambahan harus ditetapkan ke 0x01.
Untuk headset dengan beberapa komponen (misalnya, earbud kiri dan kanan), setiap bit dalam data tambahan menunjukkan apakah komponen tersebut aktif. Contoh komponen tidak aktif mungkin adalah bud yang berada dalam casing dan tidak digunakan. Khusus untuk casing bud kiri dan kanan:
- 0x00 (0b00000000): Tidak ada bud yang aktif
- 0x01 (0b00000001): Earbud kanan aktif, kiri tidak aktif
- 0x02 (0b00000010): Bud kiri aktif, kanan tidak aktif
- 0x03 (0b00000011): Kedua bud aktif
Jenis Platform
Penyedia mungkin ingin berperforma secara berbeda berdasarkan platform yang terhubung. Sambungan Cepat saat ini hanya dilakukan melalui Android, tetapi dukungan dapat diperluas di masa mendatang.
Pesan akan berisi byte pertama yang mengidentifikasi jenis platform dalam data tambahan:
Nama Platform | Nilai |
---|---|
Android | 0x01 |
Byte kedua akan disesuaikan per platform. Di Android, kode ini akan merujuk ke versi SDK. Misalnya, Android Pie akan memiliki nilai 28 (0x1C).
Versi firmware
Versi firmware penyedia sebagai string dalam encoding utf-8. Ini adalah informasi yang sama seperti di Karakteristik revisi firmware.
ID Ephemeral FHN Saat Ini
Penyedia yang mengiklankan frame FHN harus melaporkan ID Ephemeral FHN (EID) saat ini dengan nilai clock saat ini untuk disinkronkan dengan Pencari jika terjadi drift clock (misalnya, karena baterai habis).
Contoh:
- 0x03: Peristiwa informasi perangkat
- 0x0B: Pesan ID sementara FHN saat ini
- 0x0018: Data tambahan, panjang 24 atau 36 byte
- 0x13F9EA80: Data tambahan (nilai clock; 4 byte)
- 0x1122334455667788990011223344556677889900: Data tambahan (EID saat ini; 20 atau 32 byte)