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 patform | 0x08 |
| Versi firmware | 0x09 |
| ID sementara FHN saat ini | 0x0B |
ID Model
Informasi ID model (untuk
Retroactively Writing AccountKey) harus
dikirim ke Seeker saat Message Stream terhubung. Misalnya, 0x03010003AABBCC
adalah:
- 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 Seeker saat Message Stream terhubung dan
setiap kali alamat diubah. 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 Aliran Pesan. Saat Message Stream 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 mengiklankan 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 earbud kanan, tidak mengisi daya, baterai 65%
- 0x7F: Nilai casing, tidak mengisi daya, baterai tidak diketahui
Penyedia juga dapat memperbarui sisa waktu baterai (jika diketahui). Misalnya,
0x03040001F0 akan menjadi:
- 0x03: Peristiwa informasi perangkat
- 0x04: Waktu baterai yang 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 sedang aktif, yang berarti bahwa tindakan dapat dilakukan pada komponen tersebut (lihat Tindakan perangkat). Saat Penyedia menerima permintaan yang berisi kode permintaan komponen aktif (0x05), respons harus dikembalikan 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 hemat daya saat pemutaran media tidak akan dilakukan. Jika tidak, data tambahan harus disetel ke 0x01.
Untuk headset dengan beberapa komponen (misalnya, earbud kiri dan kanan), setiap bit dalam data tambahan menunjukkan apakah komponen tersebut aktif. Contoh komponen yang tidak aktif adalah earbud yang berada di dalam casing dan tidak digunakan. Khusus untuk casing bud kiri dan kanan:
- 0x00 (0b00000000): Tidak ada earbud yang aktif
- 0x01 (0b00000001): Earbud kanan aktif, kiri tidak aktif
- 0x02 (0b00000010): Earbud kiri aktif, kanan tidak aktif
- 0x03 (0b00000011): Kedua earbud aktif
Jenis Platform
Penyedia mungkin ingin berperilaku berbeda berdasarkan platform yang terhubung dengan mereka. Saat ini, Sambungan Cepat hanya dilakukan melalui Android, tetapi dukungan dapat diperluas pada 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, 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. Informasi ini sama dengan yang ada di Karakteristik revisi firmware.
ID Sementara FHN Saat Ini
Penyedia yang mengiklankan frame FHN harus melaporkan ID Sementara FHN (EID) saat ini dengan nilai clock saat ini untuk disinkronkan dengan Seeker jika terjadi perbedaan waktu (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)