Informazioni del dispositivo
I fornitori possono comunicare a un richiedente informazioni sul dispositivo tramite lo stream di messaggi.
| Nome gruppo di messaggi | Valore |
|---|---|
| Evento informazioni del dispositivo | 0x03 |
| Nome codice informazioni del dispositivo | Valore |
|---|---|
| ID modello | 0x01 |
| Indirizzo BLE aggiornato | 0x02 |
| Batteria aggiornata | 0x03 |
| Tempo di batteria rimanente | 0x04 |
| Richiesta componenti attivi | 0x05 |
| Risposta componenti attivi | 0x06 |
| (Obsoleto) Funzionalità | 0x07 |
| Tipo di piattaforma | 0x08 |
| Versione firmware | 0x09 |
| Identificatore effimero FHN attuale | 0x0B |
ID modello
Le informazioni sull'ID modello (per
la scrittura retroattiva di AccountKey) devono essere
inviate al richiedente quando lo stream di messaggi si connette. Ad esempio, 0x03010003AABBCC sarebbe:
- 0x03: evento 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 il
fornitore può ottenerle, devono essere inviate al richiedente quando lo stream di messaggi
si connette e ogni volta che l'indirizzo viene ruotato. Ad esempio, 0x03020006AABBCCDDEEFF sarebbe:
- 0x03: evento 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 della batteria, le
informazioni sulla batteria possono essere inviate anche tramite lo stream di messaggi. Quando lo stream di messaggi 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 si pubblicizzano 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 fornitori possono anche aggiornare il tempo di batteria rimanente (se noto). Ad esempio, 0x03040001F0 sarebbe:
- 0x03: evento informazioni del dispositivo
- 0x04: tempo di batteria rimanente
- 0x0001: dati aggiuntivi, lunghezza 1 (potrebbe essere 2 per uint16, se necessario)
- 0xF0: dati aggiuntivi, tempo di batteria rimanente in minuti, 240 minuti
Componenti attivi
A volte i richiedenti potrebbero voler sapere quali componenti sono attualmente attivi, il che significa che è possibile intraprendere un'azione su di essi (vedi Azioni del dispositivo). Quando il fornitore riceve una richiesta contenente il codice richiesta componenti attivi (0x05), deve essere restituita una risposta entro 1 secondo che indichi lo stato attuale 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 la riproduzione dei contenuti multimediali non verrà eseguita. In caso contrario, i dati aggiuntivi devono essere impostati su 0x01.
Per le cuffie 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 custodia e non in uso. Nello specifico per la custodia dell'auricolare 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 comportarsi in modo diverso in base alla piattaforma a cui sono connessi. Al momento, l'accoppiamento rapido viene eseguito solo tramite Android, ma il supporto potrebbe essere ampliato 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 per 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 fornitore come stringa con codifica UTF-8. Si tratta delle stesse informazioni della caratteristica Revisione firmware.
Identificatore effimero FHN attuale
I fornitori che pubblicizzano i frame FHN devono segnalare l'identificatore effimero FHN (EID) attuale con il valore dell'orologio attuale per la sincronizzazione con il richiedente in caso di deriva dell'orologio (ad esempio, a causa della batteria scarica).
Ad esempio:
- 0x03: evento informazioni del dispositivo
- 0x0B: messaggio identificatore effimero FHN attuale
- 0x0018: dati aggiuntivi, lunghezza 24 o 36 byte
- 0x13F9EA80: dati aggiuntivi (valore dell'orologio; 4 byte)
- 0x1122334455667788990011223344556677889900: dati aggiuntivi (EID attuale; 20 o 32 byte)