Informazioni del dispositivo

I fornitori possono inviare una notifica a un cercatore sulle informazioni del dispositivo tramite lo stream di messaggi.

Nome gruppo di messaggi Valore
Evento relativo alle informazioni del dispositivo 0x03
Nome del codice informazioni del dispositivo Valore
ID modello 0x01
Indirizzo BLE aggiornato 0x02
Batteria aggiornata 0x03
Tempo di utilizzo rimanente della batteria 0x04
Richiesta di componenti attivi 0x05
Risposta dei componenti attivi 0x06
(Ritiro) Funzionalità 0x07
Tipo di piattaforma 0x08
Versione firmware 0x09
Identificatore temporaneo FHN attuale 0x0B

ID modello

Le informazioni sull'ID modello (per la scrittura retroattiva di AccountKey) devono essere inviate al cercatore quando si connette RFCOMM. Ad esempio, 0x03010003AABBCC è:

  • 0x03: evento relativo alle informazioni del dispositivo
  • 0x01: valore ID modello
  • 0x0003: dati aggiuntivi, lunghezza 3
  • 0xAABBCC: dati aggiuntivi, ID modello

Indirizzo BLE

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

  • 0x03: evento relativo alle informazioni del dispositivo
  • 0x02: valore dell'indirizzo BLE
  • 0x0006: dati aggiuntivi, lunghezza 6
  • 0xAABBCCDDEEFF: dati aggiuntivi, indirizzo BLE

Batteria aggiornata

Per i fornitori che supportano le notifiche relative alla 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 di 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 sarà:

  • 0x03: evento relativo alle informazioni del dispositivo
  • 0x03: valore della batteria
  • 0x0003: dati aggiuntivi, lunghezza 3
  • 0x57417F: dati aggiuntivi, valori 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 fornitori possono anche aggiornare il tempo rimanente della batteria (se noto). Ad esempio, 0x03040001F0 sarebbe:

  • 0x03: evento relativo alle informazioni del dispositivo
  • 0x04: tempo di utilizzo rimanente della batteria
  • 0x0001: dati aggiuntivi, lunghezza 1 (potrebbe essere 2 per uint16, se necessario).
  • 0xF0: dati aggiuntivi, tempo rimanente della batteria in minuti, 240 minuti

Componenti attivi

A volte gli utenti potrebbero voler sapere quali componenti sono attualmente attivi, ovvero se è possibile eseguire un'azione su di essi (vedi Azioni del dispositivo). Quando il fornitore riceve una richiesta contenente il codice richiesta dei componenti attivi (0x05), deve essere restituita una risposta entro 1 secondo che indichi lo stato corrente del fornitore. La risposta utilizzerà il codice risposta componenti attivi (0x06) e conterrà dati aggiuntivi che indicano quali componenti sono disponibili.

Per un fornitore 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 dei contenuti multimediali. In caso contrario, i dati aggiuntivi devono essere impostati su 0x01.

Per gli auricolari con più componenti (ad esempio, un auricolare sinistro e uno destro), ogni bit nei dati aggiuntivi indica se il componente è attivo. Un esempio di componente inattivo potrebbe essere un auricolare nella cover e non in uso. Nello specifico, 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 fornitori potrebbero voler eseguire operazioni diverse in base alla piattaforma a cui sono collegati. 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 pari a 28 (0x1C).

Versione firmware

La versione del firmware del provider sotto forma di stringa con codifica UTF-8. Si tratta delle stesse informazioni della caratteristica Revisione firmware.

Identificatore effimero FHN attuale

I fornitori che pubblicizzano frame FHN devono segnalare l'attuale identificativo temporaneo (EID) FHN con il valore corrente dell'orologio per sincronizzarsi con il cercatore in caso di scostamento dell'orologio (ad esempio a causa di una batteria scarica).

Ad esempio:

  • 0x03: evento relativo alle informazioni del dispositivo
  • 0x0B: messaggio corrente dell'identificatore effimero FHN
  • 0x0018: dati aggiuntivi, lunghezza 24 o 36 byte
  • 0x13F9EA80: dati aggiuntivi (valore dell'orologio; 4 byte)
  • 0x1122334455667788990011223344556677889900: dati aggiuntivi (EID corrente; 20 o 32 byte)