Informazioni del dispositivo

I provider possono inviare una notifica a una persona che cerca informazioni sul dispositivo tramite il stream di messaggi.

Nome gruppo di messaggi Valore
Evento informazioni del dispositivo 0x03
Nome codice informazioni dispositivo Valore
ID modello 0x01
Indirizzo BLE aggiornato 0x02
Batteria aggiornata 0x03
Durata della batteria rimanente 0x04
Richiesta di componenti attivi 0x05
Risposta dei componenti attivi 0x06
Funzionalità (deprecate) 0x07
Tipo di piattaforma 0x08
Versione firmware 0x09
Identificatore temporaneo FMDN attuale 0 x 0 MLD

ID modello

Le informazioni sull'ID modello (per Scrittura retroattiva AccountKey) devono essere inviate al richiedente quando RFCOMM si connette. Ad esempio, 0x03010003AABBCC sarà:

  • 0x03: Evento informazioni del dispositivo
  • 0x01: valore dell'ID modello
  • 0x0003: dati aggiuntivi, lunghezza 3
  • 0xAABBCC: dati aggiuntivi, ID modello

Indirizzo BLE

Le informazioni sull'indirizzo BLE (per la chiave di account con scrittura retroattiva) , se disponibili, devono essere inviate al richiedente anche quando RFCOMM si connette e ogni volta che l'indirizzo viene ruotato. Ad esempio, 0x03020006AABBCCDDEEFF sarebbe:

  • 0x03: Evento informazioni del dispositivo
  • 0x02: valore indirizzo BLE
  • 0x0006: dati aggiuntivi, lunghezza 6
  • 0xAABBCCDDEEFF: dati aggiuntivi, indirizzo BLE

Batteria aggiornata

Per i fornitori che supportano le notifiche sulla batteria, le informazioni sulla batteria possono essere inviate anche tramite RFCOMM. Quando RFCOMM si connette o il valore della batteria cambia, deve essere inviato un aggiornamento. La sezione dei dati aggiuntivi del pacchetto deve contenere dati identici ai byte S + 2, S + 3, S + 4 quando vengono pubblicizzati i dati della batteria tramite BLE. Ad esempio,0x0303000357417F sarebbe:

  • 0x03: Evento informazioni del dispositivo
  • 0x03: valore della batteria
  • 0x0003: dati aggiuntivi, lunghezza 3
  • 0x57417F: dati aggiuntivi, valori della batteria
    • 0x57: valore dell'auricolare sinistro, non in carica, batteria all'87%
    • 0x41: valore dell'auricolare destro, non in carica, batteria al 65%
    • 0x7F: valore della custodia, non in carica, batteria sconosciuta

I provider possono anche aggiornare il tempo rimanente della batteria (se noto), ad esempio, 0x03040001F0 sarebbe:

  • 0x03: Evento informazioni del dispositivo
  • 0x04: durata della batteria rimanente
  • 0x0001: Dati aggiuntivi, lunghezza 1 (potrebbe essere 2 per uint16 se necessario).
  • 0xF0: dati aggiuntivi, durata rimanente della batteria in minuti, 240 minuti

Componenti attivi

A volte gli utenti desiderano sapere quali componenti sono attualmente attivi, ovvero è possibile eseguire un'azione su di essi (vedi Azioni del dispositivo). Quando il provider riceve una richiesta contenente il codice della richiesta di componenti attivi (0x05), deve essere restituita una risposta entro un secondo con l'indicazione dello stato attuale del provider. La risposta utilizzerà il codice di risposta dei componenti attivi (0x06) e conterrà dati aggiuntivi che indicano i componenti disponibili.

Per un provider con un singolo componente, i dati aggiuntivi devono essere impostati su 0x00 se non sono disponibili. Un esempio potrebbe essere una modalità a basso consumo in cui non viene eseguita la riproduzione di contenuti multimediali. In caso contrario, i dati aggiuntivi devono essere impostati su 0x01.

Per le cuffie con più componenti (ad esempio, un auricolare destro e uno sinistro), ciascun bit nei dati aggiuntivi indica se quel componente è attivo. Un esempio di componente non attivo potrebbe essere un auricolare presente all'interno della custodia e non in uso. In particolare per la custodia degli auricolari sinistro e destro:

  • 0x00 (0b00000000): Nessun auricolare attivo
  • 0x01 (0b00000001): Auricolare destro attivo, sinistro inattivo
  • 0x02 (0b00000010): Auricolare sinistro attivo, destro inattivo
  • 0x03 (0b00000011): entrambi gli auricolari attivi

Tipo di piattaforma

I provider potrebbero voler operare in modo diverso a seconda della piattaforma a cui sono connessi. Al momento l'accoppiamento rapido viene eseguito solo tramite Android, ma il supporto potrebbe essere esteso in futuro.

Il messaggio conterrà un primo byte che identifica il tipo di piattaforma nei dati aggiuntivi:

Nome piattaforma Valore
Android 0x01

Il secondo byte verrà personalizzato in base alla piattaforma. In Android, farà riferimento alla versione dell'SDK. Ad esempio, Android Pie avrà un valore di 28 (0x1C).

Versione firmware

La versione del firmware del provider come stringa con codifica utf-8. Sono le stesse informazioni della caratteristica di revisione del firmware.

Identificatore temporaneo FMDN attuale

I fornitori che pubblicizzano frame FMDN devono indicare l'identificatore temporaneo FMDN Ephemeral Identifier (EID) corrente con il valore dell'orologio corrente da sincronizzare con il Seeker in caso di deviazione dell'orologio (ad esempio, a causa della batteria scarica).

Ad esempio:

  • 0x03: Evento informazioni del dispositivo
  • 0x0B: messaggio di identificatore temporaneo FMDN attuale
  • 0x0018: dati aggiuntivi, lunghezza 24 o 36 byte
  • 0x13F9EA80: Dati aggiuntivi (valore orologio; 4 byte)
  • 0x1122334455667788990011223344556677889900: dati aggiuntivi (EID attuale; 20 o 32 byte)