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)