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)