Informazioni del dispositivo

I fornitori possono notificare a un richiedente informazioni sul dispositivo tramite il flusso di messaggi.

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

ID modello

Le informazioni sull'ID modello (per Retroactively Writing AccountKey) devono essere inviate al richiedente quando viene stabilita la connessione a Message Stream. Ad esempio, 0x03010003AABBCC sarebbe:

  • 0x03: Evento informazioni 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 richiedente quando Message Stream si connette e ogni volta che l'indirizzo viene ruotato. Ad esempio, 0x03020006AABBCCDDEEFF sarebbe:

  • 0x03: Evento informazioni 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 Message Stream. Quando Message Stream si connette o il valore della batteria cambia, deve essere inviato un aggiornamento. La sezione 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 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 dispositivo
  • 0x04: Tempo di batteria rimanente
  • 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 su quali è possibile intervenire (vedi Azioni del dispositivo). Quando il fornitore riceve una richiesta contenente il codice active components request (0x05), deve restituire una risposta entro 1 secondo che indichi lo stato attuale del fornitore. La risposta utilizzerà il codice risposta dei 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 multimediale 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 l'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 collegati. 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 della piattaforma Valore
Android 0x01

Il secondo byte verrà personalizzato in base alla piattaforma. In Android, si riferirà 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 contenute nella caratteristica Revisione firmware.

Identificatore effimero FHN attuale

I fornitori che pubblicizzano i frame FHN devono segnalare l'identificatore effimero (EID) FHN attuale con il valore dell'orologio attuale per la sincronizzazione con il Seeker in caso di deriva dell'orologio (ad esempio, a causa della batteria scarica).

Ad esempio:

  • 0x03: Evento informazioni dispositivo
  • 0x0B: Messaggio identificatore effimero FHN corrente
  • 0x0018: Dati aggiuntivi, lunghezza 24 o 36 byte
  • 0x13F9EA80: Dati aggiuntivi (valore dell'orologio; 4 byte)
  • 0x1122334455667788990011223344556677889900: Additional data (current EID; 20 or 32 bytes)